diff --git a/.travis.yml b/.travis.yml index 4d9c410fa6c6..ef3625f33d6b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: node_js node_js: - '10' +cache: npm services: - docker env: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1730048a9262..67452aab2c97 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -55,6 +55,18 @@ jobs: - script: 'node scripts/modelValidation.js' displayName: 'Model Validation' +- job: "Avocado" + pool: + vmImage: 'Ubuntu 16.04' + continueOnError: true + steps: + - task: Npm@1 + displayName: 'npm install' + inputs: + verbose: false + - script: './node_modules/.bin/ts-node scripts/avocado.ts' + displayName: 'Avocado' + - job: "BreakingChange" condition: "not(variables['PRIVATE'])" pool: diff --git a/package.json b/package.json index 19a790c8a060..77cbe4b1efa1 100644 --- a/package.json +++ b/package.json @@ -10,24 +10,25 @@ "description": "Tests for Azure REST API Specifications", "license": "MIT", "devDependencies": { + "@azure/avocado": "^0.2.0", + "@azure/oad": "^0.2.1", "@microsoft.azure/async-io": "^1.0.21", "@microsoft.azure/literate": "^1.0.21", "@microsoft.azure/polyfill": "^1.0.17", "@ts-common/commonmark-to-markdown": "^1.1.10", - "@ts-common/fs": "0.1.0", + "@ts-common/fs": "0.1.1", "@types/js-yaml": "^3.12.0", "fs-extra": "^3.0.1", "glob": "^5.0.14", - "js-yaml": "^3.12.2", + "js-yaml": "^3.13.0", "json-schema-ref-parser": "^3.1.2", "mocha": "*", - "@azure/oad": "^0.2.1", - "oav": "^0.14.5", + "oav": "^0.14.8", "request": "^2.61.0", "request-promise-native": "^1.0.5", + "ts-node": "^8.0.3", "typescript": "^3.2.4", - "z-schema": "^3.25.1", - "ts-node": "^8.0.3" + "z-schema": "^3.25.1" }, "dependencies": { "@octokit/rest": "^15.2.6" diff --git a/scripts/avocado.ts b/scripts/avocado.ts new file mode 100644 index 000000000000..f0664c71dfb0 --- /dev/null +++ b/scripts/avocado.ts @@ -0,0 +1,44 @@ +const utils = require('../test/util/utils') +import * as path from "path" +import * as avocado from "@azure/avocado" +import * as openApiMarkDown from "@azure/openapi-markdown" +import * as yaml from "js-yaml" + +async function main() { + const swaggersToProcess = utils.getFilesChangedInPR(); + let errorNumbers = 0 + const set = new Set() + for (const swagger of swaggersToProcess) { + const rm = await openApiMarkDown.findReadMe(path.dirname(swagger)) + if (rm === undefined) { + console.error(`No readme.md for ${swagger}`) + ++errorNumbers + } else { + const dir = path.dirname(rm) + if (dir.includes("specification")) { + set.add(dir) + } else { + console.error(`No readme.md for ${swagger}`) + ++errorNumbers + } + } + } + for (const swagger of set) { + try { + console.log(swagger) + const errors = avocado.avocado(swagger) + for await (const e of errors) { + console.error(yaml.safeDump(e)) + ++errorNumbers + } + } catch (e) { + console.error("fatal error:") + console.error(e) + ++errorNumbers + } + } + console.log(`errors: ${errorNumbers}`) + return errorNumbers === 0 ? 0 : 1 +} + +main().then(process.exit) \ No newline at end of file diff --git a/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json index 41527760bf48..02abe18a82ea 100644 --- a/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json +++ b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json @@ -3276,7 +3276,7 @@ "description": "The name of the service.", "required": true, "type": "string" - }, + }, { "$ref": "#/parameters/apiVersionParameter" } @@ -3311,7 +3311,7 @@ "description": "The name of the service.", "required": true, "type": "string" - }, + }, { "$ref": "#/parameters/apiVersionParameter" } @@ -3328,6 +3328,55 @@ "nextLinkName": null } } + }, + "/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}": + { + "get": { + "tags": ["Metrics"], + "description": "Gets the list of connectors and run profile names.", + "x-ms-examples": { + "serviceMembers_getConnectorMetadata": { + "$ref": "./examples/ConnectorMetadata.json" + } + }, + "operationId": "serviceMembers_getConnectorMetadata", + "parameters": [ + { + "name": "serviceName", + "in": "path", + "description": "The name of the service.", + "required": true, + "type": "string" + }, + { + "name": "serviceMemberId", + "in": "path", + "description": "The service member id.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "metricName", + "in": "path", + "description": "The name of the metric.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": + "Gets the list of connectors and run profile names for the given service and service member.", + "schema": { + "$ref": "#/definitions/ConnectorMetadata" + } + } + } + } } }, "definitions": { @@ -4237,6 +4286,40 @@ } } }, + "ConnectorMetadata": { + "description": "Gets the list of connectors and run profile names.", + "type": "object", + "properties": { + "connectors": { + "description": "The list of connectors.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectorMetadataDetails" + } + }, + "runProfileNames": { + "description": "The list of run profile names.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ConnectorMetadataDetails": { + "description": "Details of the connector.", + "type": "object", + "properties": { + "connectorId": { + "description": "The Connector Id.", + "type": "string" + }, + "connectorDisplayName": { + "description": "The Connector Display Name", + "type": "string" + } + } + }, "ConnectorObjectError": { "description": "The connector object error.", "type": "object", @@ -6458,29 +6541,29 @@ } } }, - "parameters": { - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "The version of the API to be used with the client request.", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow.", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account" + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The version of the API to be used with the client request.", + "required": true, + "type": "string" } - } - }, - "security": [ - { - "azure_auth": [ "user_impersonation" ] - } - ] -} + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ "user_impersonation" ] + } + ] + } diff --git a/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/examples/ConnectorMetadata.json b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/examples/ConnectorMetadata.json new file mode 100644 index 000000000000..6fb9cea020b2 --- /dev/null +++ b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/examples/ConnectorMetadata.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "sampleServiceName", + "serviceMemberId": "SampleServiceMemberId", + "api-version": "2014-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "connectors": [ + { + "connectorId": "3efbb72d-5047-4816-a7dd-73fefe16a2f3", + "connectorDisplayName": "adhsdfus1runner.adhs.com" + }, + { + "connectorId": "b891884f-051e-4a83-95af-2544101c9083", + "connectorDisplayName": "dfadhybridhealth.dfdomain.net - AAD" + } + ], + "runProfileNames": [ + "Export", + "ApplyRules", + "DeltaImport" + ] + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_ChangeState.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_ChangeState.json index fdcdb0b21e95..89518ac272c3 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_ChangeState.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_ChangeState.json @@ -32,12 +32,12 @@ "monitorConditionResolvedDateTime": "2018-09-13T15:51:02Z" }, "egressConfig": {}, - "context": {} + "context": {} }, "id":"/subscriptions/9e261de7-c804-4b9d-9ebf-6f50fe350a9a/providers/Microsoft.AlertsManagement/alerts/66114d64-d9d9-478b-95c9-b789d6502100", "type":"Microsoft.AlertsManagement/alerts", "name":"cpu alert" } - } + } } } diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md index f047529f7976..788920676f48 100644 --- a/specification/azure-kusto/resource-manager/readme.md +++ b/specification/azure-kusto/resource-manager/readme.md @@ -29,6 +29,14 @@ title: KustoManagementClient description: The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases. openapi-type: arm tag: package-2019-01-21 + +directive: + - where: + - $.definitions.DataConnection.required + suppress: + - R2016 + reason: + - Implements kind which is required also in patch ``` ### Tag: package-2019-01-21 diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.md deleted file mode 100644 index 6a860537fb1d..000000000000 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.md +++ /dev/null @@ -1,78 +0,0 @@ -# Cognitive Services Anomaly Finder SDK - -> see https://aka.ms/autorest - -Configuration for generating Anomaly Finder SDK. - -The current release is `release_2_0`. - -``` yaml - -tag: release_2_0 -add-credentials: true -openapi-type: data-plane -``` - -# Releases - -### Release 2.0 -These settings apply only when `--tag=release_2_0` is specified on the command line. - -``` yaml $(tag) == 'release_2_0' -input-file: stable/v2.0/AnomalyFinder.json -``` - -## Swagger to SDK - -This section describes what SDK should be generated by the automatic system. -This is not used by Autorest itself. - -``` yaml $(swagger-to-sdk) -swagger-to-sdk: - - repo: azure-sdk-for-python - - repo: azure-sdk-for-java - - repo: azure-sdk-for-go - - repo: azure-sdk-for-js - - repo: azure-sdk-for-node - - repo: azure-sdk-for-ruby - after_scripts: - - bundle install && rake arm:regen_all_profiles['azure_cognitiveservices_anomalyfinder'] -``` - -## CSharp Settings - -These settings apply only when `--csharp` is specified on the command line. - -``` yaml $(csharp) -csharp: - sync-methods: None - license-header: MICROSOFT_MIT_NO_VERSION - azure-arm: false - namespace: Microsoft.Azure.CognitiveServices.AnomalyFinder - output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/AnomalyFinder/AnomalyFinder/Generated - clear-output-folder: true -``` - -## Python - -See configuration in [readme.python.md](./readme.python.md) - -## Go - -See configuration in [readme.go.md](./readme.go.md) - -## Java - -These settings apply only when `--java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. - -``` yaml $(java) -java: - azure-arm: true - namespace: com.microsoft.azure.cognitiveservices.anomalyfinder - license-header: MICROSOFT_MIT_NO_CODEGEN - payload-flattening-threshold: 1 - output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/anomalyfinder - with-optional-parameters: true - with-single-async-method: true -``` diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.ruby.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.ruby.md deleted file mode 100644 index 6e0beb180fb3..000000000000 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.ruby.md +++ /dev/null @@ -1,27 +0,0 @@ -## Ruby - -These settings apply only when `--ruby` is specified on the command line. - -``` yaml -package-name: azure_cognitiveservices_anomalyfinder -package-version: "0.16.0" -azure-arm: true -``` - -### Ruby multi-api - -``` yaml $(ruby) && $(multiapi) -batch: - - tag: release_2_0 -``` - -### Tag: release_2_0 and ruby - -These settings apply only when `--tag=release_2_0 --ruby` is specified on the command line. -Please also specify `--ruby-sdks-folder=`. - -``` yaml $(tag) == 'release_2_0' && $(ruby) -namespace: "Azure::CognitiveServices::AnomalyFinder::V2_0" -output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_anomalyfinder/lib -title: "AnomalyFinderClient" -``` diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/AnomalyFinder.json b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/AnomalyFinder.json deleted file mode 100644 index 66128cd74078..000000000000 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/AnomalyFinder.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2.0", - "title": "Anomaly Finder Client", - "description": "The Anomaly Finder API detects anomalies automatically in time series data. It supports two functionalities, one is for detecting the whole series with model trained by the timeseries, another is detecting last point with model trained by points before. By using this service, business customers can discover incidents and establish a logic flow for root cause analysis." - }, - "securityDefinitions": { - "apiKeyHeader": { - "type": "apiKey", - "name": "Ocp-Apim-Subscription-Key", - "in": "header" - } - }, - "security": [ - { - "apiKeyHeader": [] - } - ], - "x-ms-parameterized-host": { - "hostTemplate": "{Endpoint}/anomalyfinder/v2.0", - "useSchemePrefix": false, - "parameters": [ - { - "$ref": "#/parameters/Endpoint" - } - ] - }, - "paths": { - "/timeseries/entire/detect": { - "post": { - "summary": "Find anomalies for the entire series in batch.", - "description": "The operation will generate a model using the entire series, each point will be detected with the same model. In this method, points before and after a certain point will be used to determine whether it's an anomaly. The entire detection can give user an overall status of the time series.", - "operationId": "EntireDetect", - "parameters": [ - { - "name": "body", - "in": "body", - "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.", - "required": true, - "schema": { - "$ref": "#/definitions/Request" - } - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Successful operation.", - "schema": { - "$ref": "#/definitions/EntireDetectResponse" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "#/definitions/APIError" - } - } - }, - "x-ms-examples": { - "Find anomalies for the entire series in batch example": { - "$ref": "./examples/EntireDetect.json" - } - } - } - }, - "/timeseries/last/detect": { - "post": { - "summary": "Detect anomaly status of the latest point in time series.", - "description": "The operation will generate a model using points before the latest one, In this method, only history points are used for determine whether the target point is an anomaly. Latest point detecting matches the scenario of real-time monitoring of business metrics.", - "operationId": "LastDetect", - "parameters": [ - { - "name": "body", - "in": "body", - "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.", - "required": true, - "schema": { - "$ref": "#/definitions/Request" - } - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Successful operation.", - "schema": { - "$ref": "#/definitions/LastDetectResponse" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "#/definitions/APIError" - } - } - }, - "x-ms-examples": { - "Detect anomaly status of the latest point in time series example": { - "$ref": "./examples/LastDetect.json" - } - } - } - } - }, - "definitions": { - "APIError": { - "type": "object", - "description": "Error information returned by the API.", - "properties": { - "code": { - "description": "The error code.", - "enum": [ - "InvalidCustomInterval", - "BadArgument", - "InvalidGranularity", - "InvalidPeriod", - "InvalidModelArgument", - "InvalidSeries" - ], - "x-ms-enum": { - "name": "AnomalyFinderErrorCodes", - "modelAsString": true - } - }, - "message": { - "description": "A message explaining the error reported by the service.", - "type": "string" - } - } - }, - "Request": { - "type": "object", - "required": [ - "granularity", - "series" - ], - "properties": { - "series": { - "type": "array", - "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned.", - "items": { - "$ref": "#/definitions/Point" - } - }, - "granularity": { - "type": "string", - "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid.", - "x-ms-enum": { - "name": "Granularity", - "modelAsString": false - }, - "enum": [ - "yearly", - "monthly", - "weekly", - "daily", - "hourly", - "minutely" - ] - }, - "customInterval": { - "type": "integer", - "format": "int32", - "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}." - }, - "period": { - "type": "integer", - "format": "int32", - "description": "Optional argument, periodic value of a time series. If the value is null or does not present, the API will determine the period automatically." - }, - "maxAnomalyRatio": { - "type": "number", - "format": "float", - "description": "Optional argument, advanced model parameter, max anomaly ratio in a time series." - }, - "sensitivity": { - "type": "integer", - "format": "int32", - "description": "Optional argument, advanced model parameter, between 0-99, the lower the value is, the larger the margin value will be which means less anomalies will be accepted." - } - } - }, - "Point": { - "type": "object", - "required": [ - "timestamp", - "value" - ], - "properties": { - "timestamp": { - "type": "string", - "format": "date-time", - "description": "Timestamp of a data point (ISO8601 format)." - }, - "value": { - "type": "number", - "format": "float", - "description": "The measurement of that point, should be float." - } - } - }, - "EntireDetectResponse": { - "type": "object", - "required": [ - "expectedValues", - "isAnomaly", - "isNegativeAnomaly", - "isPositiveAnomaly", - "lowerMargins", - "period", - "upperMargins" - ], - "properties": { - "period": { - "type": "integer", - "format": "int32", - "description": "Frequency extracted from the series, zero means no recurrent pattern has been found." - }, - "expectedValues": { - "type": "array", - "description": "ExpectedValues contain expected value for each input point. The index of the array is consistent with the input series.", - "items": { - "type": "number", - "format": "float" - } - }, - "upperMargins": { - "type": "array", - "description": "UpperMargins contain upper margin of each input point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - sensitivity)*upperMargin. Anomalies in response can be filtered by upperBoundary and lowerBoundary. By adjusting sensitivity value, less significant anomalies can be filtered in client side. The index of the array is consistent with the input series.", - "items": { - "type": "number", - "format": "float" - } - }, - "lowerMargins": { - "type": "array", - "description": "LowerMargins contain lower margin of each input point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - sensitivity)*lowerMargin. Points between the boundary can be marked as normal ones in client side. The index of the array is consistent with the input series.", - "items": { - "type": "number", - "format": "float" - } - }, - "isAnomaly": { - "type": "array", - "description": "IsAnomaly contains anomaly properties for each input point. True means an anomaly either negative or positive has been detected. The index of the array is consistent with the input series.", - "items": { - "type": "boolean" - } - }, - "isNegativeAnomaly": { - "type": "array", - "description": "IsNegativeAnomaly contains anomaly status in negative direction for each input point. True means a negative anomaly has been detected. A negative anomaly means the point is detected as an anomaly and its real value is smaller than the expected one. The index of the array is consistent with the input series.", - "items": { - "type": "boolean" - } - }, - "isPositiveAnomaly": { - "type": "array", - "description": "IsPositiveAnomaly contain anomaly status in positive direction for each input point. True means a positive anomaly has been detected. A positive anomaly means the point is detected as an anomaly and its real value is larger than the expected one. The index of the array is consistent with the input series.", - "items": { - "type": "boolean" - } - } - } - }, - "LastDetectResponse": { - "type": "object", - "properties": { - "period": { - "type": "integer", - "format": "int32", - "description": "Frequency extracted from the series, zero means no recurrent pattern has been found." - }, - "suggestedWindow": { - "type": "integer", - "format": "int32", - "description": "Suggested input series points needed for detecting the latest point." - }, - "expectedValue": { - "type": "number", - "format": "float", - "description": "Expected value of the latest point." - }, - "upperMargin": { - "type": "number", - "format": "float", - "description": "Upper margin of the latest point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - sensitivity)*upperMargin. If the value of latest point is between upperBoundary and lowerBoundary, it should be treated as normal value. By adjusting sensitivity value, anomaly status of latest point can be changed." - }, - "lowerMargin": { - "type": "number", - "format": "float", - "description": "Lower margin of the latest point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - sensitivity)*lowerMargin. " - }, - "isAnomaly": { - "type": "boolean", - "description": "Anomaly status of the latest point, true means the latest point is an anomaly either in negative direction or positive direction." - }, - "isNegativeAnomaly": { - "type": "boolean", - "description": "Anomaly status in negative direction of the latest point. True means the latest point is an anomaly and its real value is smaller than the expected one." - }, - "isPositiveAnomaly": { - "type": "boolean", - "description": "Anomaly status in positive direction of the latest point. True means the latest point is an anomaly and its real value is larger than the expected one." - } - } - } - }, - "parameters": { - "Endpoint": { - "name": "Endpoint", - "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).", - "x-ms-parameter-location": "client", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - } - } -} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/EntireDetect.json b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/EntireDetect.json deleted file mode 100644 index 161509dc8adf..000000000000 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/EntireDetect.json +++ /dev/null @@ -1,465 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "Content-Type": "application/json", - "Ocp-Apim-Subscription-Key": "{API key}", - "body": { - "series": [ { - "timestamp": "1972-01-01T00:00:00Z", - "value": 826 - }, { - "timestamp": "1972-02-01T00:00:00Z", - "value": 799 - }, { - "timestamp": "1972-03-01T00:00:00Z", - "value": 890 - }, { - "timestamp": "1972-04-01T00:00:00Z", - "value": 900 - }, { - "timestamp": "1972-05-01T00:00:00Z", - "value": 961 - }, { - "timestamp": "1972-06-01T00:00:00Z", - "value": 935 - }, { - "timestamp": "1972-07-01T00:00:00Z", - "value": 894 - }, { - "timestamp": "1972-08-01T00:00:00Z", - "value": 855 - }, { - "timestamp": "1972-09-01T00:00:00Z", - "value": 809 - }, { - "timestamp": "1972-10-01T00:00:00Z", - "value": 810 - }, { - "timestamp": "1972-11-01T00:00:00Z", - "value": 766 - }, { - "timestamp": "1972-12-01T00:00:00Z", - "value": 805 - }, { - "timestamp": "1973-01-01T00:00:00Z", - "value": 821 - }, { - "timestamp": "1973-02-01T00:00:00Z", - "value": 773 - }, { - "timestamp": "1973-03-01T00:00:00Z", - "value": 883 - }, { - "timestamp": "1973-04-01T00:00:00Z", - "value": 898 - }, { - "timestamp": "1973-05-01T00:00:00Z", - "value": 957 - }, { - "timestamp": "1973-06-01T00:00:00Z", - "value": 924 - }, { - "timestamp": "1973-07-01T00:00:00Z", - "value": 881 - }, { - "timestamp": "1973-08-01T00:00:00Z", - "value": 837 - }, { - "timestamp": "1973-09-01T00:00:00Z", - "value": 784 - }, { - "timestamp": "1973-10-01T00:00:00Z", - "value": 791 - }, { - "timestamp": "1973-11-01T00:00:00Z", - "value": 760 - }, { - "timestamp": "1973-12-01T00:00:00Z", - "value": 802 - }, { - "timestamp": "1974-01-01T00:00:00Z", - "value": 828 - }, { - "timestamp": "1974-02-01T00:00:00Z", - "value": 1030 - }, { - "timestamp": "1974-03-01T00:00:00Z", - "value": 889 - }, { - "timestamp": "1974-04-01T00:00:00Z", - "value": 902 - }, { - "timestamp": "1974-05-01T00:00:00Z", - "value": 969 - }, { - "timestamp": "1974-06-01T00:00:00Z", - "value": 947 - }, { - "timestamp": "1974-07-01T00:00:00Z", - "value": 908 - }, { - "timestamp": "1974-08-01T00:00:00Z", - "value": 867 - }, { - "timestamp": "1974-09-01T00:00:00Z", - "value": 815 - }, { - "timestamp": "1974-10-01T00:00:00Z", - "value": 812 - }, { - "timestamp": "1974-11-01T00:00:00Z", - "value": 773 - }, { - "timestamp": "1974-12-01T00:00:00Z", - "value": 813 - }, { - "timestamp": "1975-01-01T00:00:00Z", - "value": 834 - }, { - "timestamp": "1975-02-01T00:00:00Z", - "value": 782 - }, { - "timestamp": "1975-03-01T00:00:00Z", - "value": 892 - }, { - "timestamp": "1975-04-01T00:00:00Z", - "value": 903 - }, { - "timestamp": "1975-05-01T00:00:00Z", - "value": 966 - }, { - "timestamp": "1975-06-01T00:00:00Z", - "value": 937 - }, { - "timestamp": "1975-07-01T00:00:00Z", - "value": 896 - }, { - "timestamp": "1975-08-01T00:00:00Z", - "value": 858 - }, { - "timestamp": "1975-09-01T00:00:00Z", - "value": 817 - }, { - "timestamp": "1975-10-01T00:00:00Z", - "value": 827 - }, { - "timestamp": "1975-11-01T00:00:00Z", - "value": 797 - }, { - "timestamp": "1975-12-01T00:00:00Z", - "value": 843 - } - ], - "maxAnomalyRatio": 0.25, - "sensitivity": 95, - "granularity": "monthly" - } - }, - "responses": { - "200": { - "body": { - "isNegativeAnomaly": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "expectedValues": [ - 827.79409082439679, - 798.91337746719273, - 888.60584318071892, - 900.5606407986661, - 962.83894263783043, - 933.25916063069542, - 891.07841047996658, - 856.17816013636968, - 809.89872279089411, - 807.375129007505, - 764.31966824485175, - 803.933498594564, - 823.59006208830579, - 794.09056413342876, - 883.164245249282, - 894.84190006909535, - 956.84305911012575, - 927.62850551901136, - 885.812983784303, - 851.6424797402517, - 806.0927886943216, - 804.68268153120289, - 762.74070738882, - 804.0251702513732, - 825.35236625795585, - 798.04041887249764, - 889.30165055776979, - 902.4226124345937, - 965.867078532635, - 937.32004957366951, - 896.17205247111019, - 862.00873684136559, - 816.46623420974231, - 814.42977455247092, - 771.8614479159354, - 811.859271346729, - 831.89982792155206, - 802.947544797165, - 892.56844074350829, - 904.54882145338092, - 966.85270638447071, - 937.31683910030426, - 895.180003672544, - 860.36495963566347, - 814.17072859690427, - 811.9054862686213, - 769.10837696107421, - 809.23280846597038 - ], - "isPositiveAnomaly": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "lowerMargins": [ - 41.389704541219835, - 39.945668873359637, - 44.430292159035943, - 45.028032039933308, - 48.14194713189152, - 46.662958031534771, - 44.553920523998329, - 42.808908006818484, - 40.494936139544706, - 40.368756450375251, - 38.215983412242586, - 40.196674929728196, - 41.179503104415289, - 39.704528206671441, - 44.1582122624641, - 44.742095003454772, - 47.842152955506293, - 46.381425275950569, - 44.290649189215145, - 42.582123987012579, - 40.30463943471608, - 40.234134076560146, - 38.137035369441, - 40.201258512568664, - 41.267618312897795, - 39.902020943624883, - 44.465082527888491, - 45.121130621729684, - 48.293353926631752, - 46.866002478683477, - 44.808602623555508, - 43.100436842068284, - 40.823311710487111, - 40.721488727623544, - 38.593072395796774, - 40.592963567336447, - 41.5949913960776, - 40.147377239858251, - 44.628422037175412, - 45.227441072669045, - 48.34263531922354, - 46.865841955015213, - 44.759000183627194, - 43.018247981783169, - 40.708536429845211, - 40.595274313431062, - 38.455418848053711, - 40.461640423298519 - ], - "period": 12, - "upperMargins": [ - 41.389704541219835, - 39.945668873359637, - 44.430292159035943, - 45.028032039933308, - 48.14194713189152, - 46.662958031534771, - 44.553920523998329, - 42.808908006818484, - 40.494936139544706, - 40.368756450375251, - 38.215983412242586, - 40.196674929728196, - 41.179503104415289, - 39.704528206671441, - 44.1582122624641, - 44.742095003454772, - 47.842152955506293, - 46.381425275950569, - 44.290649189215145, - 42.582123987012579, - 40.30463943471608, - 40.234134076560146, - 38.137035369441, - 40.201258512568664, - 41.267618312897795, - 39.902020943624883, - 44.465082527888491, - 45.121130621729684, - 48.293353926631752, - 46.866002478683477, - 44.808602623555508, - 43.100436842068284, - 40.823311710487111, - 40.721488727623544, - 38.593072395796774, - 40.592963567336447, - 41.5949913960776, - 40.147377239858251, - 44.628422037175412, - 45.227441072669045, - 48.34263531922354, - 46.865841955015213, - 44.759000183627194, - 43.018247981783169, - 40.708536429845211, - 40.595274313431062, - 38.455418848053711, - 40.461640423298519 - ], - "isAnomaly": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] - } - } - } -} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/LastDetect.json b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/LastDetect.json deleted file mode 100644 index fa1ec66d78d3..000000000000 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/LastDetect.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "parameters": { - "Endpoint": "{Endpoint}", - "Content-Type": "application/json", - "Ocp-Apim-Subscription-Key": "{API key}", - "body": { - "series": [ { - "timestamp": "1972-01-01T00:00:00Z", - "value": 826 - }, { - "timestamp": "1972-02-01T00:00:00Z", - "value": 799 - }, { - "timestamp": "1972-03-01T00:00:00Z", - "value": 890 - }, { - "timestamp": "1972-04-01T00:00:00Z", - "value": 900 - }, { - "timestamp": "1972-05-01T00:00:00Z", - "value": 961 - }, { - "timestamp": "1972-06-01T00:00:00Z", - "value": 935 - }, { - "timestamp": "1972-07-01T00:00:00Z", - "value": 894 - }, { - "timestamp": "1972-08-01T00:00:00Z", - "value": 855 - }, { - "timestamp": "1972-09-01T00:00:00Z", - "value": 809 - }, { - "timestamp": "1972-10-01T00:00:00Z", - "value": 810 - }, { - "timestamp": "1972-11-01T00:00:00Z", - "value": 766 - }, { - "timestamp": "1972-12-01T00:00:00Z", - "value": 805 - }, { - "timestamp": "1973-01-01T00:00:00Z", - "value": 821 - }, { - "timestamp": "1973-02-01T00:00:00Z", - "value": 773 - }, { - "timestamp": "1973-03-01T00:00:00Z", - "value": 883 - }, { - "timestamp": "1973-04-01T00:00:00Z", - "value": 898 - }, { - "timestamp": "1973-05-01T00:00:00Z", - "value": 957 - }, { - "timestamp": "1973-06-01T00:00:00Z", - "value": 924 - }, { - "timestamp": "1973-07-01T00:00:00Z", - "value": 881 - }, { - "timestamp": "1973-08-01T00:00:00Z", - "value": 837 - }, { - "timestamp": "1973-09-01T00:00:00Z", - "value": 784 - }, { - "timestamp": "1973-10-01T00:00:00Z", - "value": 791 - }, { - "timestamp": "1973-11-01T00:00:00Z", - "value": 760 - }, { - "timestamp": "1973-12-01T00:00:00Z", - "value": 802 - }, { - "timestamp": "1974-01-01T00:00:00Z", - "value": 828 - }, { - "timestamp": "1974-02-01T00:00:00Z", - "value": 1030 - }, { - "timestamp": "1974-03-01T00:00:00Z", - "value": 889 - }, { - "timestamp": "1974-04-01T00:00:00Z", - "value": 902 - }, { - "timestamp": "1974-05-01T00:00:00Z", - "value": 969 - }, { - "timestamp": "1974-06-01T00:00:00Z", - "value": 947 - }, { - "timestamp": "1974-07-01T00:00:00Z", - "value": 908 - }, { - "timestamp": "1974-08-01T00:00:00Z", - "value": 867 - }, { - "timestamp": "1974-09-01T00:00:00Z", - "value": 815 - }, { - "timestamp": "1974-10-01T00:00:00Z", - "value": 812 - }, { - "timestamp": "1974-11-01T00:00:00Z", - "value": 773 - }, { - "timestamp": "1974-12-01T00:00:00Z", - "value": 813 - }, { - "timestamp": "1975-01-01T00:00:00Z", - "value": 834 - }, { - "timestamp": "1975-02-01T00:00:00Z", - "value": 782 - }, { - "timestamp": "1975-03-01T00:00:00Z", - "value": 892 - }, { - "timestamp": "1975-04-01T00:00:00Z", - "value": 903 - }, { - "timestamp": "1975-05-01T00:00:00Z", - "value": 966 - }, { - "timestamp": "1975-06-01T00:00:00Z", - "value": 937 - }, { - "timestamp": "1975-07-01T00:00:00Z", - "value": 896 - }, { - "timestamp": "1975-08-01T00:00:00Z", - "value": 858 - }, { - "timestamp": "1975-09-01T00:00:00Z", - "value": 817 - }, { - "timestamp": "1975-10-01T00:00:00Z", - "value": 827 - }, { - "timestamp": "1975-11-01T00:00:00Z", - "value": 797 - }, { - "timestamp": "1975-12-01T00:00:00Z", - "value": 843 - } - ], - "maxAnomalyRatio": 0.25, - "sensitivity": 95, - "granularity": "monthly" - } - }, - "responses": { - "200": { - "body": { - "isAnomaly": false, - "isPositiveAnomaly": false, - "isNegativeAnomaly": false, - "period": 12, - "expectedValue": 809.23280846597038, - "upperMargin": 40.461640423298519, - "lowerMargin": 40.461640423298519, - "suggestedWindow": 49 - } - } - } -} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md index f37ddd4038bc..279452db4ec0 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md @@ -14,6 +14,7 @@ go: ``` yaml $(go) && $(multiapi) batch: - tag: release_1_0 + - tag: release_3_0 ``` ### Tag: release_1_0 and go @@ -23,4 +24,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_0' && $(go) +output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.0/customvision/$(namespace) +``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md index 0d9677e06268..73a4dbe39b40 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md @@ -4,11 +4,11 @@ Configuration for generating Custom Vision Prediction SDK. -The current release is `release_1_0`. +The current release is `release_3_0`. ``` yaml -tag: release_1_0 +tag: release_3_0 openapi-type: data-plane ``` # Releases @@ -20,6 +20,13 @@ These settings apply only when `--tag=release_1_0` is specified on the command l input-file: stable/v2.0/Prediction.json ``` +### Release 3.0 +These settings apply only when `--tag=release_3_0` is specified on the command line. + +``` yaml $(tag) == 'release_3_0' +input-file: stable/v3.0/Prediction.json +``` + # Validation ## Suppression @@ -45,6 +52,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_cognitiveservices_customvision_prediction'] ``` ## CSharp Settings diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md index 411adce418c5..3adbf19106d6 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.ruby.md @@ -13,6 +13,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: - tag: release_1_0 + - tag: release_3_0 ``` ### Tag: release_1_0 and ruby @@ -22,6 +23,17 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_1_0' && $(ruby) +namespace: "Azure::CognitiveServices::CustomVision::Prediction::V3_0" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisionprediction/lib title: "PredictionClient" ``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/Prediction.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/Prediction.json new file mode 100644 index 000000000000..9de70630e269 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/Prediction.json @@ -0,0 +1,910 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.0", + "title": "Custom Vision Prediction Client" + }, + "host": "southcentralus.api.cognitive.microsoft.com", + "basePath": "/customvision/v3.0/prediction", + "schemes": [ + "https" + ], + "paths": { + "/{projectId}/classify/iterations/{publishedName}/url": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image url and saves the result.", + "operationId": "ClassifyImageUrl", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An ImageUrl that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImageUrl request": { + "$ref": "./examples/ClassifyImageUrl.json" + } + } + } + }, + "/{projectId}/classify/iterations/{publishedName}/image": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image and saves the result.", + "operationId": "ClassifyImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImage request": { + "$ref": "./examples/ClassifyImage.json" + } + } + } + }, + "/{projectId}/classify/iterations/{publishedName}/url/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image url without saving the result.", + "operationId": "ClassifyImageUrlWithNoStore", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImageUrlWithNoStore request": { + "$ref": "./examples/ClassifyImageUrlWithNoStore.json" + } + } + } + }, + "/{projectId}/classify/iterations/{publishedName}/image/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Classify an image without saving the result.", + "operationId": "ClassifyImageWithNoStore", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 0MB.", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ClassifyImageWithNoStore request": { + "$ref": "./examples/ClassifyImageWithNoStore.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/url": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image url and saves the result.", + "operationId": "DetectImageUrl", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An ImageUrl that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImageUrl request": { + "$ref": "./examples/DetectImageUrl.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/image": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image and saves the result.", + "operationId": "DetectImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImage request": { + "$ref": "./examples/DetectImage.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/url/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image url without saving the result.", + "operationId": "DetectImageUrlWithNoStore", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "imageUrl", + "in": "body", + "description": "An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImageUrlWithNoStore request": { + "$ref": "./examples/DetectImageUrlWithNoStore.json" + } + } + } + }, + "/{projectId}/detect/iterations/{publishedName}/image/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Detect objects in an image without saving the result.", + "operationId": "DetectImageWithNoStore", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishedName", + "in": "path", + "description": "Specifies the name of the model to evaluate against.", + "required": true, + "type": "string" + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint.", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 0MB.", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectImageWithNoStore request": { + "$ref": "./examples/DetectImageWithNoStore.json" + } + } + } + } + }, + "definitions": { + "ImageUrl": { + "description": "Image url.", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImagePrediction": { + "description": "Result of an image prediction request.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "Prediction": { + "description": "Prediction result.", + "type": "object", + "properties": { + "probability": { + "format": "float", + "description": "Probability of the tag.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "description": "Name of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "description": "Bounding box of the prediction.", + "readOnly": true, + "x-nullable": true + } + } + }, + "BoundingBox": { + "description": "Bounding box that defines a region of an image.", + "required": [ + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "CustomVisionError": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "NoError", + "BadRequest", + "BadRequestExceededBatchSize", + "BadRequestNotSupported", + "BadRequestInvalidIds", + "BadRequestProjectName", + "BadRequestProjectNameNotUnique", + "BadRequestProjectDescription", + "BadRequestProjectUnknownDomain", + "BadRequestProjectUnknownClassification", + "BadRequestProjectUnsupportedDomainTypeChange", + "BadRequestProjectUnsupportedExportPlatform", + "BadRequestIterationName", + "BadRequestIterationNameNotUnique", + "BadRequestIterationDescription", + "BadRequestIterationIsNotTrained", + "BadRequestWorkspaceCannotBeModified", + "BadRequestWorkspaceNotDeletable", + "BadRequestTagName", + "BadRequestTagNameNotUnique", + "BadRequestTagDescription", + "BadRequestTagType", + "BadRequestMultipleNegativeTag", + "BadRequestImageTags", + "BadRequestImageRegions", + "BadRequestNegativeAndRegularTagOnSameImage", + "BadRequestRequiredParamIsNull", + "BadRequestIterationIsPublished", + "BadRequestInvalidPublishName", + "BadRequestInvalidPublishTarget", + "BadRequestUnpublishFailed", + "BadRequestSubscriptionApi", + "BadRequestExceedProjectLimit", + "BadRequestExceedIterationPerProjectLimit", + "BadRequestExceedTagPerProjectLimit", + "BadRequestExceedTagPerImageLimit", + "BadRequestExceededQuota", + "BadRequestCannotMigrateProjectWithName", + "BadRequestNotLimitedTrial", + "BadRequestImageBatch", + "BadRequestImageStream", + "BadRequestImageUrl", + "BadRequestImageFormat", + "BadRequestImageSizeBytes", + "BadRequestImageExceededCount", + "BadRequestTrainingNotNeeded", + "BadRequestTrainingNotNeededButTrainingPipelineUpdated", + "BadRequestTrainingValidationFailed", + "BadRequestClassificationTrainingValidationFailed", + "BadRequestMultiClassClassificationTrainingValidationFailed", + "BadRequestMultiLabelClassificationTrainingValidationFailed", + "BadRequestDetectionTrainingValidationFailed", + "BadRequestTrainingAlreadyInProgress", + "BadRequestDetectionTrainingNotAllowNegativeTag", + "BadRequestInvalidEmailAddress", + "BadRequestDomainNotSupportedForAdvancedTraining", + "BadRequestExportPlatformNotSupportedForAdvancedTraining", + "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining", + "BadRequestExportValidationFailed", + "BadRequestExportAlreadyInProgress", + "BadRequestPredictionIdsMissing", + "BadRequestPredictionIdsExceededCount", + "BadRequestPredictionTagsExceededCount", + "BadRequestPredictionResultsExceededCount", + "BadRequestPredictionInvalidApplicationName", + "BadRequestPredictionInvalidQueryParameters", + "BadRequestInvalid", + "UnsupportedMediaType", + "Forbidden", + "ForbiddenUser", + "ForbiddenUserResource", + "ForbiddenUserSignupDisabled", + "ForbiddenUserSignupAllowanceExceeded", + "ForbiddenUserDoesNotExist", + "ForbiddenUserDisabled", + "ForbiddenUserInsufficientCapability", + "ForbiddenDRModeEnabled", + "ForbiddenInvalid", + "NotFound", + "NotFoundProject", + "NotFoundProjectDefaultIteration", + "NotFoundIteration", + "NotFoundIterationPerformance", + "NotFoundTag", + "NotFoundImage", + "NotFoundDomain", + "NotFoundApimSubscription", + "NotFoundInvalid", + "Conflict", + "ConflictInvalid", + "ErrorUnknown", + "ErrorProjectInvalidWorkspace", + "ErrorProjectInvalidPipelineConfiguration", + "ErrorProjectInvalidDomain", + "ErrorProjectTrainingRequestFailed", + "ErrorProjectExportRequestFailed", + "ErrorFeaturizationServiceUnavailable", + "ErrorFeaturizationQueueTimeout", + "ErrorFeaturizationInvalidFeaturizer", + "ErrorFeaturizationAugmentationUnavailable", + "ErrorFeaturizationUnrecognizedJob", + "ErrorFeaturizationAugmentationError", + "ErrorExporterInvalidPlatform", + "ErrorExporterInvalidFeaturizer", + "ErrorExporterInvalidClassifier", + "ErrorPredictionServiceUnavailable", + "ErrorPredictionModelNotFound", + "ErrorPredictionModelNotCached", + "ErrorPrediction", + "ErrorPredictionStorage", + "ErrorRegionProposal", + "ErrorInvalid" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiKey": { + "name": "Prediction-Key", + "in": "header", + "description": "API key.", + "required": true, + "type": "string", + "x-ms-client-name": "ApiKey", + "x-ms-parameter-location": "client" + }, + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "Supported Cognitive Services endpoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImage.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImage.json new file mode 100644 index 000000000000..bc978c8515ab --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImage.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageUrl.json new file mode 100644 index 000000000000..0a0e7b7a39e6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageUrl.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageUrlWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageUrlWithNoStore.json new file mode 100644 index 000000000000..0a0e7b7a39e6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageUrlWithNoStore.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageWithNoStore.json new file mode 100644 index 000000000000..bc978c8515ab --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/ClassifyImageWithNoStore.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2019-03-06T02:15:00Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.000193528482 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImage.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImage.json new file mode 100644 index 000000000000..2fa300983042 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImage.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageUrl.json new file mode 100644 index 000000000000..afafd238306c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageUrl.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageUrlWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageUrlWithNoStore.json new file mode 100644 index 000000000000..afafd238306c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageUrlWithNoStore.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageWithNoStore.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageWithNoStore.json new file mode 100644 index 000000000000..2fa300983042 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/examples/DetectImageWithNoStore.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "publishedName": "MyModel1", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "64615ba1-b53f-e911-b05b-f8633f7a2ef1", + "project": "fb5bc587-b53f-e911-b05b-f8633f7a2ef1", + "iteration": "45c79472-7198-46e1-8ed7-bad2ca111957", + "created": "2019-03-10T06:10:28Z", + "predictions": [ + { + "tagId": "7e703b80-3c7a-4c3c-bf48-9673c6891a75", + "tagName": "Tag 1", + "probability": 0.05149666, + "boundingBox": { + "left": 0.955476165, + "top": 0, + "width": 0.0412225723, + "height": 0.156851858 + } + }, + { + "tagId": "a0d06a54-18e4-4787-a9f9-27a9c13a91e8", + "tagName": "Tag 2", + "probability": 0.000193528482, + "boundingBox": { + "left": 0.062178582, + "top": 0, + "width": 0.9378114, + "height": 0.6830492 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md index bfa367502a3a..d17920f61028 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md @@ -43,4 +43,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_0' && $(go) +output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.0/customvision/$(namespace) ``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md index b53e3e43337b..20ce2f8b6653 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md @@ -4,11 +4,11 @@ Configuration for generating Custom Vision Training SDK. -The current release is `release_2_2`. +The current release is `release_3_0`. ``` yaml -tag: release_2_2 +tag: release_3_0 openapi-type: data-plane ``` # Releases @@ -33,6 +33,14 @@ These settings apply only when `--tag=release_2_2` is specified on the command l ``` yaml $(tag) == 'release_2_2' input-file: stable/v2.2/Training.json ``` + +### Release 3.0 +These settings apply only when `--tag=release_3_0` is specified on the command line. + +``` yaml $(tag) == 'release_3_0' +input-file: stable/v3.0/Training.json +``` + # Validation ## Suppression @@ -58,6 +66,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_cognitiveservices_customvision_training'] ``` ## CSharp Settings diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md index 6fcea51453d6..98e4db6d18b3 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md @@ -13,6 +13,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: - tag: release_1_0 + - tag: release_3_0 ``` ### Tag: release_1_0 and ruby @@ -22,6 +23,17 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_3_0' && $(ruby) +namespace: "Azure::CognitiveServices::CustomVision::Training::V3_0" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib title: "TrainingClient" ``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/Training.json new file mode 100644 index 000000000000..e156ae3351c3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/Training.json @@ -0,0 +1,4526 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.0", + "title": "Custom Vision Training Client" + }, + "host": "southcentralus.api.cognitive.microsoft.com", + "basePath": "/customvision/v3.0/training", + "schemes": [ + "https" + ], + "paths": { + "/domains": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get a list of the available domains.", + "operationId": "GetDomains", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetDomains request": { + "$ref": "./examples/GetDomains.json" + } + } + } + }, + "/domains/{domainId}": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get information about a specific domain.", + "operationId": "GetDomain", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "domainId", + "in": "path", + "description": "The id of the domain to get information about.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetDomain request": { + "$ref": "./examples/GetDomain.json" + } + } + } + }, + "/projects/{projectId}/images/tagged/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Gets the number of images tagged with the provided {tagIds}.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetTaggedImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTaggedImageCount request": { + "$ref": "./examples/GetTaggedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/untagged/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Gets the number of untagged images.", + "description": "This API returns the images which have no tags for a given project and optionally an iteration. If no iteration is specified the\r\ncurrent workspace is used.", + "operationId": "GetUntaggedImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetUntaggedImageCount request": { + "$ref": "./examples/GetUntaggedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/tags": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Associate a set of images with a set of tags.", + "operationId": "CreateImageTags", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Batch of image tags. Limited to 128 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageTagCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTagCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImageTags request": { + "$ref": "./examples/CreateImageTags.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Remove a set of tags from a set of images.", + "operationId": "DeleteImageTags", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Image ids. Limited to 64 images.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + }, + { + "name": "tagIds", + "in": "query", + "description": "Tags to be deleted from the specified images. Limited to 20 tags.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImageTags request": { + "$ref": "./examples/DeleteImageTags.json" + } + } + } + }, + "/projects/{projectId}/images/regions": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Create a set of image regions.", + "description": "This API accepts a batch of image regions, and optionally tags, to update existing images with region information.\r\nThere is a limit of 64 entries in the batch.", + "operationId": "CreateImageRegions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Batch of image regions which include a tag and bounding box. Limited to 64.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageRegionCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageRegionCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImageRegions request": { + "$ref": "./examples/CreateImageRegions.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Delete a set of image regions.", + "operationId": "DeleteImageRegions", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "regionIds", + "in": "query", + "description": "Regions to delete. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImageRegions request": { + "$ref": "./examples/DeleteImageRegions.json" + } + } + } + }, + "/projects/{projectId}/images/tagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get tagged images for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetTaggedImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTaggedImages request": { + "$ref": "./examples/GetTaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images/untagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get untagged images for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.", + "operationId": "GetUntaggedImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetUntaggedImages request": { + "$ref": "./examples/GetUntaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images/id": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get images by id for a given project iteration.", + "description": "This API will return a set of Images for the specified tags and optionally iteration. If no iteration is specified the\r\ncurrent workspace is used.", + "operationId": "GetImagesByIds", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "The list of image ids to retrieve. Limited to 256.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagesByIds request": { + "$ref": "./examples/GetImagesByIds.json" + } + } + } + }, + "/projects/{projectId}/images": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images to the set of training images.", + "description": "This API accepts body content as multipart/form-data and application/octet-stream. When using multipart\r\nmultiple image files can be sent at once, with a maximum of 64 files", + "operationId": "CreateImagesFromData", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "The tags ids with which to tag each image. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromData request": { + "$ref": "./examples/CreateImagesFromData.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Delete images from the set of training images.", + "operationId": "DeleteImages", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Ids of the images to be deleted. Limited to 256 images per batch.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImages request": { + "$ref": "./examples/DeleteImages.json" + } + } + } + }, + "/projects/{projectId}/images/files": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided batch of images to the set of training images.", + "description": "This API accepts a batch of files, and optionally tags, to create images. There is a limit of 64 images and 20 tags.", + "operationId": "CreateImagesFromFiles", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "The batch of image files to add. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageFileCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromFiles request": { + "$ref": "./examples/CreateImagesFromFiles.json" + } + } + } + }, + "/projects/{projectId}/images/urls": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images urls to the set of training images.", + "description": "This API accepts a batch of urls, and optionally tags, to create images. There is a limit of 64 images and 20 tags.", + "operationId": "CreateImagesFromUrls", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image urls and tag ids. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrlCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromUrls request": { + "$ref": "./examples/CreateImagesFromUrls.json" + } + } + } + }, + "/projects/{projectId}/images/predictions": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the specified predicted images to the set of training images.", + "description": "This API creates a batch of images from predicted images specified. There is a limit of 64 images and 20 tags.", + "operationId": "CreateImagesFromPredictions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image and tag ids. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageIdCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromPredictions request": { + "$ref": "./examples/CreateImagesFromPredictions.json" + } + } + } + }, + "/projects/{projectId}/images/{imageId}/regionproposals": { + "post": { + "tags": [ + "ImageRegionProposalApi" + ], + "summary": "Get region proposals for an image. Returns empty array if no proposals are found.", + "description": "This API will get region proposals for an image along with confidences for the region. It returns an empty array if no proposals are found.", + "operationId": "GetImageRegionProposals", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageId", + "in": "path", + "description": "The image id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageRegionProposal" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImageRegionProposals request": { + "$ref": "./examples/GetImageRegionProposals.json" + } + } + } + }, + "/projects/{projectId}/predictions": { + "delete": { + "tags": [ + "PredictionsApi" + ], + "summary": "Delete a set of predicted images and their associated prediction results.", + "operationId": "DeletePrediction", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "ids", + "in": "query", + "description": "The prediction ids. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeletePrediction request": { + "$ref": "./examples/DeletePrediction.json" + } + } + } + }, + "/projects/{projectId}/quicktest/url": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image url.", + "operationId": "QuickTestImageUrl", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project to evaluate against.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageUrl", + "in": "body", + "description": "An ImageUrl that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImageUrl request": { + "$ref": "./examples/QuickTestImageUrl.json" + } + } + } + }, + "/projects/{projectId}/quicktest/image": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image.", + "operationId": "QuickTestImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImage request": { + "$ref": "./examples/QuickTestImage.json" + } + } + } + }, + "/projects/{projectId}/predictions/query": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Get images that were sent to your prediction endpoint.", + "operationId": "QueryPredictions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Parameters used to query the predictions. Limited to combining 2 tags.", + "required": true, + "schema": { + "$ref": "#/definitions/PredictionQueryToken" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PredictionQueryResult" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QueryPredictions request": { + "$ref": "./examples/QueryPredictions.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get detailed performance information about an iteration.", + "operationId": "GetIterationPerformance", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project the iteration belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the iteration to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "threshold", + "in": "query", + "description": "The threshold used to determine true predictions.", + "required": false, + "type": "number", + "format": "float" + }, + { + "name": "overlapThreshold", + "in": "query", + "description": "If applicable, the bounding box overlap threshold used to determine true predictions.", + "required": false, + "type": "number", + "format": "float" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IterationPerformance" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIterationPerformance request": { + "$ref": "./examples/GetIterationPerformance.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance/images": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get image with its prediction for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImagePerformances", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id. Defaults to workspace.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ImagePerformance" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagePerformances request": { + "$ref": "./examples/GetImagePerformances.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance/images/count": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Gets the number of images tagged with the provided {tagIds} that have prediction results from\r\ntraining for the provided iteration {iterationId}.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImagePerformanceCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id. Defaults to workspace.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagePerformanceCount request": { + "$ref": "./examples/GetImagePerformanceCount.json" + } + } + } + }, + "/projects": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get your projects.", + "operationId": "GetProjects", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Project" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetProjects request": { + "$ref": "./examples/GetProjects.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Create a project.", + "operationId": "CreateProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "name", + "in": "query", + "description": "Name of the project.", + "required": true, + "type": "string" + }, + { + "name": "description", + "in": "query", + "description": "The description of the project.", + "required": false, + "type": "string" + }, + { + "name": "domainId", + "in": "query", + "description": "The id of the domain to use for this project. Defaults to General.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "classificationType", + "in": "query", + "description": "The type of classifier to create for this project.", + "required": false, + "type": "string", + "enum": [ + "Multiclass", + "Multilabel" + ] + }, + { + "name": "targetExportPlatforms", + "in": "query", + "description": "List of platforms the trained model is intending exporting to.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ] + }, + "collectionFormat": "csv" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateProject request": { + "$ref": "./examples/CreateProject.json" + } + } + } + }, + "/projects/{projectId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific project.", + "operationId": "GetProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetProject request": { + "$ref": "./examples/GetProject.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific project.", + "operationId": "DeleteProject", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteProject request": { + "$ref": "./examples/DeleteProject.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific project.", + "operationId": "UpdateProject", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to update.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedProject", + "in": "body", + "description": "The updated project model.", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateProject request": { + "$ref": "./examples/UpdateProject.json" + } + } + } + }, + "/projects/{projectId}/train": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Queues project for training.", + "operationId": "TrainProject", + "consumes": [ + + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "trainingType", + "in": "query", + "description": "The type of training to use to train the project (default: Regular).", + "required": false, + "type": "string", + "enum": [ + "Regular", + "Advanced" + ] + }, + { + "name": "reservedBudgetInHours", + "in": "query", + "description": "The number of hours reserved as budget for training (if applicable).", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "name": "forceTrain", + "in": "query", + "description": "Whether to force train even if dataset and configuration does not change (default: false).", + "required": false, + "type": "boolean", + "default": false + }, + { + "name": "notificationEmailAddress", + "in": "query", + "description": "The email address to send notification to when training finishes (default: null).", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful TrainProject request": { + "$ref": "./examples/TrainProject.json" + } + } + } + }, + "/projects/{projectId}/iterations": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get iterations for the project.", + "operationId": "GetIterations", + "consumes": [ + + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Iteration" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIterations request": { + "$ref": "./examples/GetIterations.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific iteration.", + "operationId": "GetIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project the iteration belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the iteration to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIteration request": { + "$ref": "./examples/GetIteration.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific iteration of a project.", + "operationId": "DeleteIteration", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteIteration request": { + "$ref": "./examples/DeleteIteration.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific iteration.", + "operationId": "UpdateIteration", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "Iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedIteration", + "in": "body", + "description": "The updated iteration model.", + "required": true, + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateIteration request": { + "$ref": "./examples/UpdateIteration.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/publish": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Publish a specific iteration.", + "operationId": "PublishIteration", + "consumes": [ + + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishName", + "in": "query", + "description": "The name to give the published iteration.", + "required": true, + "type": "string" + }, + { + "name": "predictionId", + "in": "query", + "description": "The id of the prediction resource to publish to.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful PublishIteration request": { + "$ref": "./examples/PublishIteration.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Unpublish a specific iteration.", + "operationId": "UnpublishIteration", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UnpublishIteration request": { + "$ref": "./examples/UnpublishIteration.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/export": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get the list of exports for a specific iteration.", + "operationId": "GetExports", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Export" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetExports request": { + "$ref": "./examples/GetExports.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Export a trained iteration.", + "operationId": "ExportIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "platform", + "in": "query", + "description": "The target platform.", + "required": true, + "type": "string", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ] + }, + { + "name": "flavor", + "in": "query", + "description": "The flavor of the target platform.", + "required": false, + "type": "string", + "enum": [ + "Linux", + "Windows", + "ONNX10", + "ONNX12", + "ARM" + ] + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ExportIteration request": { + "$ref": "./examples/ExportIteration.json" + } + } + } + }, + "/projects/{projectId}/tags/{tagId}": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get information about a specific tag.", + "operationId": "GetTag", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project this tag belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The tag id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration to retrieve this tag from. Optional, defaults to current training set.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTag request": { + "$ref": "./examples/GetTag.json" + } + } + }, + "delete": { + "tags": [ + "TagsApi" + ], + "summary": "Delete a tag from the project.", + "operationId": "DeleteTag", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "Id of the tag to be deleted.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteTag request": { + "$ref": "./examples/DeleteTag.json" + } + } + }, + "patch": { + "tags": [ + "TagsApi" + ], + "summary": "Update a tag.", + "operationId": "UpdateTag", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The id of the target tag.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedTag", + "in": "body", + "description": "The updated tag model.", + "required": true, + "schema": { + "$ref": "#/definitions/Tag" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateTag request": { + "$ref": "./examples/UpdateTag.json" + } + } + } + }, + "/projects/{projectId}/tags": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get the tags for a given project and iteration.", + "operationId": "GetTags", + "consumes": [ + + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTags request": { + "$ref": "./examples/GetTags.json" + } + } + }, + "post": { + "tags": [ + "TagsApi" + ], + "summary": "Create a tag for the project.", + "operationId": "CreateTag", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "name", + "in": "query", + "description": "The tag name.", + "required": true, + "type": "string" + }, + { + "name": "description", + "in": "query", + "description": "Optional description for the tag.", + "required": false, + "type": "string" + }, + { + "name": "type", + "in": "query", + "description": "Optional type for the tag.", + "required": false, + "type": "string", + "enum": [ + "Regular", + "Negative" + ] + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateTag request": { + "$ref": "./examples/CreateTag.json" + } + } + } + } + }, + "definitions": { + "Domain": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "type": { + "enum": [ + "Classification", + "ObjectDetection" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "DomainType", + "modelAsString": true + } + }, + "exportable": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "enabled": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + } + } + }, + "ImageTagCreateBatch": { + "description": "Batch of image tags.", + "type": "object", + "properties": { + "tags": { + "description": "Image Tag entries to include in this batch.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageTagCreateEntry": { + "description": "Entry associating a tag to an image.", + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageTagCreateSummary": { + "type": "object", + "properties": { + "created": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "duplicated": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "exceeded": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageRegionCreateBatch": { + "description": "Batch of image region information to create.", + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageRegionCreateEntry": { + "description": "Entry associating a region to an image.", + "required": [ + "imageId", + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageRegionCreateSummary": { + "type": "object", + "properties": { + "created": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateResult" + }, + "readOnly": false, + "x-nullable": true + }, + "duplicated": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "exceeded": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageRegionCreateResult": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "regionId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "Image": { + "description": "Image model to be sent as JSON.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date the image was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "width": { + "format": "int32", + "description": "Width of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "resizedImageUri": { + "description": "The URI to the (resized) image used for training.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "originalImageUri": { + "description": "The URI to the original uploaded image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tags": { + "description": "Tags associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "readOnly": true, + "x-nullable": true + }, + "regions": { + "description": "Regions associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegion" + }, + "readOnly": true, + "x-nullable": true + } + } + }, + "ImageTag": { + "type": "object", + "properties": { + "tagId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + } + } + }, + "ImageRegion": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "regionId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageCreateSummary": { + "type": "object", + "properties": { + "isBatchSuccessful": { + "description": "True if all of the images in the batch were created successfully, otherwise false.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "images": { + "description": "List of the image creation results.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageCreateResult", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageCreateResult": { + "type": "object", + "properties": { + "sourceUrl": { + "description": "Source URL of the image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "status": { + "description": "Status of the image creation.", + "enum": [ + "OK", + "OKDuplicate", + "ErrorSource", + "ErrorImageFormat", + "ErrorImageSize", + "ErrorStorage", + "ErrorLimitExceed", + "ErrorTagLimitExceed", + "ErrorRegionLimitExceed", + "ErrorUnknown", + "ErrorNegativeAndRegularTagOnSameImage" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ImageCreateStatus", + "modelAsString": true + } + }, + "image": { + "$ref": "#/definitions/Image", + "description": "The image.", + "readOnly": true, + "x-nullable": false + } + } + }, + "ImageFileCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageFileCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageFileCreateEntry": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "contents": { + "format": "byte", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "Region": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageUrlCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageUrlCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageUrlCreateEntry": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageIdCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageIdCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageIdCreateEntry": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageRegionProposal": { + "type": "object", + "properties": { + "projectId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "imageId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionProposal", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "RegionProposal": { + "type": "object", + "properties": { + "confidence": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "readOnly": true, + "x-nullable": false + } + } + }, + "BoundingBox": { + "description": "Bounding box that defines a region of an image.", + "required": [ + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageUrl": { + "description": "Image url.", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImagePrediction": { + "description": "Result of an image prediction request.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "Prediction": { + "description": "Prediction result.", + "type": "object", + "properties": { + "probability": { + "format": "float", + "description": "Probability of the tag.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "description": "Name of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "description": "Bounding box of the prediction.", + "readOnly": true, + "x-nullable": true + } + } + }, + "PredictionQueryToken": { + "type": "object", + "properties": { + "session": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "continuation": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "maxCount": { + "format": "int32", + "type": "integer", + "readOnly": false, + "x-nullable": false + }, + "orderBy": { + "enum": [ + "Newest", + "Oldest", + "Suggested" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "OrderBy", + "modelAsString": true + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/PredictionQueryTag", + "x-nullable": false + }, + "readOnly": false + }, + "iterationId": { + "format": "uuid", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "startTime": { + "format": "date-time", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "endTime": { + "format": "date-time", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "application": { + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "PredictionQueryTag": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "minThreshold": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "maxThreshold": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + } + } + }, + "PredictionQueryResult": { + "type": "object", + "properties": { + "token": { + "$ref": "#/definitions/PredictionQueryToken", + "readOnly": true, + "x-nullable": false + }, + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/StoredImagePrediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "StoredImagePrediction": { + "description": "result of an image classification request.", + "type": "object", + "properties": { + "resizedImageUri": { + "description": "The URI to the (resized) prediction image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original prediction image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "originalImageUri": { + "description": "The URI to the original prediction image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "domain": { + "format": "uuid", + "description": "Domain used for the prediction.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "IterationPerformance": { + "description": "Represents the detailed performance data for a trained iteration.", + "type": "object", + "properties": { + "perTagPerformance": { + "description": "Gets the per-tag performance details for this iteration.", + "type": "array", + "items": { + "$ref": "#/definitions/TagPerformance", + "x-nullable": false + }, + "readOnly": true + }, + "precision": { + "format": "float", + "description": "Gets the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "precisionStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recall": { + "format": "float", + "description": "Gets the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recallStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "averagePrecision": { + "format": "float", + "description": "Gets the average precision when applicable.", + "type": "number", + "readOnly": true, + "x-nullable": true + } + } + }, + "TagPerformance": { + "description": "Represents performance data for a particular tag in a trained iteration.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "precision": { + "format": "float", + "description": "Gets the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "precisionStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recall": { + "format": "float", + "description": "Gets the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recallStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "averagePrecision": { + "format": "float", + "description": "Gets the average precision when applicable.", + "type": "number", + "readOnly": true, + "x-nullable": true + } + } + }, + "ImagePerformance": { + "description": "Image performance model.", + "type": "object", + "properties": { + "predictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Prediction" + }, + "readOnly": true, + "x-nullable": true + }, + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "width": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "imageUri": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "thumbnailUri": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "readOnly": true, + "x-nullable": true + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegion" + }, + "readOnly": true, + "x-nullable": true + } + } + }, + "Project": { + "description": "Represents a project.", + "required": [ + "name", + "description", + "settings" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the project id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the project.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "description": { + "description": "Gets or sets the description of the project.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "settings": { + "$ref": "#/definitions/ProjectSettings", + "description": "Gets or sets the project settings.", + "readOnly": false, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Gets the date this project was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "format": "date-time", + "description": "Gets the date this project was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "thumbnailUri": { + "description": "Gets the thumbnail url representing the image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "drModeEnabled": { + "description": "Gets if the DR mode is on.", + "type": "boolean", + "readOnly": true, + "x-nullable": true + } + } + }, + "ProjectSettings": { + "description": "Represents settings associated with a project.", + "type": "object", + "properties": { + "domainId": { + "format": "uuid", + "description": "Gets or sets the id of the Domain to use with this project.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "classificationType": { + "description": "Gets or sets the classification type of the project.", + "enum": [ + "Multiclass", + "Multilabel" + ], + "type": "string", + "readOnly": false, + "x-nullable": true, + "x-ms-enum": { + "name": "Classifier", + "modelAsString": true + } + }, + "targetExportPlatforms": { + "description": "A list of ExportPlatform that the trained model should be able to support.", + "type": "array", + "items": { + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ], + "type": "string", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "Iteration": { + "description": "Iteration model to be sent over JSON.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the id of the iteration.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the iteration.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "status": { + "description": "Gets the current iteration status.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Gets the time this iteration was completed.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "format": "date-time", + "description": "Gets the time this iteration was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "trainedAt": { + "format": "date-time", + "description": "Gets the time this iteration was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "projectId": { + "format": "uuid", + "description": "Gets the project id of the iteration.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "exportable": { + "description": "Whether the iteration can be exported to another format for download.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "exportableTo": { + "description": "A set of platforms this iteration can export to.", + "type": "array", + "items": { + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ], + "type": "string", + "x-nullable": false + }, + "readOnly": true + }, + "domainId": { + "format": "uuid", + "description": "Get or sets a guid of the domain the iteration has been trained on.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "classificationType": { + "description": "Gets the classification type of the project.", + "enum": [ + "Multiclass", + "Multilabel" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "Classifier", + "modelAsString": true + } + }, + "trainingType": { + "description": "Gets the training type of the iteration.", + "enum": [ + "Regular", + "Advanced" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "TrainingType", + "modelAsString": true + } + }, + "reservedBudgetInHours": { + "format": "int32", + "description": "Gets the reserved advanced training budget for the iteration.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "publishName": { + "description": "Name of the published model.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "originalPublishResourceId": { + "description": "Resource Provider Id this iteration was originally published to.", + "type": "string", + "readOnly": true, + "x-nullable": true + } + } + }, + "Export": { + "type": "object", + "properties": { + "platform": { + "description": "Platform of the export.", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ExportPlatform", + "modelAsString": true + } + }, + "status": { + "description": "Status of the export.", + "enum": [ + "Exporting", + "Failed", + "Done" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ExportStatus", + "modelAsString": true + } + }, + "downloadUri": { + "description": "URI used to download the model.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "flavor": { + "description": "Flavor of the export.", + "enum": [ + "Linux", + "Windows", + "ONNX10", + "ONNX12", + "ARM" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "ExportFlavor", + "modelAsString": true + } + }, + "newerVersionAvailable": { + "description": "Indicates an updated version of the export package is available and should be re-exported for the latest changes.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + } + } + }, + "Tag": { + "description": "Represents a Tag.", + "required": [ + "name", + "description", + "type" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the Tag ID.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "description": { + "description": "Gets or sets the description of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "type": { + "description": "Gets or sets the type of the tag.", + "enum": [ + "Regular", + "Negative" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "TagType", + "modelAsString": true + } + }, + "imageCount": { + "format": "int32", + "description": "Gets the number of images with this tag.", + "type": "integer", + "readOnly": true, + "x-nullable": false + } + } + }, + "CustomVisionError": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "NoError", + "BadRequest", + "BadRequestExceededBatchSize", + "BadRequestNotSupported", + "BadRequestInvalidIds", + "BadRequestProjectName", + "BadRequestProjectNameNotUnique", + "BadRequestProjectDescription", + "BadRequestProjectUnknownDomain", + "BadRequestProjectUnknownClassification", + "BadRequestProjectUnsupportedDomainTypeChange", + "BadRequestProjectUnsupportedExportPlatform", + "BadRequestIterationName", + "BadRequestIterationNameNotUnique", + "BadRequestIterationDescription", + "BadRequestIterationIsNotTrained", + "BadRequestWorkspaceCannotBeModified", + "BadRequestWorkspaceNotDeletable", + "BadRequestTagName", + "BadRequestTagNameNotUnique", + "BadRequestTagDescription", + "BadRequestTagType", + "BadRequestMultipleNegativeTag", + "BadRequestImageTags", + "BadRequestImageRegions", + "BadRequestNegativeAndRegularTagOnSameImage", + "BadRequestRequiredParamIsNull", + "BadRequestIterationIsPublished", + "BadRequestInvalidPublishName", + "BadRequestInvalidPublishTarget", + "BadRequestUnpublishFailed", + "BadRequestIterationNotPublished", + "BadRequestSubscriptionApi", + "BadRequestExceedProjectLimit", + "BadRequestExceedIterationPerProjectLimit", + "BadRequestExceedTagPerProjectLimit", + "BadRequestExceedTagPerImageLimit", + "BadRequestExceededQuota", + "BadRequestCannotMigrateProjectWithName", + "BadRequestNotLimitedTrial", + "BadRequestImageBatch", + "BadRequestImageStream", + "BadRequestImageUrl", + "BadRequestImageFormat", + "BadRequestImageSizeBytes", + "BadRequestImageExceededCount", + "BadRequestTrainingNotNeeded", + "BadRequestTrainingNotNeededButTrainingPipelineUpdated", + "BadRequestTrainingValidationFailed", + "BadRequestClassificationTrainingValidationFailed", + "BadRequestMultiClassClassificationTrainingValidationFailed", + "BadRequestMultiLabelClassificationTrainingValidationFailed", + "BadRequestDetectionTrainingValidationFailed", + "BadRequestTrainingAlreadyInProgress", + "BadRequestDetectionTrainingNotAllowNegativeTag", + "BadRequestInvalidEmailAddress", + "BadRequestDomainNotSupportedForAdvancedTraining", + "BadRequestExportPlatformNotSupportedForAdvancedTraining", + "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining", + "BadRequestExportValidationFailed", + "BadRequestExportAlreadyInProgress", + "BadRequestPredictionIdsMissing", + "BadRequestPredictionIdsExceededCount", + "BadRequestPredictionTagsExceededCount", + "BadRequestPredictionResultsExceededCount", + "BadRequestPredictionInvalidApplicationName", + "BadRequestPredictionInvalidQueryParameters", + "BadRequestInvalid", + "UnsupportedMediaType", + "Forbidden", + "ForbiddenUser", + "ForbiddenUserResource", + "ForbiddenUserSignupDisabled", + "ForbiddenUserSignupAllowanceExceeded", + "ForbiddenUserDoesNotExist", + "ForbiddenUserDisabled", + "ForbiddenUserInsufficientCapability", + "ForbiddenDRModeEnabled", + "ForbiddenInvalid", + "NotFound", + "NotFoundProject", + "NotFoundProjectDefaultIteration", + "NotFoundIteration", + "NotFoundIterationPerformance", + "NotFoundTag", + "NotFoundImage", + "NotFoundDomain", + "NotFoundApimSubscription", + "NotFoundInvalid", + "Conflict", + "ConflictInvalid", + "ErrorUnknown", + "ErrorProjectInvalidWorkspace", + "ErrorProjectInvalidPipelineConfiguration", + "ErrorProjectInvalidDomain", + "ErrorProjectTrainingRequestFailed", + "ErrorProjectExportRequestFailed", + "ErrorFeaturizationServiceUnavailable", + "ErrorFeaturizationQueueTimeout", + "ErrorFeaturizationInvalidFeaturizer", + "ErrorFeaturizationAugmentationUnavailable", + "ErrorFeaturizationUnrecognizedJob", + "ErrorFeaturizationAugmentationError", + "ErrorExporterInvalidPlatform", + "ErrorExporterInvalidFeaturizer", + "ErrorExporterInvalidClassifier", + "ErrorPredictionServiceUnavailable", + "ErrorPredictionModelNotFound", + "ErrorPredictionModelNotCached", + "ErrorPrediction", + "ErrorPredictionStorage", + "ErrorRegionProposal", + "ErrorInvalid" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiKey": { + "name": "Training-Key", + "in": "header", + "description": "API key.", + "required": true, + "type": "string", + "x-ms-client-name": "ApiKey", + "x-ms-parameter-location": "client" + }, + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "Supported Cognitive Services endpoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImageRegions.json new file mode 100644 index 000000000000..a0ef98e2a450 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImageRegions.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "batch": { + "regions" : [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId" : "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "created": [ ], + "duplicated": [], + "exceeded": [] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImageTags.json new file mode 100644 index 000000000000..91d3ba604a24 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImageTags.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "batch": { + "tags": [ + { + "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "created": [ + { + "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ], + "duplicated": null, + "exceeded": null + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromData.json new file mode 100644 index 000000000000..d52f05c8f334 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromData.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ], + "imageData": "multipart data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "\"hemlock_6.jpg\"", + "status": "OK", + "image": { + "id": "f1855a92-b873-47e7-b513-f07a667ceda1", + "created": "2017-12-19T15:56:10Z", + "width": 900, + "height": 1531, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromFiles.json new file mode 100644 index 000000000000..9a2ad2143d4d --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromFiles.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "name": "hemlock_10.jpg", + "contents": "{image contents}" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromPredictions.json new file mode 100644 index 000000000000..8f09a114ba5e --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromPredictions.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromUrls.json new file mode 100644 index 000000000000..fafbdc118420 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateImagesFromUrls.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "url": "{url to image}" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "{url to image}", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag name" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateProject.json new file mode 100644 index 000000000000..5f92bb5e24a6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateProject.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "name": "My New Project", + "description": "A test project", + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "A test project", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateTag.json new file mode 100644 index 000000000000..aef1e14152d4 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/CreateTag.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "Tag1", + "description": "Description of Tag1", + "body": "" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImageRegions.json new file mode 100644 index 000000000000..a35354da0478 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImageRegions.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "regionIds": [ "" ] + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImageTags.json new file mode 100644 index 000000000000..8de8d0ffd3b9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImageTags.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ], + "tagIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImages.json new file mode 100644 index 000000000000..ab086b435194 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteImages.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteIteration.json new file mode 100644 index 000000000000..bbada4036451 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteIteration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeletePrediction.json new file mode 100644 index 000000000000..663540a9c7e2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeletePrediction.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "ids": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteProject.json new file mode 100644 index 000000000000..2b60aa038b8c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteProject.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteTag.json new file mode 100644 index 000000000000..e9df96b2c6e4 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/DeleteTag.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/ExportIteration.json new file mode 100644 index 000000000000..6e9c04481fdf --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/ExportIteration.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "platform": "TensorFlow" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "platform": "TensorFlow", + "status": "Exporting", + "downloadUri": "", + "newerVersionAvailable": false + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetDomain.json new file mode 100644 index 000000000000..2c485a31b63f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "domainId": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "name": "Retail", + "type": "Classification", + "exportable": false, + "enabled": true + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetDomains.json new file mode 100644 index 000000000000..72f0524a3960 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetDomains.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "name": "General", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "c151d5b5-dd07-472a-acc8-15d29dea8518", + "name": "Food", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "ca455789-012d-4b50-9fec-5bb63841c793", + "name": "Landmarks", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "name": "Retail", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "45badf75-3591-4f26-a705-45678d3e9f5f", + "name": "Adult", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "0732100f-1a38-4e49-a514-c9b44c697ab5", + "name": "General (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894", + "name": "Landmarks (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "6b4faeda-8396-481b-9f8b-177b9fa3097f", + "name": "Retail (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetExports.json new file mode 100644 index 000000000000..3e6379ee2e7f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetExports.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "platform": "TensorFlow", + "status": "Done", + "newerVersionAvailable": false, + "downloadUri": "{Download URI}" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagePerformanceCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagePerformanceCount.json new file mode 100644 index 000000000000..75a4c85e295b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagePerformanceCount.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12", + "tagIds": [ "b5f7e6a2-a481-49a6-afec-a7cef1af3544" ] + }, + "responses": { + "200": { + "headers": {}, + "body": "1" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagePerformances.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagePerformances.json new file mode 100644 index 000000000000..15743496d81b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagePerformances.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "tagIds": [ + "" + ], + "orderBy": "Newest" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0, + "boundingBox": { + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + } + ], + "width": 600, + "height": 1600, + "imageUri": "", + "thumbnailUri": "", + "tags" : [ ], + "regions": [ ] + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImageRegionProposals.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImageRegionProposals.json new file mode 100644 index 000000000000..ed9e828cd308 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImageRegionProposals.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "proposals": [ + { + "confidence": 0.25, + "boundingBox": { + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagesByIds.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagesByIds.json new file mode 100644 index 000000000000..98f4c880665a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetImagesByIds.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIteration.json new file mode 100644 index 000000000000..06a2655ba910 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIteration.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:47:02Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ "ONNX", "DockerFile", "TensorFlow", "CoreML" ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIterationPerformance.json new file mode 100644 index 000000000000..8fea34b309d7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIterationPerformance.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "threshold": 0.9 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "perTagPerformance": [ + { + "id": "e31ff107-5505-4753-be42-b369b21b026c", + "name": "Hemlock", + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + }, + { + "id": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "name": "Japanese Cherry", + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + } + ], + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIterations.json new file mode 100644 index 000000000000..3d3d0f72b54a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetIterations.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "name": "Iteration 1", + "status": "Completed", + "created": "2017-12-18T22:40:29Z", + "lastModified": "2017-12-18T22:40:41Z", + "trainedAt": "2017-12-18T22:40:41Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ "ONNX", "DockerFile", "TensorFlow", "CoreML" ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + }, + { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:47:02Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ "ONNX", "DockerFile", "TensorFlow", "CoreML" ], + "trainingType": "Regular", + "reservedBudgetInHours": 5, + "publishName": "model1" + }, + { + "id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5", + "name": "Iteration 3", + "status": "New", + "created": "2017-12-19T15:46:59Z", + "lastModified": "2017-12-19T15:46:59Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": null, + "exportableTo": [ "ONNX", "DockerFile", "TensorFlow", "CoreML" ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetProject.json new file mode 100644 index 000000000000..84e4dc4b5831 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetProject.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "A test project", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetProjects.json new file mode 100644 index 000000000000..d30ce59327a8 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetProjects.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTag.json new file mode 100644 index 000000000000..7f3ec8654a99 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTag.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTaggedImageCount.json new file mode 100644 index 000000000000..89707bb70271 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTaggedImageCount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": "10" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTaggedImages.json new file mode 100644 index 000000000000..98f4c880665a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTaggedImages.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTags.json new file mode 100644 index 000000000000..5d58993f24c8 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetTags.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetUntaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetUntaggedImageCount.json new file mode 100644 index 000000000000..89707bb70271 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetUntaggedImageCount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": "10" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetUntaggedImages.json new file mode 100644 index 000000000000..98f4c880665a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/GetUntaggedImages.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/PublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/PublishIteration.json new file mode 100644 index 000000000000..7026e24e897c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/PublishIteration.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "publishName": "Model1", + "predictionId": "/subscriptions/{subscription}/resourceGroups/{resource group name}/providers/Microsoft.CognitiveServices/accounts/{resource name}" + }, + "responses": { + "200": { + "headers": {}, + "body": true + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QueryPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QueryPredictions.json new file mode 100644 index 000000000000..0bc765721364 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QueryPredictions.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "query": { + "orderBy": "Newest", + "tags": [ + { + "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "maxThreshold": 1, + "minThreshold": 0.9 + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "results": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "project": "8988643a-ae70-447d-9a22-15c4255e5ecb", + "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0 + }, + { + "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "tagName": "Tag 2", + "probability": 3.60627153E-12 + } + ], + "originalImageUri": "", + "thumbnailUri": "", + "resizedImageUri": "", + "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + } + ], + "token": { + "session": "1:286613", + "continuation": "", + "maxCount": 0, + "orderBy": "Newest", + "tags": [ + { + "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "minThreshold": 0.9, + "maxThreshold": 1.0 + } + ], + "iterationId": null, + "startTime": null, + "endTime": null, + "application": "" + } + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QuickTestImage.json new file mode 100644 index 000000000000..27cb296211df --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QuickTestImage.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2017-12-19T14:21:41Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.00 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QuickTestImageUrl.json new file mode 100644 index 000000000000..0aed543a0fd2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/QuickTestImageUrl.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2017-12-19T14:21:41Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.00 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/TrainProject.json new file mode 100644 index 000000000000..4b0484e0918a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/TrainProject.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Training", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:46:58Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": null, + "exportableTo": [ "ONNX", "DockerFile", "TensorFlow", "CoreML" ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UnpublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UnpublishIteration.json new file mode 100644 index 000000000000..bbada4036451 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UnpublishIteration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateIteration.json new file mode 100644 index 000000000000..9c0c74de536f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateIteration.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "updatedIteration": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Best Iteration", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:53:07Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "exportableTo": [ "ONNX", "DockerFile", "TensorFlow", "CoreML" ], + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Best Iteration", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:53:07Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "exportableTo": [ "ONNX", "DockerFile", "TensorFlow", "CoreML" ], + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateProject.json new file mode 100644 index 000000000000..81f30b39eac9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateProject.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "updatedProject": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "New Project Name", + "description": "A new Description", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "New Project Name", + "description": "A new Description", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:19Z", + "thumbnailUri": "" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateTag.json new file mode 100644 index 000000000000..c5e52e1ea3dd --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.0/examples/UpdateTag.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "updatedTag": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Better Tag Name", + "type": "Regular", + "description": "Better description", + "imageCount": 0 + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Better Tag Name", + "description": "Better description", + "type": "Regular", + "imageCount": 0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json index 4ba876584a09..84c75b6d6d56 100644 --- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json +++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json @@ -5,11 +5,52 @@ "version": "2.0" }, "x-ms-parameterized-host": { - "hostTemplate": "{Endpoint}/luis/api/v2.0", - "useSchemePrefix": false, + "hostTemplate": "{AzureRegion}.api.cognitive.microsoft.{AzureCloud}/luis/api/v2.0", "parameters": [ { - "$ref": "#/parameters/Endpoint" + "name": "AzureRegion", + "description": "Supported Azure regions for Cognitive Services endpoints", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-enum": { + "name": "AzureRegions", + "modelAsString": false + }, + "enum": [ + "westus", + "westeurope", + "southeastasia", + "eastus2", + "westcentralus", + "westus2", + "eastus", + "southcentralus", + "northeurope", + "eastasia", + "australiaeast", + "brazilsouth", + "virginia" + ] + }, + { + "name": "AzureCloud", + "description": "Supported Azure Clouds for Cognitive Services endpoints", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-enum": { + "name": "AzureClouds", + "modelAsString": false + }, + "enum": [ + "com", + "us" + ] } ] }, @@ -28,7 +69,7 @@ "paths": { "/apps/{appId}/versions/{versionId}/patterns": { "post": { - "description": "[DEPRECATED NOTICE: This operation will soon be removed] Creates a new pattern feature.", + "description": "[DEPRECATED NOTICE: This operation will soon be removed] Creates a new pattern feature in a version of the application.", "operationId": "Features_CreatePatternFeature", "deprecated": true, "parameters": [ @@ -76,7 +117,7 @@ }, "get": { "description": "[DEPRECATED NOTICE: This operation will soon be removed] Gets all the pattern features.", - "operationId": "Features_GetApplicationVersionPatternFeatures", + "operationId": "Features_ListApplicationVersionPatternFeatures", "deprecated": true, "parameters": [ { @@ -118,7 +159,7 @@ }, "/apps/{appId}/versions/{versionId}/phraselists": { "post": { - "description": "Creates a new phraselist feature.", + "description": "Creates a new phraselist feature in a version of the application.", "operationId": "Features_AddPhraseList", "parameters": [ { @@ -164,7 +205,7 @@ } }, "get": { - "description": "Gets all the phraselist features.", + "description": "Gets all the phraselist features in a version of the application.", "operationId": "Features_ListPhraseLists", "parameters": [ { @@ -206,7 +247,7 @@ }, "/apps/{appId}/versions/{versionId}/features": { "get": { - "description": "Gets all the extraction features for the specified application version.", + "description": "Gets all the extraction phraselist and pattern features in a version of the application.", "operationId": "Features_List", "parameters": [ { @@ -248,7 +289,7 @@ }, "/apps/{appId}/versions/{versionId}/patterns/{patternId}": { "get": { - "description": "[DEPRECATED NOTICE: This operation will soon be removed] Gets the specified pattern feature's info.", + "description": "[DEPRECATED NOTICE: This operation will soon be removed] Gets the specified pattern feature's info in a version of the application.", "operationId": "Features_GetPatternFeatureInfo", "deprecated": true, "parameters": [ @@ -290,7 +331,7 @@ } }, "put": { - "description": "[DEPRECATED NOTICE: This operation will soon be removed] Updates the pattern, the name and the state of the pattern feature.", + "description": "[DEPRECATED NOTICE: This operation will soon be removed] Updates the pattern, the name and the state of the pattern feature in a version of the application.", "operationId": "Features_UpdatePatternFeature", "deprecated": true, "parameters": [ @@ -344,7 +385,7 @@ } }, "delete": { - "description": "[DEPRECATED NOTICE: This operation will soon be removed] Deletes a pattern feature.", + "description": "[DEPRECATED NOTICE: This operation will soon be removed] Deletes a pattern feature in a version of the application.", "operationId": "Features_DeletePatternFeature", "deprecated": true, "parameters": [ @@ -388,7 +429,7 @@ }, "/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}": { "get": { - "description": "Gets phraselist feature info.", + "description": "Gets phraselist feature info in a version of the application.", "operationId": "Features_GetPhraseList", "parameters": [ { @@ -429,7 +470,7 @@ } }, "put": { - "description": "Updates the phrases, the state and the name of the phraselist feature.", + "description": "Updates the phrases, the state and the name of the phraselist feature in a version of the application.", "operationId": "Features_UpdatePhraseList", "parameters": [ { @@ -481,7 +522,7 @@ } }, "delete": { - "description": "Deletes a phraselist feature.", + "description": "Deletes a phraselist feature from a version of the application.", "operationId": "Features_DeletePhraseList", "parameters": [ { @@ -524,7 +565,7 @@ }, "/apps/{appId}/versions/{versionId}/example": { "post": { - "description": "Adds a labeled example to the application.", + "description": "Adds a labeled example utterance in a version of the application.", "operationId": "Examples_Add", "parameters": [ { @@ -540,7 +581,7 @@ "schema": { "$ref": "#/definitions/ExampleLabelObject" }, - "description": "An example label with the expected intent and entities." + "description": "A labeled example utterance with the expected intent and entities." } ], "consumes": [ @@ -548,7 +589,7 @@ ], "responses": { "201": { - "description": "The ID of the created example.", + "description": "The ID of the created example utterance.", "schema": { "$ref": "#/definitions/LabelExampleResponse" } @@ -572,7 +613,7 @@ }, "/apps/{appId}/versions/{versionId}/examples": { "post": { - "description": "Adds a batch of labeled examples to the application.", + "description": "Adds a batch of labeled example utterances to a version of the application.", "operationId": "Examples_Batch", "parameters": [ { @@ -588,7 +629,7 @@ "schema": { "$ref": "#/definitions/ExampleLabelObjectArray" }, - "description": "Array of examples." + "description": "Array of example utterances." } ], "consumes": [ @@ -596,13 +637,13 @@ ], "responses": { "201": { - "description": "A string array determining which labels were added successfully.", + "description": "A string array determining which labeled example utterances were added successfully.", "schema": { "$ref": "#/definitions/BatchLabelExampleResponse" } }, "207": { - "description": "Indicates that the request was partially successful. The response contains a string array indicating the status of each of the added labels.", + "description": "Indicates that the request was partially successful. The response contains a string array indicating the status of each of the added labeled example utterances.", "schema": { "$ref": "#/definitions/BatchLabelExampleResponse" } @@ -624,7 +665,7 @@ } }, "get": { - "description": "Returns examples to be reviewed.", + "description": "Returns example utterances to be reviewed from a version of the application.", "operationId": "Examples_List", "parameters": [ { @@ -642,7 +683,7 @@ ], "responses": { "200": { - "description": "A list of predictions and label pairs for every example in the application.", + "description": "A list of predictions and label pairs for every example utterance in the application.", "schema": { "$ref": "#/definitions/LabeledUtterances" } @@ -666,7 +707,7 @@ }, "/apps/{appId}/versions/{versionId}/examples/{exampleId}": { "delete": { - "description": "Deletes the labeled example with the specified ID.", + "description": "Deletes the labeled example utterances with the specified ID from a version of the application.", "operationId": "Examples_Delete", "parameters": [ { @@ -685,7 +726,7 @@ ], "responses": { "200": { - "description": "Successfully deleted example label.", + "description": "Successfully deleted example utterance.", "schema": { "$ref": "#/definitions/OperationStatus" } @@ -709,7 +750,7 @@ }, "/apps/{appId}/versions/{versionId}/intents": { "post": { - "description": "Adds an intent classifier to the application.", + "description": "Adds an intent to a version of the application.", "operationId": "Model_AddIntent", "parameters": [ { @@ -725,7 +766,7 @@ "schema": { "$ref": "#/definitions/ModelCreateObject" }, - "description": "A model object containing the name of the new intent classifier." + "description": "A model object containing the name of the new intent." } ], "consumes": [ @@ -733,7 +774,7 @@ ], "responses": { "201": { - "description": "The ID of the created model.", + "description": "The ID of the created intent model.", "x-nullable": false, "schema": { "$ref": "#/definitions/GuidResponse" @@ -750,7 +791,7 @@ } }, "get": { - "description": "Gets information about the intent models.", + "description": "Gets information about the intent models in a version of the application.", "operationId": "Model_ListIntents", "parameters": [ { @@ -792,7 +833,7 @@ }, "/apps/{appId}/versions/{versionId}/entities": { "post": { - "description": "Adds a simple entity extractor to the application.", + "description": "Adds a simple entity extractor to a version of the application.", "operationId": "Model_AddEntity", "parameters": [ { @@ -839,7 +880,7 @@ } }, "get": { - "description": "Gets information about the entity models.", + "description": "Gets information about all the simple entity models in a version of the application.", "operationId": "Model_ListEntities", "parameters": [ { @@ -881,7 +922,7 @@ }, "/apps/{appId}/versions/{versionId}/hierarchicalentities": { "post": { - "description": "Adds a hierarchical entity extractor to the application version.", + "description": "Adds a hierarchical entity extractor to a version of the application.", "operationId": "Model_AddHierarchicalEntity", "parameters": [ { @@ -928,7 +969,7 @@ } }, "get": { - "description": "Gets information about the hierarchical entity models.", + "description": "Gets information about all the hierarchical entity models in a version of the application.", "operationId": "Model_ListHierarchicalEntities", "parameters": [ { @@ -970,7 +1011,7 @@ }, "/apps/{appId}/versions/{versionId}/compositeentities": { "post": { - "description": "Adds a composite entity extractor to the application.", + "description": "Adds a composite entity extractor to a version of the application.", "operationId": "Model_AddCompositeEntity", "parameters": [ { @@ -1017,7 +1058,7 @@ } }, "get": { - "description": "Gets information about the composite entity models.", + "description": "Gets information about all the composite entity models in a version of the application.", "operationId": "Model_ListCompositeEntities", "parameters": [ { @@ -1059,7 +1100,7 @@ }, "/apps/{appId}/versions/{versionId}/closedlists": { "get": { - "description": "Gets information about the closedlist models.", + "description": "Gets information about all the list entity models in a version of the application.", "operationId": "Model_ListClosedLists", "parameters": [ { @@ -1077,7 +1118,7 @@ ], "responses": { "200": { - "description": "A list of closedlist entity model infos.", + "description": "A list of list entity model infos.", "schema": { "$ref": "#/definitions/ClosedListEntityExtractorsList" } @@ -1099,7 +1140,7 @@ } }, "post": { - "description": "Adds a closed list model to the application.", + "description": "Adds a list entity model to a version of the application.", "operationId": "Model_AddClosedList", "parameters": [ { @@ -1115,7 +1156,7 @@ "schema": { "$ref": "#/definitions/ClosedListModelCreateObject" }, - "description": "A model containing the name and words for the new closed list entity extractor." + "description": "A model containing the name and words for the new list entity extractor." } ], "consumes": [ @@ -1148,7 +1189,7 @@ }, "/apps/{appId}/versions/{versionId}/prebuilts": { "post": { - "description": "Adds a list of prebuilt entity extractors to the application.", + "description": "Adds a list of prebuilt entities to a version of the application.", "operationId": "Model_AddPrebuilt", "parameters": [ { @@ -1194,7 +1235,7 @@ } }, "get": { - "description": "Gets information about the prebuilt entity models.", + "description": "Gets information about all the prebuilt entities in a version of the application.", "operationId": "Model_ListPrebuilts", "parameters": [ { @@ -1236,7 +1277,7 @@ }, "/apps/{appId}/versions/{versionId}/listprebuilts": { "get": { - "description": "Gets all the available prebuilt entity extractors for the application.", + "description": "Gets all the available prebuilt entities in a version of the application.", "operationId": "Model_ListPrebuiltEntities", "parameters": [ { @@ -1272,7 +1313,7 @@ }, "/apps/{appId}/versions/{versionId}/models": { "get": { - "description": "Gets information about the application version models.", + "description": "Gets information about all the intent and entity models in a version of the application.", "operationId": "Model_ListModels", "parameters": [ { @@ -1314,7 +1355,7 @@ }, "/apps/{appId}/versions/{versionId}/models/{modelId}/examples": { "get": { - "description": "Gets the utterances for the given model in the given app version.", + "description": "Gets the example utterances for the given intent or entity model in a version of the application.", "operationId": "Model_Examples", "parameters": [ { @@ -1340,7 +1381,7 @@ ], "responses": { "200": { - "description": "A list of examples for the model.", + "description": "A list of example utterances for the model.", "schema": { "$ref": "#/definitions/ExamplesPerModelResponseObject" } @@ -1364,7 +1405,7 @@ }, "/apps/{appId}/versions/{versionId}/intents/{intentId}": { "get": { - "description": "Gets information about the intent model.", + "description": "Gets information about the intent model in a version of the application.", "operationId": "Model_GetIntent", "parameters": [ { @@ -1401,7 +1442,7 @@ } }, "put": { - "description": "Updates the name of an intent classifier.", + "description": "Updates the name of an intent in a version of the application.", "operationId": "Model_UpdateIntent", "parameters": [ { @@ -1420,7 +1461,7 @@ "schema": { "$ref": "#/definitions/ModelUpdateObject" }, - "description": "A model object containing the new intent classifier name." + "description": "A model object containing the new intent name." } ], "consumes": [ @@ -1450,7 +1491,7 @@ } }, "delete": { - "description": "Deletes an intent classifier from the application.", + "description": "Deletes an intent from a version of the application.", "operationId": "Model_DeleteIntent", "parameters": [ { @@ -1466,7 +1507,7 @@ "name": "deleteUtterances", "in": "query", "type": "boolean", - "description": "Also delete the intent's utterances (true). Or move the utterances to the None intent (false - the default value).", + "description": "If true, deletes the intent's example utterances. If false, moves the example utterances to the None intent. The default value is false.", "default": false } ], @@ -1496,7 +1537,7 @@ }, "/apps/{appId}/versions/{versionId}/entities/{entityId}": { "get": { - "description": "Gets information about the entity model.", + "description": "Gets information about an entity model in a version of the application.", "operationId": "Model_GetEntity", "parameters": [ { @@ -1538,7 +1579,7 @@ } }, "put": { - "description": "Updates the name of an entity extractor.", + "description": "Updates the name of an entity in a version of the application.", "operationId": "Model_UpdateEntity", "parameters": [ { @@ -1592,7 +1633,7 @@ } }, "delete": { - "description": "Deletes an entity extractor from the application.", + "description": "Deletes an entity from a version of the application.", "operationId": "Model_DeleteEntity", "parameters": [ { @@ -1636,7 +1677,7 @@ }, "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}": { "get": { - "description": "Gets information about the hierarchical entity model.", + "description": "Gets information about a hierarchical entity in a version of the application.", "operationId": "Model_GetHierarchicalEntity", "parameters": [ { @@ -1673,7 +1714,7 @@ } }, "put": { - "description": "Updates the name and children of a hierarchical entity model.", + "description": "Updates the name and children of a hierarchical entity model in a version of the application.", "operationId": "Model_UpdateHierarchicalEntity", "parameters": [ { @@ -1722,7 +1763,7 @@ } }, "delete": { - "description": "Deletes a hierarchical entity extractor from the application version.", + "description": "Deletes a hierarchical entity from a version of the application.", "operationId": "Model_DeleteHierarchicalEntity", "parameters": [ { @@ -1761,7 +1802,7 @@ }, "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}": { "get": { - "description": "Gets information about the composite entity model.", + "description": "Gets information about a composite entity in a version of the application.", "operationId": "Model_GetCompositeEntity", "parameters": [ { @@ -1798,7 +1839,7 @@ } }, "put": { - "description": "Updates the composite entity extractor.", + "description": "Updates a composite entity in a version of the application.", "operationId": "Model_UpdateCompositeEntity", "parameters": [ { @@ -1847,7 +1888,7 @@ } }, "delete": { - "description": "Deletes a composite entity extractor from the application.", + "description": "Deletes a composite entity from a version of the application.", "operationId": "Model_DeleteCompositeEntity", "parameters": [ { @@ -1886,7 +1927,7 @@ }, "/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}": { "get": { - "description": "Gets information of a closed list model.", + "description": "Gets information about a list entity in a version of the application.", "operationId": "Model_GetClosedList", "parameters": [ { @@ -1898,7 +1939,7 @@ { "name": "clEntityId", "in": "path", - "description": "The closed list model ID.", + "description": "The list model ID.", "required": true, "type": "string", "format": "uuid" @@ -1906,7 +1947,7 @@ ], "responses": { "200": { - "description": "The closed list model info.", + "description": "The list model info.", "schema": { "$ref": "#/definitions/ClosedListEntityExtractor" } @@ -1928,7 +1969,7 @@ } }, "put": { - "description": "Updates the closed list model.", + "description": "Updates the list entity in a version of the application.", "operationId": "Model_UpdateClosedList", "parameters": [ { @@ -1940,7 +1981,7 @@ { "name": "clEntityId", "in": "path", - "description": "The closed list model ID.", + "description": "The list model ID.", "required": true, "type": "string", "format": "uuid" @@ -1952,7 +1993,7 @@ "schema": { "$ref": "#/definitions/ClosedListModelUpdateObject" }, - "description": "The new entity name and words list." + "description": "The new list entity name and words list." } ], "consumes": [ @@ -1960,7 +2001,7 @@ ], "responses": { "200": { - "description": "Successfully updated Closed List name and words list.", + "description": "Successfully updated list entity name and words list.", "schema": { "$ref": "#/definitions/OperationStatus" } @@ -1982,7 +2023,7 @@ } }, "patch": { - "description": "Adds a batch of sublists to an existing closedlist.", + "description": "Adds a batch of sublists to an existing list entity in a version of the application.", "operationId": "Model_PatchClosedList", "parameters": [ { @@ -1994,7 +2035,7 @@ { "name": "clEntityId", "in": "path", - "description": "The closed list model ID.", + "description": "The list entity model ID.", "required": true, "type": "string", "format": "uuid" @@ -2014,7 +2055,7 @@ ], "responses": { "200": { - "description": "Successfully added sublists to Closed List.", + "description": "Successfully added sublists to the list entity.", "schema": { "$ref": "#/definitions/OperationStatus" } @@ -2036,7 +2077,7 @@ } }, "delete": { - "description": "Deletes a closed list model from the application.", + "description": "Deletes a list entity model from a version of the application.", "operationId": "Model_DeleteClosedList", "parameters": [ { @@ -2048,7 +2089,7 @@ { "name": "clEntityId", "in": "path", - "description": "The closed list model ID.", + "description": "The list entity model ID.", "required": true, "type": "string", "format": "uuid" @@ -2056,7 +2097,7 @@ ], "responses": { "200": { - "description": "Successfully delete Closed List from application.", + "description": "Successfully delete list entity from a version of application.", "schema": { "$ref": "#/definitions/OperationStatus" } @@ -2080,7 +2121,7 @@ }, "/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}": { "get": { - "description": "Gets information about the prebuilt entity model.", + "description": "Gets information about a prebuilt entity model in a version of the application.", "operationId": "Model_GetPrebuilt", "parameters": [ { @@ -2122,7 +2163,7 @@ } }, "delete": { - "description": "Deletes a prebuilt entity extractor from the application.", + "description": "Deletes a prebuilt entity extractor from a version of the application.", "operationId": "Model_DeletePrebuilt", "parameters": [ { @@ -2166,7 +2207,7 @@ }, "/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}": { "delete": { - "description": "Deletes a sublist of a specific closed list model.", + "description": "Deletes a sublist of a specific list entity model from a version of the application.", "operationId": "Model_DeleteSubList", "parameters": [ { @@ -2178,7 +2219,7 @@ { "name": "clEntityId", "in": "path", - "description": "The closed list entity extractor ID.", + "description": "The list entity extractor ID.", "required": true, "type": "string", "format": "uuid" @@ -2188,7 +2229,8 @@ "in": "path", "description": "The sublist ID.", "required": true, - "type": "integer" + "type": "integer", + "format": "int64" } ], "responses": { @@ -2215,7 +2257,7 @@ } }, "put": { - "description": "Updates one of the closed list's sublists.", + "description": "Updates one of the list entity's sublists in a version of the application.", "operationId": "Model_UpdateSubList", "parameters": [ { @@ -2227,7 +2269,7 @@ { "name": "clEntityId", "in": "path", - "description": "The closed list entity extractor ID.", + "description": "The list entity extractor ID.", "required": true, "type": "string", "format": "uuid" @@ -2237,7 +2279,8 @@ "in": "path", "description": "The sublist ID.", "required": true, - "type": "integer" + "type": "integer", + "format": "int64" }, { "name": "wordListBaseUpdateObject", @@ -2278,8 +2321,8 @@ }, "/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest": { "get": { - "description": "Suggests examples that would improve the accuracy of the intent model.", - "operationId": "Model_GetIntentSuggestions", + "description": "Suggests example utterances that would improve the accuracy of the intent model in a version of the application.", + "operationId": "Model_ListIntentSuggestions", "parameters": [ { "$ref": "#/parameters/AppIdInPath" @@ -2296,7 +2339,7 @@ ], "responses": { "200": { - "description": "If there's no trained model, nothing is returned in the response. If there's a trained model and the active learning algorithm finds any relevant queries, they are returned with the model predictions. If there's a trained model but the active learning algorithm didn't find any relevant queries, an empty list is returned in the response.", + "description": "If there's no trained intent model, nothing is returned in the response. If there's a trained model and active learning finds any relevant queries, they are returned with the intent model predictions. If there's a trained model but active learning didn't find any relevant queries, an empty list is returned in the response.", "schema": { "$ref": "#/definitions/IntentsSuggestionExamples" } @@ -2320,8 +2363,8 @@ }, "/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest": { "get": { - "description": "Get suggestion examples that would improve the accuracy of the entity model.", - "operationId": "Model_GetEntitySuggestions", + "description": "Get suggested example utterances that would improve the accuracy of the entity model in a version of the application.", + "operationId": "Model_ListEntitySuggestions", "parameters": [ { "$ref": "#/parameters/AppIdInPath" @@ -2343,7 +2386,7 @@ ], "responses": { "200": { - "description": "If there's no trained model, nothing is returned in the response. If there's a trained model and the active learning algorithm finds any relevant queries, they are returned with the model predictions. If there's a trained model but the active learning algorithm didn't find any relevant queries, an empty list is returned in the response.", + "description": "If there's no trained entity model, nothing is returned in the response. If there's a trained model and active learning finds any relevant queries, they are returned with the entity model predictions. If there's a trained model but active learning didn't find any relevant queries, an empty list is returned in the response.", "schema": { "$ref": "#/definitions/EntitiesSuggestionExamples" } @@ -2377,7 +2420,7 @@ "schema": { "$ref": "#/definitions/ApplicationCreateObject" }, - "description": "A model containing Name, Description (optional), Culture, Usage Scenario (optional), Domain (optional) and initial version ID (optional) of the application. Default value for the version ID is 0.1. Note: the culture cannot be changed after the app is created." + "description": "An application containing Name, Description (optional), Culture, Usage Scenario (optional), Domain (optional) and initial version ID (optional) of the application. Default value for the version ID is \"0.1\". Note: the culture cannot be changed after the app is created." } ], "consumes": [ @@ -2408,7 +2451,7 @@ } }, "get": { - "description": "Lists all of the user applications.", + "description": "Lists all of the user's applications.", "operationId": "Apps_List", "parameters": [ { @@ -2444,13 +2487,13 @@ }, "/apps/import": { "post": { - "description": "Imports an application to LUIS, the application's structure should be included in the request body.", + "description": "Imports an application to LUIS, the application's structure is included in the request body.", "operationId": "Apps_Import", "parameters": [ { "name": "appName", "in": "query", - "description": "The application name to create. If not specified, the application name will be read from the imported object.", + "description": "The application name to create. If not specified, the application name will be read from the imported object. If the application name already exists, an error is returned.", "type": "string" }, { @@ -2577,7 +2620,7 @@ }, "/apps/cultures": { "get": { - "description": "Gets the supported application cultures.", + "description": "Gets a list of supported cultures. Cultures are equivalent to the written language and locale. For example,\"en-us\" represents the U.S. variation of English.", "operationId": "Apps_ListSupportedCultures", "responses": { "200": { @@ -2605,7 +2648,7 @@ }, "/apps/{appId}/querylogs": { "get": { - "description": "Gets the query logs of the past month for the application.", + "description": "Gets the logs of the past month's endpoint queries for the application.", "operationId": "Apps_DownloadQueryLogs", "parameters": [ { @@ -2750,7 +2793,7 @@ }, "/apps/{appId}/versions/{versionId}/clone": { "post": { - "description": "Creates a new version using the current snapshot of the selected application version.", + "description": "Creates a new version from the selected version.", "operationId": "Versions_Clone", "parameters": [ { @@ -2762,6 +2805,7 @@ { "name": "versionCloneObject", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/TaskUpdateObject" }, @@ -2773,7 +2817,7 @@ ], "responses": { "201": { - "description": "The version ID of the created task.", + "description": "The new version ID.", "schema": { "type": "string" } @@ -2848,7 +2892,7 @@ }, "/apps/{appId}/versions": { "get": { - "description": "Gets the application versions info.", + "description": "Gets a list of versions for this application ID.", "operationId": "Versions_List", "parameters": [ { @@ -2890,7 +2934,7 @@ }, "/apps/{appId}/versions/{versionId}/": { "get": { - "description": "Gets the version info.", + "description": "Gets the version information such as date created, last modified date, endpoint URL, count of intents and entities, training and publishing status.", "operationId": "Versions_Get", "parameters": [ { @@ -3088,7 +3132,7 @@ ], "responses": { "200": { - "description": "A successful response provides an array of training status details for a LUIS app that you submitted for training. Each element in the response array provides training status for a model (intent or entity) in the LUIS app. Note: Training status is not provided for prebuilt entities because they are pretrained. The \"modelId\" property identifies which intent or entity the training status corresponds to. To get the name and type of each model, use the models API which has a request URL in this format: https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/{appId}/versions/{versionId}/models The details property for each model can contain the following fields: \"statusId\": An integer from 0 to 3 that corresponds to the value of the status field. \"status\": A string with one of the following values: \"Success\", \"UpToDate\", \"InProgress\", \"Fail\". If the status is \"Fail\", the \"failureReason\" property provides the reason for failure. \"exampleCount\": The number of examples used for training. In the case of the None intent or prebuilt domain intents and entities, this number includes example provided internally by the system as well as examples you added to your LUIS app. \"failureReason\": A string that indicates the reason training failed. The value \"FewLabels\" means that no labeled examples were provided for training. \"trainingDateTime\": A string indicating the time the model was last trained. The value uses the ISO 8601 format for representing times in UTC (Coordinated Universal Time) with a UTC designator (\"Z\"), for example: \"2017-08-10T01:08:34Z\".", + "description": "A successful response provides an array of training status details for a LUIS app that you submitted for training. Each element in the response array provides training status for a model (intent or entity) in the LUIS app. Note: Training status is not provided for prebuilt entities because they are pretrained. The \"modelId\" property identifies which intent or entity the training status corresponds to. To get the name and type of each model, use the models API which has a request URL in this format: https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/{appId}/versions/{versionId}/models The details property for each model can contain the following fields: \"statusId\": An integer from 0 to 3 that corresponds to the value of the status field. \"status\": A string with one of the following values: \"Success\", \"UpToDate\", \"InProgress\", \"Fail\". If the status is \"Fail\", the \"failureReason\" property provides the reason for failure. \"exampleCount\": The number of examples used for training. In the case of the None intent or prebuilt domain intents and entities, this number includes example provided internally by the system as well as examples you added to your LUIS app. \"failureReason\": A string that indicates the reason training failed. The value \"FewLabels\" means that no labeled example utterances were provided for training. \"trainingDateTime\": A string indicating the time the model was last trained. The value uses the ISO 8601 format for representing times in UTC (Coordinated Universal Time) with a UTC designator (\"Z\"), for example: \"2017-08-10T01:08:34Z\".", "schema": { "$ref": "#/definitions/ModelTrainingInfoList" } @@ -3164,7 +3208,7 @@ }, "/apps/{appId}/settings": { "get": { - "description": "Get the application settings.", + "description": "Get the application settings including 'UseAllTrainingData'.", "operationId": "Apps_GetSettings", "parameters": [ { @@ -3195,7 +3239,7 @@ } }, "put": { - "description": "Updates the application settings.", + "description": "Updates the application settings including 'UseAllTrainingData'.", "operationId": "Apps_UpdateSettings", "parameters": [ { @@ -3240,7 +3284,7 @@ }, "/apps/{appId}/publishsettings": { "get": { - "description": "Get the application publish settings.", + "description": "Get the application publish settings including 'UseAllTrainingData'.", "operationId": "Apps_GetPublishSettings", "parameters": [ { @@ -3271,7 +3315,7 @@ } }, "put": { - "description": "Updates the application publish settings.", + "description": "Updates the application publish settings including 'UseAllTrainingData'.", "operationId": "Apps_UpdatePublishSettings", "parameters": [ { @@ -3316,7 +3360,7 @@ }, "/apps/{appId}/versions/{versionId}/suggest": { "delete": { - "description": "Deleted an unlabelled utterance.", + "description": "Deleted an unlabelled utterance in a version of the application.", "operationId": "Versions_DeleteUnlabelledUtterance", "parameters": [ { @@ -3481,7 +3525,7 @@ } }, "put": { - "description": "Replaces the current users access list with the one sent in the body. If an empty list is sent, all access to other users will be removed.", + "description": "Replaces the current user access list with the new list sent in the body. If an empty list is sent, all access to other users will be removed.", "operationId": "Permissions_Update", "parameters": [ { @@ -3494,7 +3538,7 @@ "schema": { "$ref": "#/definitions/CollaboratorsArray" }, - "description": "A model containing a list of user's email addresses." + "description": "A model containing a list of user email addresses." } ], "consumes": [ @@ -3559,7 +3603,7 @@ }, "/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists": { "post": { - "description": "Adds a list to an existing closed list.", + "description": "Adds a sublist to an existing list entity in a version of the application.", "operationId": "Model_AddSubList", "parameters": [ { @@ -3571,7 +3615,7 @@ { "name": "clEntityId", "in": "path", - "description": "The closed list entity extractor ID.", + "description": "The list entity extractor ID.", "required": true, "type": "string", "format": "uuid" @@ -3591,9 +3635,10 @@ ], "responses": { "201": { - "description": "The ID of the newly created list.", + "description": "The ID of the newly created sublist.", "schema": { - "type": "integer" + "type": "integer", + "format": "int64" } }, "default": { @@ -3615,7 +3660,7 @@ }, "/apps/{appId}/versions/{versionId}/customprebuiltdomains": { "post": { - "description": "Adds a customizable prebuilt domain along with all of its models to this application.", + "description": "Adds a customizable prebuilt domain along with all of its intent and entity models in a version of the application.", "operationId": "Model_AddCustomPrebuiltDomain", "parameters": [ { @@ -3639,7 +3684,7 @@ ], "responses": { "201": { - "description": "An array of the created custom prebuilt domain model Ids.", + "description": "An array of the created customizable prebuilt domain intent and entity model Ids.", "schema": { "$ref": "#/definitions/GuidList" } @@ -3663,7 +3708,7 @@ }, "/apps/{appId}/versions/{versionId}/customprebuiltintents": { "post": { - "description": "Adds a custom prebuilt intent model to the application.", + "description": "Adds a customizable prebuilt intent model to a version of the application.", "operationId": "Model_AddCustomPrebuiltIntent", "parameters": [ { @@ -3679,7 +3724,7 @@ "schema": { "$ref": "#/definitions/PrebuiltDomainModelCreateObject" }, - "description": "A model object containing the name of the custom prebuilt intent and the name of the domain to which this model belongs." + "description": "A model object containing the name of the customizable prebuilt intent and the name of the domain to which this model belongs." } ], "consumes": [ @@ -3687,7 +3732,7 @@ ], "responses": { "201": { - "description": "The ID of the created model.", + "description": "The ID of the created intent model.", "x-nullable": false, "schema": { "$ref": "#/definitions/GuidResponse" @@ -3710,7 +3755,7 @@ } }, "get": { - "description": "Gets custom prebuilt intents information of this application.", + "description": "Gets information about customizable prebuilt intents added to a version of the application.", "operationId": "Model_ListCustomPrebuiltIntents", "parameters": [ { @@ -3722,7 +3767,7 @@ ], "responses": { "200": { - "description": "Returns a list of all custom prebuilt intents and their representations.", + "description": "Returns a list of all customizable prebuilt intents and their representations in a version of the application.", "schema": { "$ref": "#/definitions/IntentClassifiersList" } @@ -3746,7 +3791,7 @@ }, "/apps/{appId}/versions/{versionId}/customprebuiltentities": { "post": { - "description": "Adds a custom prebuilt entity model to the application.", + "description": "Adds a prebuilt entity model to a version of the application.", "operationId": "Model_AddCustomPrebuiltEntity", "parameters": [ { @@ -3762,7 +3807,7 @@ "schema": { "$ref": "#/definitions/PrebuiltDomainModelCreateObject" }, - "description": "A model object containing the name of the custom prebuilt entity and the name of the domain to which this model belongs." + "description": "A model object containing the name of the prebuilt entity and the name of the domain to which this model belongs." } ], "consumes": [ @@ -3770,7 +3815,7 @@ ], "responses": { "201": { - "description": "The ID of the created model.", + "description": "The ID of the created prebuilt model.", "x-nullable": false, "schema": { "$ref": "#/definitions/GuidResponse" @@ -3793,7 +3838,7 @@ } }, "get": { - "description": "Gets all custom prebuilt entities information of this application.", + "description": "Gets all prebuilt entities used in a version of the application.", "operationId": "Model_ListCustomPrebuiltEntities", "parameters": [ { @@ -3805,7 +3850,7 @@ ], "responses": { "200": { - "description": "Returns a list of all custom prebuilt entities and their representations.", + "description": "Returns a list of all prebuilt entities and their representations.", "schema": { "$ref": "#/definitions/EntityExtractorsList" } @@ -3829,7 +3874,7 @@ }, "/apps/{appId}/versions/{versionId}/customprebuiltmodels": { "get": { - "description": "Gets all custom prebuilt models information of this application.", + "description": "Gets all prebuilt intent and entity model information used in a version of this application.", "operationId": "Model_ListCustomPrebuiltModels", "parameters": [ { @@ -3841,7 +3886,7 @@ ], "responses": { "200": { - "description": "Returns a list of all custom prebuilt models and their representations.", + "description": "Returns a list of all prebuilt models and their representations.", "schema": { "$ref": "#/definitions/CustomPrebuiltModelList" } @@ -3865,7 +3910,7 @@ }, "/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}": { "delete": { - "description": "Deletes a prebuilt domain's models from the application.", + "description": "Deletes a prebuilt domain's models in a version of the application.", "operationId": "Model_DeleteCustomPrebuiltDomain", "parameters": [ { @@ -3934,7 +3979,7 @@ } }, "post": { - "description": "Adds a prebuilt domain along with its models as a new application.", + "description": "Adds a prebuilt domain along with its intent and entity models as a new application.", "operationId": "Apps_AddCustomPrebuiltDomain", "parameters": [ { @@ -3977,7 +4022,7 @@ }, "/apps/customprebuiltdomains/{culture}": { "get": { - "description": "Gets all the available custom prebuilt domains for a specific culture.", + "description": "Gets all the available prebuilt domains for a specific culture.", "operationId": "Apps_ListAvailableCustomPrebuiltDomainsForCulture", "parameters": [ { @@ -3990,7 +4035,7 @@ ], "responses": { "200": { - "description": "Returns a list of all domains and their intents/entities representation for a specific culture.", + "description": "Returns a list of all domains and their intents and entities for a specific culture.", "schema": { "$ref": "#/definitions/PrebuiltDomainsList" } @@ -4014,7 +4059,7 @@ }, "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}": { "get": { - "description": "Gets information about the hierarchical entity child model.", + "description": "Gets information about the child's model contained in an hierarchical entity child model in a version of the application.", "operationId": "Model_GetHierarchicalEntityChild", "parameters": [ { @@ -4059,7 +4104,7 @@ } }, "put": { - "description": "Renames a single child in an existing hierarchical entity model.", + "description": "Renames a single child in an existing hierarchical entity model in a version of the application.", "operationId": "Model_UpdateHierarchicalEntityChild", "parameters": [ { @@ -4121,7 +4166,7 @@ } }, "delete": { - "description": "Deletes a hierarchical entity extractor child from the application.", + "description": "Deletes a hierarchical entity extractor child in a version of the application.", "operationId": "Model_DeleteHierarchicalEntityChild", "parameters": [ { @@ -4168,7 +4213,7 @@ }, "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children": { "post": { - "description": "Creates a single child in an existing hierarchical entity model.", + "description": "Creates a single child in an existing hierarchical entity model in a version of the application.", "operationId": "Model_AddHierarchicalEntityChild", "parameters": [ { @@ -4225,7 +4270,7 @@ }, "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children": { "post": { - "description": "Creates a single child in an existing composite entity model.", + "description": "Creates a single child in an existing composite entity model in a version of the application.", "operationId": "Model_AddCompositeEntityChild", "parameters": [ { @@ -4282,7 +4327,7 @@ }, "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}": { "delete": { - "description": "Deletes a composite entity extractor child from the application.", + "description": "Deletes a composite entity extractor child from a version of the application.", "operationId": "Model_DeleteCompositeEntityChild", "parameters": [ { @@ -4329,8 +4374,8 @@ }, "/apps/{appId}/versions/{versionId}/regexentities": { "get": { - "summary": "Gets information about the regex entity models.", - "operationId": "Model_GetRegexEntityInfos", + "summary": "Gets information about the regular expression entity models in a version of the application.", + "operationId": "Model_ListRegexEntityInfos", "produces": [ "application/json" ], @@ -4350,7 +4395,7 @@ ], "responses": { "200": { - "description": "A list of regex entity model infos.", + "description": "A list of regular expression entity model infos.", "schema": { "$ref": "#/definitions/RegexEntityExtractorList" } @@ -4369,7 +4414,7 @@ } }, "post": { - "summary": "Adds a regex entity model to the application version.", + "summary": "Adds a regular expression entity model to a version of the application.", "operationId": "Model_CreateRegexEntityModel", "consumes": [ "application/json" @@ -4387,7 +4432,7 @@ { "name": "regexEntityExtractorCreateObj", "in": "body", - "description": "A model object containing the name and regex pattern for the new regex entity extractor.", + "description": "A model object containing the name and regex pattern for the new regular expression entity extractor.", "required": true, "schema": { "$ref": "#/definitions/RegexModelCreateObject" @@ -4418,8 +4463,8 @@ }, "/apps/{appId}/versions/{versionId}/patternanyentities": { "get": { - "summary": "Get information about the Pattern.Any entity models.", - "operationId": "Model_GetPatternAnyEntityInfos", + "summary": "Get information about the Pattern.Any entity models in a version of the application.", + "operationId": "Model_ListPatternAnyEntityInfos", "produces": [ "application/json" ], @@ -4458,7 +4503,7 @@ } }, "post": { - "summary": "Adds a pattern.any entity extractor to the application.", + "summary": "Adds a pattern.any entity extractor to a version of the application.", "operationId": "Model_CreatePatternAnyEntityModel", "consumes": [ "application/json" @@ -4507,8 +4552,8 @@ }, "/apps/{appId}/versions/{versionId}/entities/{entityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetEntityRoles", + "summary": "Get all roles for an entity in a version of the application", + "operationId": "Model_ListEntityRoles", "produces": [ "application/json" ], @@ -4549,7 +4594,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create an entity role in a version of the application.", "operationId": "Model_CreateEntityRole", "consumes": [ "application/json" @@ -4606,8 +4651,8 @@ }, "/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetPrebuiltEntityRoles", + "summary": "Get a prebuilt entity's roles in a version of the application.", + "operationId": "Model_ListPrebuiltEntityRoles", "produces": [ "application/json" ], @@ -4648,7 +4693,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create a role for a prebuilt entity in a version of the application.", "operationId": "Model_CreatePrebuiltEntityRole", "consumes": [ "application/json" @@ -4705,8 +4750,8 @@ }, "/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetClosedListEntityRoles", + "summary": "Get all roles for a list entity in a version of the application.", + "operationId": "Model_ListClosedListEntityRoles", "produces": [ "application/json" ], @@ -4747,7 +4792,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create a role for a list entity in a version of the application.", "operationId": "Model_CreateClosedListEntityRole", "consumes": [ "application/json" @@ -4804,8 +4849,8 @@ }, "/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetRegexEntityRoles", + "summary": "Get all roles for a regular expression entity in a version of the application.", + "operationId": "Model_ListRegexEntityRoles", "produces": [ "application/json" ], @@ -4846,7 +4891,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create a role for an regular expression entity in a version of the application.", "operationId": "Model_CreateRegexEntityRole", "consumes": [ "application/json" @@ -4903,8 +4948,8 @@ }, "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetCompositeEntityRoles", + "summary": "Get all roles for a composite entity in a version of the application", + "operationId": "Model_ListCompositeEntityRoles", "produces": [ "application/json" ], @@ -4940,7 +4985,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create a role for a composite entity in a version of the application.", "operationId": "Model_CreateCompositeEntityRole", "consumes": [ "application/json" @@ -4992,8 +5037,8 @@ }, "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetPatternAnyEntityRoles", + "summary": "Get all roles for a Pattern.any entity in a version of the application", + "operationId": "Model_ListPatternAnyEntityRoles", "produces": [ "application/json" ], @@ -5034,7 +5079,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create a role for an Pattern.any entity in a version of the application.", "operationId": "Model_CreatePatternAnyEntityRole", "consumes": [ "application/json" @@ -5091,8 +5136,8 @@ }, "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetHierarchicalEntityRoles", + "summary": "Get all roles for a hierarchical entity in a version of the application", + "operationId": "Model_ListHierarchicalEntityRoles", "produces": [ "application/json" ], @@ -5128,7 +5173,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create a role for an hierarchical entity in a version of the application.", "operationId": "Model_CreateHierarchicalEntityRole", "consumes": [ "application/json" @@ -5180,8 +5225,8 @@ }, "/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles": { "get": { - "summary": "Get All Entity Roles for a given entity", - "operationId": "Model_GetCustomPrebuiltEntityRoles", + "summary": "Get all roles for a prebuilt entity in a version of the application", + "operationId": "Model_ListCustomPrebuiltEntityRoles", "produces": [ "application/json" ], @@ -5222,7 +5267,7 @@ } }, "post": { - "summary": "Create an entity role for an entity in the application.", + "summary": "Create a role for a prebuilt entity in a version of the application.", "operationId": "Model_CreateCustomPrebuiltEntityRole", "consumes": [ "application/json" @@ -5279,7 +5324,7 @@ }, "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist": { "get": { - "summary": "Get the explicit list of the pattern.any entity.", + "summary": "Get the explicit (exception) list of the pattern.any entity in a version of the application.", "operationId": "Model_GetExplicitList", "produces": [ "application/json" @@ -5321,7 +5366,7 @@ } }, "post": { - "summary": "Add a new item to the explicit list for the Pattern.Any entity.", + "summary": "Add a new exception to the explicit list for the Pattern.Any entity in a version of the application.", "operationId": "Model_AddExplicitListItem", "consumes": [ "application/json" @@ -5377,7 +5422,7 @@ }, "/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}": { "get": { - "summary": "Gets information of a regex entity model.", + "summary": "Gets information about a regular expression entity in a version of the application.", "operationId": "Model_GetRegexEntityEntityInfo", "produces": [ "application/json" @@ -5392,7 +5437,7 @@ { "name": "regexEntityId", "in": "path", - "description": "The regex entity model ID.", + "description": "The regular expression entity model ID.", "required": true, "type": "string", "format": "uuid" @@ -5400,7 +5445,7 @@ ], "responses": { "200": { - "description": "A regex entity model info.", + "description": "A regular expression entity model info.", "schema": { "$ref": "#/definitions/RegexEntityExtractor" } @@ -5419,7 +5464,7 @@ } }, "put": { - "summary": "Updates the regex entity model .", + "summary": "Updates the regular expression entity in a version of the application.", "operationId": "Model_UpdateRegexEntityModel", "consumes": [ "application/json" @@ -5437,7 +5482,7 @@ { "name": "regexEntityId", "in": "path", - "description": "The regex entity extractor ID.", + "description": "The regular expression entity extractor ID.", "required": true, "type": "string", "format": "uuid" @@ -5454,7 +5499,7 @@ ], "responses": { "200": { - "description": "Successfully updated the regex entity extractor.", + "description": "Successfully updated the regular expression entity extractor.", "schema": { "$ref": "#/definitions/OperationStatus" } @@ -5473,7 +5518,7 @@ } }, "delete": { - "summary": "Deletes a regex entity model from the application.", + "summary": "Deletes a regular expression entity from a version of the application.", "operationId": "Model_DeleteRegexEntityModel", "produces": [ "application/json" @@ -5488,7 +5533,7 @@ { "name": "regexEntityId", "in": "path", - "description": "The regex entity extractor ID.", + "description": "The regular expression entity extractor ID.", "required": true, "type": "string", "format": "uuid" @@ -5517,7 +5562,7 @@ }, "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}": { "get": { - "summary": "Gets information about the application version's Pattern.Any model.", + "summary": "Gets information about the Pattern.Any model in a version of the application.", "operationId": "Model_GetPatternAnyEntityInfo", "produces": [ "application/json" @@ -5540,7 +5585,7 @@ ], "responses": { "200": { - "description": "A regex entity model info.", + "description": "A regular expression entity model info.", "schema": { "$ref": "#/definitions/PatternAnyEntityExtractor" } @@ -5559,7 +5604,7 @@ } }, "put": { - "summary": "Updates the name and explicit list of a Pattern.Any entity model.", + "summary": "Updates the name and explicit (exception) list of a Pattern.Any entity model in a version of the application.", "operationId": "Model_UpdatePatternAnyEntityModel", "consumes": [ "application/json" @@ -5613,7 +5658,7 @@ } }, "delete": { - "summary": "Deletes a Pattern.Any entity extractor from the application.", + "summary": "Deletes a Pattern.Any entity extractor from a version of the application.", "operationId": "Model_DeletePatternAnyEntityModel", "produces": [ "application/json" @@ -5657,7 +5702,7 @@ }, "/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given entity in a version of the application", "operationId": "Model_GetEntityRole", "produces": [ "application/json" @@ -5707,7 +5752,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given entity in a version of the application.", "operationId": "Model_UpdateEntityRole", "consumes": [ "application/json" @@ -5769,7 +5814,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete an entity role in a version of the application.", "operationId": "Model_DeleteEntityRole", "produces": [ "application/json" @@ -5821,7 +5866,7 @@ }, "/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given prebuilt entity in a version of the application", "operationId": "Model_GetPrebuiltEntityRole", "produces": [ "application/json" @@ -5871,7 +5916,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given prebuilt entity in a version of the application", "operationId": "Model_UpdatePrebuiltEntityRole", "consumes": [ "application/json" @@ -5933,7 +5978,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete a role in a prebuilt entity in a version of the application.", "operationId": "Model_DeletePrebuiltEntityRole", "produces": [ "application/json" @@ -5985,7 +6030,7 @@ }, "/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given list entity in a version of the application.", "operationId": "Model_GetClosedListEntityRole", "produces": [ "application/json" @@ -6035,7 +6080,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given list entity in a version of the application.", "operationId": "Model_UpdateClosedListEntityRole", "consumes": [ "application/json" @@ -6097,7 +6142,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete a role for a given list entity in a version of the application.", "operationId": "Model_DeleteClosedListEntityRole", "produces": [ "application/json" @@ -6149,7 +6194,7 @@ }, "/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given regular expression entity in a version of the application.", "operationId": "Model_GetRegexEntityRole", "produces": [ "application/json" @@ -6199,7 +6244,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given regular expression entity in a version of the application", "operationId": "Model_UpdateRegexEntityRole", "consumes": [ "application/json" @@ -6261,7 +6306,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete a role for a given regular expression in a version of the application.", "operationId": "Model_DeleteRegexEntityRole", "produces": [ "application/json" @@ -6313,7 +6358,7 @@ }, "/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given composite entity in a version of the application", "operationId": "Model_GetCompositeEntityRole", "produces": [ "application/json" @@ -6358,7 +6403,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given composite entity in a version of the application", "operationId": "Model_UpdateCompositeEntityRole", "consumes": [ "application/json" @@ -6415,7 +6460,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete a role for a given composite entity in a version of the application.", "operationId": "Model_DeleteCompositeEntityRole", "produces": [ "application/json" @@ -6462,7 +6507,7 @@ }, "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given Pattern.any entity in a version of the application.", "operationId": "Model_GetPatternAnyEntityRole", "produces": [ "application/json" @@ -6512,7 +6557,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given Pattern.any entity in a version of the application.", "operationId": "Model_UpdatePatternAnyEntityRole", "consumes": [ "application/json" @@ -6574,7 +6619,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete a role for a given Pattern.any entity in a version of the application.", "operationId": "Model_DeletePatternAnyEntityRole", "produces": [ "application/json" @@ -6626,7 +6671,7 @@ }, "/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given hierarchical entity in a version of the application.", "operationId": "Model_GetHierarchicalEntityRole", "produces": [ "application/json" @@ -6671,7 +6716,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given hierarchical entity in a version of the application.", "operationId": "Model_UpdateHierarchicalEntityRole", "consumes": [ "application/json" @@ -6728,7 +6773,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete a role for a given hierarchical role in a version of the application.", "operationId": "Model_DeleteHierarchicalEntityRole", "produces": [ "application/json" @@ -6775,7 +6820,7 @@ }, "/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}": { "get": { - "summary": "Get one entity role for a given entity", + "summary": "Get one role for a given prebuilt entity in a version of the application.", "operationId": "Model_GetCustomEntityRole", "produces": [ "application/json" @@ -6825,7 +6870,7 @@ } }, "put": { - "summary": "Update an entity role for a given entity", + "summary": "Update a role for a given prebuilt entity in a version of the application.", "operationId": "Model_UpdateCustomPrebuiltEntityRole", "consumes": [ "application/json" @@ -6887,7 +6932,7 @@ } }, "delete": { - "summary": "Delete an entity role.", + "summary": "Delete a role for a given prebuilt entity in a version of the application.", "operationId": "Model_DeleteCustomEntityRole", "produces": [ "application/json" @@ -6939,7 +6984,7 @@ }, "/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}": { "get": { - "summary": "Get the explicit list of the pattern.any entity.", + "summary": "Get the explicit (exception) list of the pattern.any entity in a version of the application.", "operationId": "Model_GetExplicitListItem", "produces": [ "application/json" @@ -6989,7 +7034,7 @@ } }, "put": { - "summary": "Updates an explicit list item for a Pattern.Any entity.", + "summary": "Updates an explicit (exception) list item for a Pattern.Any entity in a version of the application.", "operationId": "Model_UpdateExplicitListItem", "consumes": [ "application/json" @@ -7051,7 +7096,7 @@ } }, "delete": { - "summary": "Delete the explicit list item from the Pattern.any explicit list.", + "summary": "Delete an item from the explicit (exception) list for a Pattern.any entity in a version of the application.", "operationId": "Model_DeleteExplicitListItem", "produces": [ "application/json" @@ -7103,7 +7148,7 @@ }, "/apps/{appId}/versions/{versionId}/patternrule": { "post": { - "summary": "Adds one pattern to the specified application.", + "summary": "Adds a pattern to a version of the application.", "operationId": "Pattern_AddPattern", "consumes": [ "application/json" @@ -7151,8 +7196,8 @@ }, "/apps/{appId}/versions/{versionId}/patternrules": { "get": { - "summary": "Returns an application version's patterns.", - "operationId": "Pattern_GetPatterns", + "summary": "Gets patterns in a version of the application.", + "operationId": "Pattern_ListPatterns", "produces": [ "application/json" ], @@ -7191,7 +7236,7 @@ } }, "put": { - "summary": "Updates patterns", + "summary": "Updates patterns in a version of the application.", "operationId": "Pattern_UpdatePatterns", "consumes": [ "application/json" @@ -7240,7 +7285,7 @@ } }, "post": { - "summary": "Adds a batch of patterns to the specified application.", + "summary": "Adds a batch of patterns in a version of the application.", "operationId": "Pattern_BatchAddPatterns", "consumes": [ "application/json" @@ -7289,7 +7334,7 @@ } }, "delete": { - "summary": "Deletes the patterns with the specified IDs.", + "summary": "Deletes a list of patterns in a version of the application.", "operationId": "Pattern_DeletePatterns", "consumes": [ "application/json" @@ -7341,7 +7386,7 @@ }, "/apps/{appId}/versions/{versionId}/patternrules/{patternId}": { "put": { - "summary": "Updates a pattern", + "summary": "Updates a pattern in a version of the application.", "operationId": "Pattern_UpdatePattern", "consumes": [ "application/json" @@ -7395,7 +7440,7 @@ } }, "delete": { - "summary": "Deletes the pattern with the specified ID.", + "summary": "Deletes the pattern with the specified ID from a version of the application..", "operationId": "Pattern_DeletePattern", "produces": [ "application/json" @@ -7439,8 +7484,8 @@ }, "/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules": { "get": { - "summary": "Returns patterns to be retrieved for the specific intent.", - "operationId": "Pattern_GetIntentPatterns", + "summary": "Returns patterns for the specific intent in a version of the application.", + "operationId": "Pattern_ListIntentPatterns", "produces": [ "application/json" ], @@ -7484,7 +7529,7 @@ }, "/apps/{appId}/versions/{versionId}/settings": { "get": { - "description": "Gets the application version settings.", + "description": "Gets the settings in a version of the application.", "operationId": "Settings_List", "parameters": [ { @@ -7521,7 +7566,7 @@ } }, "put": { - "description": "Updates the application version settings.", + "description": "Updates the settings in a version of the application.", "operationId": "Settings_Update", "parameters": [ { @@ -7535,7 +7580,10 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AppVersionSettingObject" + "type": "array", + "items": { + "$ref": "#/definitions/AppVersionSettingObject" + } }, "description": "A list of the updated application version settings." } @@ -7569,9 +7617,9 @@ }, "/apps/{appId}/azureaccounts": { "post": { - "description": "Assigns an azure account to the application.", + "description": "Assigns an Azure account to the application.", "operationId": "AzureAccounts_AssignToApp", - "summary": "apps - Assign a LUIS azure account to an application", + "summary": "apps - Assign a LUIS Azure account to an application", "parameters": [ { "$ref": "#/parameters/AppIdInPath" @@ -7585,7 +7633,7 @@ "schema": { "$ref": "#/definitions/AzureAccountInfoObject" }, - "description": "The azure account information object." + "description": "The Azure account information object." } ], "consumes": [ @@ -7615,9 +7663,9 @@ } }, "get": { - "description": "Gets the LUIS azure accounts assigned to the application for the user using his ARM token.", + "description": "Gets the LUIS Azure accounts assigned to the application for the user using his ARM token.", "operationId": "AzureAccounts_GetAssigned", - "summary": "apps - Get LUIS azure accounts assigned to the application", + "summary": "apps - Get LUIS Azure accounts assigned to the application", "parameters": [ { "$ref": "#/parameters/AppIdInPath" @@ -7650,9 +7698,9 @@ } }, "delete": { - "description": "Removes assigned azure account from the application.", + "description": "Removes assigned Azure account from the application.", "operationId": "AzureAccounts_RemoveFromApp", - "summary": "apps - Removes an assigned LUIS azure account from an application", + "summary": "apps - Removes an assigned LUIS Azure account from an application", "parameters": [ { "$ref": "#/parameters/AppIdInPath" @@ -7666,7 +7714,7 @@ "schema": { "$ref": "#/definitions/AzureAccountInfoObject" }, - "description": "The azure account information object." + "description": "The Azure account information object." } ], "consumes": [ @@ -7698,9 +7746,9 @@ }, "/azureaccounts": { "get": { - "description": "Gets the LUIS azure accounts for the user using his ARM token.", - "operationId": "AzureAccounts_GetUserLUISAccounts", - "summary": "user - Get LUIS azure accounts", + "description": "Gets the LUIS Azure accounts for the user using his ARM token.", + "operationId": "AzureAccounts_ListUserLUISAccounts", + "summary": "user - Get LUIS Azure accounts", "parameters": [ { "$ref": "#/parameters/BearerAuthPath" @@ -7708,7 +7756,7 @@ ], "responses": { "200": { - "description": "A list of azure account information objects.", + "description": "A list of Azure account information objects.", "schema": { "$ref": "#/definitions/AzureAccountInfoList" } @@ -7732,7 +7780,7 @@ }, "/package/{appId}/slot/{slotName}/gzip": { "get": { - "description": "Packages published LUIS application as GZip.", + "description": "Packages a published LUIS application as a GZip file to be used in the LUIS container.", "operationId": "Apps_PackagePublishedApplicationAsGzip", "summary": "package - Gets published LUIS application package in binary stream GZip format", "parameters": [ @@ -7770,7 +7818,7 @@ }, "/package/{appId}/versions/{versionId}/gzip": { "get": { - "description": "Packages trained LUIS application as GZip.", + "description": "Packages trained LUIS application as GZip file to be used in the LUIS container.", "operationId": "Apps_PackageTrainedApplicationAsGzip", "summary": "package - Gets trained LUIS application package in binary stream GZip format", "parameters": [ @@ -7904,7 +7952,7 @@ } }, "HierarchicalEntityModel": { - "description": "A Hierarchical Entity Extractor.", + "description": "A hierarchical entity extractor.", "type": "object", "properties": { "children": { @@ -7921,7 +7969,7 @@ } }, "CompositeEntityModel": { - "description": "A composite entity.", + "description": "A composite entity extractor.", "type": "object", "properties": { "children": { @@ -7967,7 +8015,8 @@ "public": { "description": "Setting your application as public allows other people to use your application's endpoint using their own keys.", "type": "boolean", - "x-nullable": false + "x-nullable": false, + "x-ms-client-name": "isPublic" } } }, @@ -7993,15 +8042,15 @@ } }, "ExampleLabelObject": { - "description": "A labeled example.", + "description": "A labeled example utterance.", "type": "object", "properties": { "text": { - "description": "The sample's utterance.", + "description": "The example utterance.", "type": "string" }, "entityLabels": { - "description": "The identified entities within the utterance.", + "description": "The identified entities within the example utterance.", "items": { "type": "object", "$ref": "#/definitions/EntityLabelObject" @@ -8009,7 +8058,7 @@ "type": "array" }, "intentName": { - "description": "The identified intent representing the utterance.", + "description": "The identified intent representing the example utterance.", "type": "string" } } @@ -8027,14 +8076,14 @@ "type": "string" }, "isExchangeable": { - "description": "An exchangeable phrase list feature are serves as single feature to the LUIS underlying training algorithm. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Think of an exchangeable as a synonyms list. A non-exchangeable phrase list feature has all the phrases in the list serve as separate features to the underlying training algorithm. So, if you your phrase list feature contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-exchangeable phrase list feature as an additional bag of words that you are willing to add to LUIS existing vocabulary features. Think of a non-exchangeable as set of different words. Default value is true.", + "description": "An interchangeable phrase list feature serves as a list of synonyms for training. A non-exchangeable phrase list serves as separate features for training. So, if your non-interchangeable phrase list contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-interchangeable phrase list as an additional bag of words to add to LUIS existing vocabulary features. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Default value is true.", "default": true, "type": "boolean" } } }, "SubClosedList": { - "description": "Sublist of items for a Closed list.", + "description": "Sublist of items for a list entity.", "type": "object", "properties": { "canonicalForm": { @@ -8051,7 +8100,7 @@ } }, "SubClosedListResponse": { - "description": "Sublist of items for a Closed list.", + "description": "Sublist of items for a list entity.", "type": "object", "allOf": [ { @@ -8125,15 +8174,15 @@ } }, "ClosedList": { - "description": "Exported Model - A Closed List.", + "description": "Exported Model - A list entity.", "type": "object", "properties": { "name": { - "description": "Name of the closed list feature.", + "description": "Name of the list entity.", "type": "string" }, "subLists": { - "description": "Sublists for the feature.", + "description": "Sublists for the list entity.", "items": { "type": "object", "$ref": "#/definitions/SubClosedList" @@ -8149,7 +8198,7 @@ } }, "ClosedListModelPatchObject": { - "description": "Object model for adding a batch of sublists to an existing closedlist.", + "description": "Object model for adding a batch of sublists to an existing list entity.", "type": "object", "properties": { "subLists": { @@ -8179,7 +8228,7 @@ "type": "string" }, "mode": { - "description": "An exchangeable phrase list feature are serves as single feature to the LUIS underlying training algorithm. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Think of an exchangeable as a synonyms list. A non-exchangeable phrase list feature has all the phrases in the list serve as separate features to the underlying training algorithm. So, if you your phrase list feature contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-exchangeable phrase list feature as an additional bag of words that you are willing to add to LUIS existing vocabulary features. Think of a non-exchangeable as set of different words. Default value is true.", + "description": "An interchangeable phrase list feature serves as a list of synonyms for training. A non-exchangeable phrase list serves as separate features for training. So, if your non-interchangeable phrase list contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-interchangeable phrase list as an additional bag of words to add to LUIS existing vocabulary features. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Default value is true.", "type": "boolean" } } @@ -8209,7 +8258,7 @@ } }, "WordListObject": { - "description": "Sublist of items for a Closed list.", + "description": "Sublist of items for a list entity.", "type": "object", "properties": { "canonicalForm": { @@ -8226,7 +8275,7 @@ } }, "WordListBaseUpdateObject": { - "description": "Object model for updating one of the closed list's sublists.", + "description": "Object model for updating one of the list entity's sublists.", "type": "object", "properties": { "canonicalForm": { @@ -8275,7 +8324,7 @@ } }, "ClosedListModelUpdateObject": { - "description": "Object model for updating a closed list.", + "description": "Object model for updating a list entity.", "type": "object", "properties": { "subLists": { @@ -8287,13 +8336,13 @@ "type": "array" }, "name": { - "description": "The new name of the closed list feature.", + "description": "The new name of the list entity.", "type": "string" } } }, "ClosedListModelCreateObject": { - "description": "Object model for creating a closed list.", + "description": "Object model for creating a list entity.", "type": "object", "properties": { "subLists": { @@ -8305,7 +8354,7 @@ "type": "array" }, "name": { - "description": "Name of the closed list feature.", + "description": "Name of the list entity.", "type": "string" } } @@ -8513,7 +8562,7 @@ "type": "array" }, "closedLists": { - "description": "List of closed lists.", + "description": "List of list entities.", "items": { "type": "object", "$ref": "#/definitions/ClosedList" @@ -8577,7 +8626,7 @@ "type": "array" }, "utterances": { - "description": "List of sample utterances.", + "description": "List of example utterances.", "items": { "type": "object", "$ref": "#/definitions/JSONUtterance" @@ -8617,7 +8666,7 @@ }, "text": { "type": "string", - "description": "The utterance. E.g.: what's the weather like in seattle?" + "description": "The utterance. For example, \"What's the weather like in seattle?\"" }, "tokenizedText": { "type": "array", @@ -8666,11 +8715,11 @@ "properties": { "text": { "type": "string", - "description": "The utterance. E.g.: what's the weather like in seattle?" + "description": "The utterance. For example, \"What's the weather like in seattle?\"" }, "tokenizedText": { "type": "array", - "description": "The utterance tokenized.", + "description": "The tokenized utterance.", "items": { "type": "string" } @@ -8704,7 +8753,7 @@ "properties": { "text": { "type": "string", - "description": "The utterance. E.g.: what's the weather like in seattle?" + "description": "The utterance. For example, \"What's the weather like in seattle?\"" }, "tokenizedText": { "type": "array", @@ -8925,11 +8974,11 @@ "Hierarchical Entity Extractor", "Hierarchical Child Entity Extractor", "Composite Entity Extractor", - "Closed List Entity Extractor", + "List Entity Extractor", "Prebuilt Entity Extractor", "Intent Classifier", "Pattern.Any Entity Extractor", - "Regex Entity Extractor" + "Regular Expression Entity Extractor" ] }, "HierarchicalEntityExtractor": { @@ -8991,9 +9040,9 @@ } }, "ClosedListEntityExtractor": { - "description": "Closed List Entity Extractor.", + "description": "List Entity Extractor.", "type": "object", - "x-ms-discriminator-value": "Closed List Entity Extractor", + "x-ms-discriminator-value": "List Entity Extractor", "allOf": [ { "$ref": "#/definitions/ModelInfo" @@ -9004,7 +9053,7 @@ ], "properties": { "subLists": { - "description": "List of sub-lists.", + "description": "List of sublists.", "type": "array", "items": { "$ref": "#/definitions/SubClosedListResponse" @@ -9013,7 +9062,7 @@ } }, "ClosedListEntityExtractorsList": { - "description": "List of Closed List Entity Extractors.", + "description": "List of List Entity Extractors.", "type": "array", "items": { "$ref": "#/definitions/ClosedListEntityExtractor" @@ -9232,11 +9281,11 @@ } }, "LabelExampleResponse": { - "description": "Response when adding a labeled example.", + "description": "Response when adding a labeled example utterance.", "type": "object", "properties": { "UtteranceText": { - "description": "The sample's utterance.", + "description": "The example utterance.", "type": "string" }, "ExampleId": { @@ -9246,7 +9295,7 @@ } }, "BatchLabelExample": { - "description": "Response when adding a batch of labeled examples.", + "description": "Response when adding a batch of labeled example utterances.", "type": "object", "properties": { "value": { @@ -9261,7 +9310,7 @@ } }, "BatchLabelExampleResponse": { - "description": "Response when adding a batch of labeled examples.", + "description": "Response when adding a batch of labeled example utterances.", "type": "array", "items": { "$ref": "#/definitions/BatchLabelExample" @@ -9285,15 +9334,15 @@ "type": "string" }, "culture": { - "description": "The culture of the application. E.g.: en-us.", + "description": "The culture of the application. For example, \"en-us\".", "type": "string" }, "usageScenario": { - "description": "Defines the scenario for the new application. Optional. E.g.: IoT.", + "description": "Defines the scenario for the new application. Optional. For example, IoT.", "type": "string" }, "domain": { - "description": "The domain for the new application. Optional. E.g.: Comics.", + "description": "The domain for the new application. Optional. For example, Comics.", "type": "string" }, "versionsCount": { @@ -9423,7 +9472,7 @@ "format": "uuid" }, "public": { - "description": "Setting your application as public allows other people to use your application's endpoint using their own keys.", + "description": "Setting your application as public allows other people to use your application's endpoint using their own keys for billing purposes.", "type": "boolean", "x-nullable": false, "x-ms-client-name": "isPublic" @@ -9444,19 +9493,19 @@ "format": "uuid" }, "sentimentAnalysis": { - "description": "Setting sentiment analysis as true returns the Sentiment of the input utterance along with the response", + "description": "Setting sentiment analysis as true returns the sentiment of the input utterance along with the response", "type": "boolean", "x-nullable": false, "x-ms-client-name": "IsSentimentAnalysisEnabled" }, "speech": { - "description": "Setting speech as public enables speech priming in your app", + "description": "Enables speech priming in your app", "type": "boolean", "x-nullable": false, "x-ms-client-name": "IsSpeechEnabled" }, "spellChecker": { - "description": "Setting spell checker as public enables spell checking the input utterance.", + "description": "Enables spell checking of the utterance.", "type": "boolean", "x-nullable": false, "x-ms-client-name": "IsSpellCheckerEnabled" @@ -9718,11 +9767,11 @@ } }, "RegexModelCreateObject": { - "description": "Model object for creating a regex entity model.", + "description": "Model object for creating a regular expression entity model.", "type": "object", "properties": { "regexPattern": { - "description": "The regex entity pattern.", + "description": "The regular expression entity pattern.", "type": "string" }, "name": { @@ -9749,7 +9798,7 @@ } }, "ExplicitListItemCreateObject": { - "description": "Object model for creating an explicit list item.", + "description": "Object model for creating an explicit (exception) list item.", "type": "object", "properties": { "explicitListItem": { @@ -9759,11 +9808,11 @@ } }, "RegexModelUpdateObject": { - "description": "Model object for updating a regex entity model.", + "description": "Model object for updating a regular expression entity model.", "type": "object", "properties": { "regexPattern": { - "description": "The regex entity pattern.", + "description": "The regular expression entity pattern.", "type": "string" }, "name": { @@ -9800,7 +9849,7 @@ } }, "ExplicitListItemUpdateObject": { - "description": "Model object for updating an explicit list item.", + "description": "Model object for updating an explicit (exception) list item.", "type": "object", "properties": { "explicitListItem": { @@ -9843,7 +9892,7 @@ } }, "RegexEntityExtractor": { - "description": "Regex Entity Extractor.", + "description": "Regular Expression Entity Extractor.", "type": "object", "x-ms-discriminator-value": "Regex Entity Extractor", "allOf": [ @@ -9856,13 +9905,13 @@ ], "properties": { "regexPattern": { - "description": "The Regex entity pattern.", + "description": "The Regular Expression entity pattern.", "type": "string" } } }, "RegexEntityExtractorList": { - "description": "List of Regex Entity Extractors.", + "description": "List of Regular Expression Entity Extractors.", "type": "array", "items": { "$ref": "#/definitions/RegexEntityExtractor" @@ -9916,7 +9965,7 @@ } }, "ExplicitListItem": { - "description": "Explicit list item", + "description": "Explicit (exception) list item", "type": "object", "properties": { "id": { @@ -9931,7 +9980,7 @@ } }, "ExplicitListItemList": { - "description": "List of explicit list items", + "description": "List of explicit (exception) list items", "type": "array", "items": { "$ref": "#/definitions/ExplicitListItem" @@ -9969,14 +10018,14 @@ } }, "ExamplesPerModelResponseObject":{ - "description": "A list of examples per model.", + "description": "A list of example utterances per model.", "type": "array", "items": { "$ref": "#/definitions/LabelTextObject" } }, "LabelTextObject":{ - "description": "An object containing the example's text.", + "description": "An object containing the example utterance's text.", "type": "object", "properties": { "id": { @@ -10079,7 +10128,7 @@ } }, "AzureAccountInfoObject": { - "description": "Defines the azure account information object.", + "description": "Defines the Azure account information object.", "type": "object", "required": [ "azureSubscriptionId", @@ -10088,15 +10137,15 @@ ], "properties": { "azureSubscriptionId": { - "description": "The id for the azure subscription.", + "description": "The id for the Azure subscription.", "type": "string" }, "resourceGroup": { - "description": "The azure resource group name.", + "description": "The Azure resource group name.", "type": "string" }, "accountName": { - "description": "The azure account name.", + "description": "The Azure account name.", "type": "string" } } @@ -10153,7 +10202,6 @@ "description": "The publishing slot name.", "required": true, "type": "string", - "format": "uuid", "x-ms-parameter-location": "method" }, "SkipInPath": { @@ -10183,19 +10231,10 @@ "default": false, "x-ms-parameter-location": "method" }, - "Endpoint": { - "name": "Endpoint", - "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).", - "x-ms-parameter-location": "client", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }, "BearerAuthPath": { "name": "Authorization", "in": "header", - "description": "The bearer authorization header to use; containing the user's ARM token used to validate azure accounts information.", + "description": "The bearer authorization header to use; containing the user's ARM token used to validate Azure accounts information.", "required": true, "type": "string", "x-ms-parameter-location": "method" diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md index e72086c026b7..e352315e1591 100644 --- a/specification/compute/resource-manager/readme.md +++ b/specification/compute/resource-manager/readme.md @@ -180,7 +180,7 @@ directive: - where: - $.definitions.ContainerService suppress: - - TrackedResourcePatchOperation + - TrackedResourcePatchOperation reason: - ACS service is deprecated so a PATCH endpoint won't be implemented @@ -223,6 +223,15 @@ input-file: - Microsoft.Compute/stable/2018-10-01/runCommands.json ``` +### Tag: package-2018-09-30-only + +These settings apply only when `--tag=package-2018-09-30-only` is specified on the command line. + +``` yaml $(tag) == 'package-2018-09-30-only' +input-file: +- Microsoft.Compute/stable/2018-09-30/disk.json +``` + ### Tag: package-2018-06-exclude-gallery These settings apply only when `--tag=package-2018-06-exclude-gallery` is specified on the command line. diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md index 086f3ca97b13..5a72511c33eb 100644 --- a/specification/compute/resource-manager/readme.python.md +++ b/specification/compute/resource-manager/readme.python.md @@ -19,6 +19,7 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: - tag: package-2018-10-01-only + - tag: package-2018-09-30-only - tag: package-compute-only-2018-06 - tag: package-compute-2018-04 - tag: package-compute-only-2017-12 @@ -40,6 +41,17 @@ python: output-folder: $(python-sdks-folder)/azure-mgmt-compute/azure/mgmt/compute/v2018_10_01 ``` +### Tag: package-2018-09-30-only and python + +These settings apply only when `--tag=package-2018-09-30-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2018-09-30-only' && $(python) +python: + namespace: azure.mgmt.compute.v2018_09_30 + output-folder: $(python-sdks-folder)/azure-mgmt-compute/azure/mgmt/compute/v2018_09_30 +``` + ### Tag: package-compute-only-2018-06 and python These settings apply only when `--tag=package-compute-only-2018-06 --python` is specified on the command line. diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/consumption.json new file mode 100644 index 000000000000..0c79e7b4953e --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/consumption.json @@ -0,0 +1,1476 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-11-01-preview", + "title": "ConsumptionManagementClient", + "description": "Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "tags": [ + { + "name": "GTM-Preview", + "description": "Consumption APIs for Azure Go-to-market scopes. Includes Credits, Events, Lots, Charges and Pricesheets.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + } + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Consumption/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available consumption REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/credits/balanceSummary": { + "get": { + "tags": [ + "Credits" + ], + "operationId": "CreditSummaryByBillingProfile_Get", + "description": "The credit summary by billingAccountId and billingProfileId for given start and end date.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "CreditSummaryByBillingProfile": { + "$ref": "./examples/CreditSummaryByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CreditSummary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/events": { + "get": { + "tags": [ + "Events" + ], + "operationId": "EventsByBillingProfile_List", + "description": "Lists the events by billingAccountId and billingProfileId for given start and end date.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "EventsListByBillingProfile": { + "$ref": "./examples/EventsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/startDateParameter" + }, + { + "$ref": "#/parameters/endDateParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Events" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/lots": { + "get": { + "tags": [ + "Lots" + ], + "operationId": "LotsByBillingProfile_List", + "description": "Lists the lots by billingAccountId and billingProfileId for given start and end date.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "LotsListByBillingProfile": { + "$ref": "./examples/LotsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Lots" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Consumption/billingAccounts/{billingAccountId}/invoices/{invoiceName}/pricesheet/default/download": { + "post": { + "tags": [ + "pricesheets" + ], + "x-ms-examples": { + "pricesheetDownload": { + "$ref": "./examples/PricesheetDownloadByInvoice.json" + } + }, + "operationId": "InvoicePricesheet_Download", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Get pricesheet data for invoice id (invoiceName).", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "billingAccountId", + "in": "path", + "description": "Azure Billing Account Id.", + "required": true, + "type": "string" + }, + { + "name": "invoiceName", + "description": "The name of an invoice resource.", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PricesheetDownloadResponse" + } + }, + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "To get the progress of the operation, call GET operation on the URL in Azure-AsyncOperation header field.", + "type": "string" + }, + "OData-EntityId": { + "description": "The operation entity Id GUID.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Consumption/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/pricesheet/default/download": { + "post": { + "tags": [ + "pricesheets" + ], + "x-ms-examples": { + "pricesheetDownload": { + "$ref": "./examples/PricesheetDownloadByBillingProfile.json" + } + }, + "operationId": "BillingProfilePricesheet_Download", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Get pricesheet data for invoice id (invoiceName).", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "billingAccountId", + "in": "path", + "description": "Azure Billing Account Id.", + "required": true, + "type": "string" + }, + { + "name": "billingProfileId", + "description": "Azure Billing Profile Id.", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PricesheetDownloadResponse" + } + }, + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "To get the progress of the operation, call GET operation on the URL in Azure-AsyncOperation header field.", + "type": "string" + }, + "OData-EntityId": { + "description": "The operation entity Id GUID.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/charges": { + "get": { + "tags": [ + "Charges" + ], + "operationId": "ChargesByBillingAccount_List", + "description": "Lists the charges by billingAccountId for given start and end date. Start and end date are used to determine the billing period. For current month, the data will be provided from month to date. If there are no chages for a month then that month will show all zeroes.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ChargesListByBillingAccount": { + "$ref": "./examples/ChargesListByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/startDateParameter" + }, + { + "$ref": "#/parameters/endDateParameter" + }, + { + "name": "$apply", + "description": "May be used to group charges by properties/billingProfileId, or properties/invoiceSectionId.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ChargesListByBillingAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/charges": { + "get": { + "tags": [ + "Charges" + ], + "operationId": "ChargesByBillingProfile_List", + "description": "Lists the charges by billing profile id for given start and end date. Start and end date are used to determine the billing period. For current month, the data will be provided from month to date. If there are no chages for a month then that month will show all zeroes.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ChargesListByBillingProfile": { + "$ref": "./examples/ChargesListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/startDateParameter" + }, + { + "$ref": "#/parameters/endDateParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ChargesListByBillingProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}/providers/Microsoft.Consumption/charges": { + "get": { + "tags": [ + "Charges" + ], + "operationId": "ChargesByInvoiceSection_List", + "description": "Lists the charges by invoice section id for given start and end date. Start and end date are used to determine the billing period. For current month, the data will be provided from month to date. If there are no chages for a month then that month will show all zeroes.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ChargesListByInvoiceSection": { + "$ref": "./examples/ChargesListByInvoiceSection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/invoiceSectionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/startDateParameter" + }, + { + "$ref": "#/parameters/endDateParameter" + }, + { + "name": "$apply", + "description": "May be used to group charges by properties/productName.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ChargesListByInvoiceSection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Enrollment": { + "description": "Current entity level details", + "properties": { + "startDate": { + "description": "Enrollment Start Date", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "endDate": { + "description": "Enrollment End Date", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "currency": { + "description": "The currency associated with enrollment", + "type": "string", + "readOnly": true + }, + "channel": { + "description": "The channel for Enrollment", + "type": "string", + "readOnly": true + }, + "policies": { + "description": "The attributes associated with legacy enrollment.", + "$ref": "#/definitions/EnrollmentPolicies", + "readOnly": true + }, + "language": { + "description": "The language for Enrollment", + "type": "string", + "readOnly": true + }, + "countryCode": { + "description": "The countryCode for Enrollment", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Enrollment status", + "type": "string", + "readOnly": true + }, + "billingCylce": { + "description": "Enrollment billing cycle", + "type": "string", + "readOnly": true + } + } + }, + "EnrollmentPolicies": { + "description": "The attributes associated with legacy enrollment", + "properties": { + "accountOwnerViewCharges": { + "description": "The accountOwnerViewCharges flag for Enrollment", + "type": "boolean", + "readOnly": true + }, + "departmentAdminViewCharges": { + "description": "The departmentAdminViewCharges flag for Enrollment", + "type": "boolean", + "readOnly": true + }, + "marketplacesEnabled": { + "description": "The marketplaces flag for Enrollment", + "type": "boolean", + "readOnly": true + }, + "reservedInstancesEnabled": { + "description": "The reserved instances flag for Enrollment", + "type": "boolean", + "readOnly": true + } + } + }, + "EnrollmentAccount": { + "description": "An account resource.", + "type": "object", + "allOf": [{ + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "An account.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnrollmentAccountProperties" + } + } + }, + "EnrollmentAccountProperties": { + "description": "The properties of the account.", + "properties": { + "accountName": { + "description": "The account name.", + "type": "string" + }, + "costCenter": { + "description": "The cost center name.", + "type": "string" + }, + "accountOwner": { + "description": "The account owner", + "type": "string" + }, + "status": { + "description": "The status for account.", + "type": "string" + }, + "startDate": { + "description": "Account Start Date", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "Account End Date", + "type": "string", + "format": "date-time" + }, + "department": { + "description": "Associated department. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/Department" + } + } + }, + "Address": { + "description": "Address details.", + "properties": { + "addressLine1": { + "description": "Address Line1.", + "type": "string" + }, + "addressLine2": { + "description": "Address Line2.", + "type": "string" + }, + "addressLine3": { + "description": "Address Line3.", + "type": "string" + }, + "city": { + "description": "Address City.", + "type": "string" + }, + "region": { + "description": "Address Region.", + "type": "string" + }, + "country": { + "description": "Country code uses ISO2, 2-digit format..", + "type": "string" + }, + "postalCode": { + "description": "Postal Code.", + "type": "string" + }, + "phoneNumber": { + "description": "Phone Number.", + "type": "string" + } + } + }, + "Department": { + "description": "A department resource.", + "type": "object", + "allOf": [{ + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A department.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DepartmentProperties" + } + } + }, + "DepartmentProperties": { + "description": "The properties of the department.", + "properties": { + "departmentName": { + "description": "The name for department.", + "type": "string" + }, + "costCenter": { + "description": "The cost center name.", + "type": "string" + }, + "status": { + "description": "The status for department.", + "type": "string" + }, + "enrollmentAccounts": { + "description": "Associated enrollment accounts. By default this is not populated, unless it's specified in $expand.", + "type": "array", + "items": { + "$ref": "#/definitions/EnrollmentAccount" + } + } + } + }, + "BillingAccount": { + "description": "A billing account resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A billing account.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingAccountProperties" + } + } + }, + "BillingAccountProperties": { + "description": "The properties of the billing account.", + "properties": { + "company": { + "description": "The Company this billing account belongs to.", + "type": "string", + "readOnly": true + }, + "accountType": { + "description": "The billing account Type.", + "type": "string", + "enum": [ + "CommerceRoot", + "Enrollment" + ], + "readOnly": true + }, + "address": { + "description": "The address associated with billing account.", + "$ref": "#/definitions/Address" + }, + "defaultCurrency": { + "description": "The ISO currency, for example, USD.", + "type": "string", + "readOnly": true + }, + "country": { + "description": "The country associated with billing account.", + "type": "string", + "readOnly": true + }, + "agreements": { + "description": "Agreements associated with billing account", + "type": "string", + "readOnly": true + }, + "invoiceSections": { + "description": "The invoiceSections associated to the billing account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "billingProfiles": { + "description": "The billing profiles associated to the billing account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingProfile" + } + }, + "enrollmentDetails": { + "description": "The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/Enrollment", + "readOnly": true + }, + "departments": { + "description": "The departments associated to the enrollment.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Department" + } + }, + "enrollmentAccounts": { + "description": "The accounts associated to the enrollment.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EnrollmentAccount" + } + } + } + }, + "BillingProfile": { + "description": "A billing profile resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A billing profile.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingProfileProperties" + } + } + }, + "BillingProfileProperties": { + "description": "The properties of the billing profile.", + "properties": { + "displayName": { + "description": "The billing profile name.", + "type": "string" + }, + "poNumber": { + "description": "Purchase order number.", + "type": "string" + }, + "billingAddress": { + "description": "Billing address.", + "$ref": "#/definitions/Address" + }, + "billingContact": { + "description": "Billing contact.", + "type": "string", + "readOnly": true + }, + "emailInvoice": { + "description": "Email invoice.", + "type": "boolean", + "readOnly": true + }, + "invoiceDay": { + "description": "Invoice day.", + "type": "integer", + "format": "date-time", + "readOnly": true + }, + "currency": { + "description": "Currency on the billing profile.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSection": { + "description": "An InvoiceSection resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The InvoiceSection.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InvoiceSectionProperties" + } + } + }, + "InvoiceSectionProperties": { + "description": "The properties of an InvoiceSection.", + "properties": { + "displayName": { + "description": "The name of the InvoiceSection.", + "type": "string" + }, + "billingProfiles": { + "description": "The billing profiles associated to the billing account.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingProfile" + } + } + } + }, + "Amount": { + "description": "Object to represent monetary quantities.", + "properties": { + "currency": { + "description": "The currency for the amount value.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Amount value.", + "type": "number", + "readOnly": true + } + } + }, + "PricesheetDownloadResponse": { + "description": "Download response of Pricesheets.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DownloadUrl", + "title": "Download url properties." + } + } + }, + "DownloadUrl": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "properties": { + "downloadUrl": { + "description": "The URL to the PDF file.", + "type": "string", + "readOnly": true + }, + "expiryTime": { + "description": "The time in UTC at which this download URL will expire.", + "type": "string", + "readOnly": true + } + } + }, + "CreditSummary": { + "description": "A credit summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreditSummaryProperties", + "title": "Credit summary properties" + } + } + }, + "CreditSummaryProperties": { + "description": "The properties of the credit summary.", + "properties": { + "balanceSummary": { + "description": "Summary of balances associated with this credit summary.", + "$ref": "#/definitions/CreditBalanceSummary" + }, + "pendingCreditAdjustments": { + "description": "Pending Credit Adjustments.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "expiredCredit": { + "description": "Expired Credit.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "pendingEligibleCharges": { + "description": "Pending Eligible Charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + } + } + }, + "CreditBalanceSummary": { + "description": "Summary of credit balances.", + "properties": { + "estimatedBalance": { + "description": "Estimated balance.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "currentBalance": { + "description": "Current balance.", + "readOnly": true, + "$ref": "#/definitions/Amount" + } + } + }, + "Events": { + "description": "Result of listing event summary.", + "properties": { + "value": { + "description": "The list of event summary.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EventSummary" + } + } + } + }, + "EventSummary": { + "description": "An event summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EventProperties", + "title": "Event summary properties" + } + } + }, + "EventProperties": { + "description": "The event properties.", + "properties": { + "transactionDate": { + "description": "Transaction Date.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "description": { + "description": "Transaction description.", + "type": "string", + "readOnly": true + }, + "newCredit": { + "description": "New Credit.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "adjustments": { + "description": "Credit Adjustments.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "creditExpired": { + "description": "Credit Expired.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "charges": { + "description": "Credit Eligible Charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "closedBalance": { + "description": "Closed Balance.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "eventType": { + "description": "The type of event.", + "type": "string", + "enum": [ + "NewCredit", + "ExpiredCredit", + "SettledCharges" + ], + "x-ms-enum": { + "name": "EventType", + "modelAsString": true + } + }, + "invoiceNumber": { + "description": "Invoice Number.", + "type": "string", + "readOnly": true + } + } + }, + "Lots": { + "description": "Result of listing lot summary.", + "properties": { + "value": { + "description": "The list of lot summary.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/LotSummary" + } + } + } + }, + "LotSummary": { + "description": "A lot summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LotProperties", + "title": "Lot summary properties" + } + } + }, + "LotProperties": { + "description": "The lot properties.", + "properties": { + "originalAmount": { + "description": "Original Amount.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "closedBalance": { + "description": "Closed Balance.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "source": { + "description": "Lot source.", + "type": "string", + "enum": [ + "PurchasedCredit", + "PromotionalCredit" + ], + "x-ms-enum": { + "name": "LotSource", + "modelAsString": true + }, + "readOnly": true + }, + "startDate": { + "description": "Start Date.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "expirationDate": { + "description": "Expiration Date.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "poNumber": { + "description": "PO Number.", + "type": "string", + "readOnly": true + } + } + }, + "ChargesListByBillingAccount": { + "description": "Result of listing charge summary by billing account. It contains a list of available change summaries in reverse chronological order by billing period.", + "properties": { + "value": { + "description": "The list of charge summary by billing account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ChargeSummaryByBillingAccount" + } + } + } + }, + "ChargesListByBillingProfile": { + "description": "Result of listing charge summary by billing profile. It contains a list of available change summaries in reverse chronological order by billing period.", + "properties": { + "value": { + "description": "The list of charge summary by billing profile.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ChargeSummaryByBillingProfile" + } + } + } + }, + "ChargesListByInvoiceSection": { + "description": "Result of listing charge summary by invoiceSection. It contains a list of available change summaries in reverse chronological order by billing period.", + "properties": { + "value": { + "description": "The list of charge summary by invoiceSection.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ChargeSummaryByInvoiceSection" + } + } + } + }, + "ChargeSummaryByBillingAccount": { + "description": "A charge summary resource by billing account.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ChargeSummaryProperties", + "title": "Charge summary properties" + } + } + }, + "ChargeSummaryByBillingProfile": { + "description": "A charge summary resource by billing profile.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ChargeSummaryProperties", + "title": "Charge summary properties" + } + } + }, + "ChargeSummaryByInvoiceSection": { + "description": "A charge summary resource by invoiceSection.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ChargeSummaryProperties", + "title": "Charge summary properties" + } + } + }, + "ChargeSummaryProperties": { + "description": "The properties of the charge summary.", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the usage belongs to.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "Billing period start date.", + "type": "string", + "readOnly": true + }, + "usageEnd": { + "description": "Billing period end date.", + "type": "string", + "readOnly": true + }, + "azureCharges": { + "description": "Azure Charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "chargesBilledSeparately": { + "description": "Charges Billed separately.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "marketplaceCharges": { + "description": "Marketplace Charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "billingAccountId": { + "description": "The id of the billing account resource that the charge belongs to.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The id of the billing profile resource that the charge belongs to.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The id of the invoice section resource that the charge belongs to.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A Consumption REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Consumption.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: UsageDetail, etc.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "Result of listing consumption operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of consumption operations supported by the Microsoft.Consumption resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "ProxyResource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "eTag": { + "type": "string", + "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not." + } + }, + "x-ms-azure-resource": true + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2018-11-01-preview." + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceSectionIdParameter": { + "name": "invoiceSectionId", + "in": "path", + "description": "Invoice Section Id.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileIdParameter": { + "name": "billingProfileId", + "in": "path", + "description": "Billing Profile Id.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceNameParameter": { + "name": "invoiceName", + "in": "path", + "description": "Invoice name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "startDateParameter": { + "name": "startDate", + "in": "query", + "description": "Start date", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "endDateParameter": { + "name": "endDate", + "in": "query", + "description": "End date", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByBillingAccount.json new file mode 100644 index 000000000000..138d9203845f --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByBillingAccount.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "95b221a7-a3a2-5808-d690-659c180e8ccf", + "startDate": "2019-02-01", + "endDate": "2019-02-28" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/providers/Microsoft.Consumption/charges/bcb1b554-985d-46e5-d9a3-92399414677e", + "name": "bcb1b554-985d-46e5-d9a3-92399414677e", + "type": "Microsoft.Consumption/charges", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/bcb1b554-985d-46e5-d9a3-92399414677e/providers/Microsoft.Billing/billingPeriods/201902", + "usageStart": "2019-02-01", + "usageEnd": "2019-02-28", + "azureCharges": { + "currency": "USD", + "value": 5000.00 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 60.90 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 100.00 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf", + "billingProfileId": null, + "invoiceSectionId": null + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByBillingProfile.json new file mode 100644 index 000000000000..1b33ae7a7d3a --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByBillingProfile.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "95b221a7-a3a2-5808-d690-659c180e8ccf", + "billingProfileId": "f30c32de-fba9-4cf1-a146-2ff60881e0fe", + "startDate": "2019-02-01", + "endDate": "2019-02-28" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/billingProfiles/f30c32de-fba9-4cf1-a146-2ff60881e0fe/providers/Microsoft.Consumption/charges/bcb1b554-985d-46e5-d9a3-92399414677e", + "name": "bcb1b554-985d-46e5-d9a3-92399414677e", + "type": "Microsoft.Consumption/charges", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/providers/Microsoft.Billing/billingPeriods/201902", + "usageStart": "2019-02-01", + "usageEnd": "2019-02-28", + "azureCharges": { + "currency": "USD", + "value": 27000 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 4487.5 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 0 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/billingProfiles/f30c32de-fba9-4cf1-a146-2ff60881e0fe", + "invoiceSectionId": null + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByInvoiceSection.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByInvoiceSection.json new file mode 100644 index 000000000000..84cd38208aad --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/ChargesListByInvoiceSection.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "95b221a7-a3a2-5808-d690-659c180e8ccf", + "invoiceSectionId": "f30c32de-fba9-4cf1-a146-2ff60881e0fe", + "startDate": "2019-02-01", + "endDate": "2019-02-28" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/invoiceSections/f30c32de-fba9-4cf1-a146-2ff60881e0fe/providers/Microsoft.Consumption/charges/bcb1b554-985d-46e5-d9a3-92399414677e", + "name": "bcb1b554-985d-46e5-d9a3-92399414677e", + "type": "Microsoft.Consumption/charges", + "properties": { + "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/providers/Microsoft.Billing/billingPeriods/201902", + "usageStart": "2019-02-01", + "usageEnd": "2019-02-28", + "azureCharges": { + "currency": "USD", + "value": 27000 + }, + "chargesBilledSeparately": { + "currency": "USD", + "value": 4487.5 + }, + "marketplaceCharges": { + "currency": "USD", + "value": 0 + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf", + "billingProfileId": null, + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/invoiceSections/f30c32de-fba9-4cf1-a146-2ff60881e0fe" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/CreditSummaryByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/CreditSummaryByBillingProfile.json new file mode 100644 index 000000000000..7e4fa767577c --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/CreditSummaryByBillingProfile.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "95b221a7-a3a2-5808-d690-659c180e8ccf", + "billingProfileId": "f30c32de-fba9-4cf1-a146-2ff60881e0fe" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/billingProfiles/f30c32de-fba9-4cf1-a146-2ff60881e0fe/providers/Microsoft.Consumption/credits/balanceSummary/436626aa-9ebd-4ef6-94e7-91bfef2f2859", + "name": "436626aa-9ebd-4ef6-94e7-91bfef2f2859", + "type": "Microsoft.Consumption/credits/balanceSummary", + "properties": { + "balanceSummary": { + "estimatedBalance": { + "currency": "USD", + "value": 600.00 + }, + "currentBalance": { + "currency": "USD", + "value": 100.00 + } + }, + "pendingCreditAdjustments": { + "currency": "USD", + "value": 500.00 + }, + "expiredCredit": { + "currency": "USD", + "value": 0.00 + }, + "pendingEligibleCharges": { + "currency": "USD", + "value": 0.00 + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/EventsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/EventsListByBillingProfile.json new file mode 100644 index 000000000000..3d98bfdeb828 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/EventsListByBillingProfile.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "95b221a7-a3a2-5808-d690-659c180e8ccf", + "billingProfileId": "f30c32de-fba9-4cf1-a146-2ff60881e0fe", + "startDate": "2018-04-01", + "endDate": "2018-05-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/billingProfiles/f30c32de-fba9-4cf1-a146-2ff60881e0fe/providers/Microsoft.Consumption/events/bcb1b554-985d-46e5-d9a3-92399414677e", + "name": "bcb1b554-985d-46e5-d9a3-92399414677e", + "type": "Microsoft.Consumption/events", + "properties": { + "transactionDate": "2018-01-01T00:00:00Z", + "description": "Settled invoice #312033", + "newCredit": { + "currency": "USD", + "value": 0 + }, + "adjustments": { + "currency": "USD", + "value": 0 + }, + "creditExpired": { + "currency": "USD", + "value": 0 + }, + "charges": { + "currency": "USD", + "value": 500 + }, + "closedBalance": { + "currency": "USD", + "value": 500 + }, + "eventType": "SettledCharges", + "invoiceNumber": "3301" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/billingProfiles/f30c32de-fba9-4cf1-a146-2ff60881e0fe/providers/Microsoft.Consumption/events/6898a55b-96f2-40bb-8329-bf3b493f3d88", + "name": "6898a55b-96f2-40bb-8329-bf3b493f3d88", + "type": "Microsoft.Consumption/events", + "properties": { + "transactionDate": "2018-02-01T00:00:00Z", + "description": "New credits added", + "newCredit": { + "currency": "USD", + "value": 400 + }, + "adjustments": { + "currency": "USD", + "value": 0 + }, + "creditExpired": { + "currency": "USD", + "value": 0 + }, + "charges": { + "currency": "USD", + "value": 0 + }, + "closedBalance": { + "currency": "USD", + "value": 900 + }, + "eventType": "NewCredit", + "invoiceNumber": "3302" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/LotsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/LotsListByBillingProfile.json new file mode 100644 index 000000000000..4a11cd9c6d43 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/LotsListByBillingProfile.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "95b221a7-a3a2-5808-d690-659c180e8ccf", + "billingProfileId": "f30c32de-fba9-4cf1-a146-2ff60881e0fe" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/billingProfiles/f30c32de-fba9-4cf1-a146-2ff60881e0fe/providers/Microsoft.Consumption/lots/e3f15e96-afad-4940-b459-0c7ea9692efe", + "name": "e3f15e96-afad-4940-b459-0c7ea9692efe", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 5000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 60.90 + }, + "source": "PurchasedCredit", + "startDate": "2018-02-01T00:00:00Z", + "expirationDate": "2018-03-01T00:00:00Z", + "poNumber": "3524" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/95b221a7-a3a2-5808-d690-659c180e8ccf/billingProfiles/f30c32de-fba9-4cf1-a146-2ff60881e0fe/providers/Microsoft.Consumption/lots/436626aa-9ebd-4ef6-94e7-91bfef2f2859", + "name": "436626aa-9ebd-4ef6-94e7-91bfef2f2859", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 6000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 80.90 + }, + "source": "PurchasedCredit", + "startDate": "2018-04-01T00:00:00Z", + "expirationDate": "2018-12-31T00:00:00Z", + "poNumber": "31224" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/PricesheetDownloadByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/PricesheetDownloadByBillingProfile.json new file mode 100644 index 000000000000..08a0a9e05473 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/PricesheetDownloadByBillingProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "84ae600f-763c-4a66-a8f0-4c497fc58d98", + "billingProfileId": "95869cd5-6f00-42b3-8708-04e85fef9e15" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Consumption/billingAccounts/2909cffc-b0a2-5de1-bb7b-5d3383764184/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": { + "downloadUrl": "https://myaccount.blob.core.windows.net/?restype=service&comp=properties&sv=2015-04-05&ss=bf&srt=s&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=F%6GRVAZ5Cdj2Pw4tgU7IlSTkWgn7bUkkAg8P6HESXwmf%4B", + "expiryTime": "03/05/2019 20:13:06" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/2909cffc-b0a2-5de1-bb7b-5d3383764184/billingProfiles/2dcffe0c-ee92-4265-8647-515b8fe7dc78/pricesheetDownloadOperations/1a0a30a7-36a7-4dd6-9200-a1c23ba96151?sessiontoken=0%3A2943&api-version=2018-11-01-preview", + "Retry-After": "60", + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/operationStatus/1a0a30a7-36a7-4dd6-9200-a1c23ba96151?sessiontoken=0%3A2943&api-version=2018-11-01-preview", + "OData-EntityId": "84ae600f-763c-4a66-a8f0-4c497fc58d98" + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/PricesheetDownloadByInvoice.json b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/PricesheetDownloadByInvoice.json new file mode 100644 index 000000000000..b4b394e3a5ff --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/preview/2018-11-01-preview/examples/PricesheetDownloadByInvoice.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "billingAccountId": "84ae600f-763c-4a66-a8f0-4c497fc58d98", + "invoiceName": "95869cd5-6f00-42b3-8708-04e85fef9e15" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Consumption/billingAccounts/2909cffc-b0a2-5de1-bb7b-5d3383764184/pricesheets/default", + "name": "default", + "type": "Microsoft.Consumption/pricesheets", + "properties": { + "downloadUrl": "https://myaccount.blob.core.windows.net/?restype=service&comp=properties&sv=2015-04-05&ss=bf&srt=s&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=F%6GRVAZ5Cdj2Pw4tgU7IlSTkWgn7bUkkAg8P6HESXwmf%4B", + "expiryTime": "03/05/2019 20:13:06" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/2909cffc-b0a2-5de1-bb7b-5d3383764184/invoices/2dcffe0c-ee92-4265-8647-515b8fe7dc78/pricesheetDownloadOperations/1a0a30a7-36a7-4dd6-9200-a1c23ba96151?sessiontoken=0%3A2943&api-version=2018-11-01-preview", + "Retry-After": "60", + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/operationStatus/1a0a30a7-36a7-4dd6-9200-a1c23ba96151?sessiontoken=0%3A2943&api-version=2018-11-01-preview", + "OData-EntityId": "84ae600f-763c-4a66-a8f0-4c497fc58d98" + } + } + } +} \ No newline at end of file diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md index 4a583b834696..cc58f1698b3b 100644 --- a/specification/consumption/resource-manager/readme.md +++ b/specification/consumption/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the Consumption API. ``` yaml openapi-type: arm -tag: package-2019-01 +tag: package-preview-2018-11 ``` +### Tag: package-preview-2018-11 + +These settings apply only when `--tag=package-preview-2018-11` is specified on the command line. + +```yaml $(tag) == 'package-preview-2018-11' +input-file: + - Microsoft.Consumption/preview/2018-11-01-preview/consumption.json +``` ### Tag: package-2019-01 These settings apply only when `--tag=package-2019-01` is specified on the command line. -```yaml $(tag) == 'package-2019-01' +``` yaml $(tag) == 'package-2019-01' input-file: - Microsoft.Consumption/stable/2019-01-01/consumption.json ``` + ### Tag: package-2017-11 These settings apply only when `--tag=package-2017-11` is specified on the command line. diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json index 7052e5113ebb..bce3155bb644 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json @@ -2358,6 +2358,14 @@ "tag": { "description": "The tag name.", "type": "string" + }, + "name": { + "description": "The name of the artifact.", + "type": "string" + }, + "version": { + "description": "The version of the artifact.", + "type": "string" } } }, diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json index 53f5a497b424..332fff7c3d86 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json @@ -779,6 +779,11 @@ "type": "string" } }, + "runErrorMessage": { + "description": "The error message received from backend systems after the run is scheduled.", + "type": "string", + "readOnly": true + }, "provisioningState": { "description": "The provisioning state of a run.", "enum": [ diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json index 7d0dc04a466d..073b751da189 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json @@ -1,3215 +1,3159 @@ { - "swagger": "2.0", - "info": { - "version": "2019-03-01-preview", - "title": "CostManagementClient" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow.", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/dimensions": { - "get": { - "tags": [ - "Dimensions" - ], - "x-ms-odata": "#/definitions/Dimension", - "operationId": "Dimensions_ListByBillingAccount", - "description": "Lists the dimensions by billingAccount Id.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "BillingAccountDimensionsList": { - "$ref": "./examples/BillingAccountDimensionsList.json" - }, - "BillingAccountDimensionsListExpandAndTop": { - "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json" - }, - "BillingAccountDimensionsListWithFilter": { - "$ref": "./examples/BillingAccountDimensionsListWithFilter.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "name": "$filter", - "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$expand", - "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N dimension data.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000 - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/DimensionsListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/dimensions": { - "get": { - "tags": [ - "Dimensions" - ], - "x-ms-odata": "#/definitions/Dimension", - "operationId": "Dimensions_ListByEnrollmentAccount", - "description": "Lists the dimensions by Enrollment Account Id.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "EnrollmentAccountDimensionsList": { - "$ref": "./examples/EnrollmentAccountDimensionsList.json" - }, - "EnrollmentAccountDimensionsListExpandAndTop": { - "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json" - }, - "EnrollmentAccountDimensionsListWithFilter": { - "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/enrollmentAccountIdParameter" - }, - { - "name": "$filter", - "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$expand", - "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N dimension data.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000 - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/DimensionsListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/dimensions": { - "get": { - "tags": [ - "Dimensions" - ], - "x-ms-odata": "#/definitions/Dimension", - "operationId": "Dimensions_ListByDepartment", - "description": "Lists the dimensions by Department Id.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "DepartmentDimensionsList": { - "$ref": "./examples/DepartmentDimensionsList.json" - }, - "DepartmentDimensionsListExpandAndTop": { - "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json" - }, - "DepartmentDimensionsListWithFilter": { - "$ref": "./examples/DepartmentDimensionsListWithFilter.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/departmentIdParameter" - }, - { - "name": "$filter", - "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$expand", - "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N dimension data.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000 - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/DimensionsListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/dimensions": { - "get": { - "tags": [ - "Dimensions" - ], - "x-ms-odata": "#/definitions/Dimension", - "operationId": "Dimensions_ListByManagementGroup", - "description": "Lists the dimensions by managementGroup Id.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ManagementGroupDimensionsList": { - "$ref": "./examples/ManagementGroupDimensionsList.json" - }, - "ManagementGroupDimensionsListExpandAndTop": { - "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json" - }, - "ManagementGroupDimensionsListWithFilter": { - "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/managementGroupIdParameter" - }, - { - "name": "$filter", - "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$expand", - "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N dimension data.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000 - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/DimensionsListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/dimensions": { - "get": { - "tags": [ - "Dimensions" - ], - "x-ms-odata": "#/definitions/Dimension", - "operationId": "Dimensions_ListBySubscription", - "description": "Lists the dimensions by subscription Id.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "SubscriptionDimensionsList": { - "$ref": "./examples/SubscriptionDimensionsList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "name": "$filter", - "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$expand", - "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N dimension data.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000 - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/DimensionsListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/Query": { - "post": { - "tags": [ - "Query" - ], - "operationId": "Query_UsageBySubscription", - "description": "Query the usage data for subscriptionId.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "SubscriptionQuery": { - "$ref": "./examples/SubscriptionQuery.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/Forecast": { - "post": { - "tags": [ - "Forecast" - ], - "operationId": "Forecast_UsageBySubscription", - "description": "Forecast the usage data for subscriptionId.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "SubscriptionForecast": { - "$ref": "./examples/SubscriptionForecast.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CostManagement/dimensions": { - "get": { - "tags": [ - "Dimensions" - ], - "x-ms-odata": "#/definitions/Dimension", - "operationId": "Dimensions_ListByResourceGroup", - "description": "Lists the dimensions by resource group Id.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ResourceGroupDimensionsList": { - "$ref": "./examples/ResourceGroupDimensionsList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "$filter", - "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$expand", - "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N dimension data.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000 - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/DimensionsListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/Query": { - "post": { - "tags": [ - "Query" - ], - "operationId": "Query_UsageByResourceGroup", - "description": "Query the usage data for subscriptionId and resource group.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ResourceGroupQuery": { - "$ref": "./examples/ResourceGroupQuery.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/Forecast": { - "post": { - "tags": [ - "Forecast" - ], - "operationId": "Forecast_UsageByResourceGroup", - "description": "Forecast the usage data for subscriptionId and resource group.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ResourceGroupForecast": { - "$ref": "./examples/ResourceGroupForecast.json" - } - - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/Query": { - "post": { - "tags": [ - "Query" - ], - "operationId": "Query_UsageByBillingAccount", - "description": "Query the usage data for billing account.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "BillingAccountQuery": { - "$ref": "./examples/BillingAccountQuery.json" - }, - "BillingAccountQueryGroupingUsage": { - "$ref": "./examples/BillingAccountQueryGrouping.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/Forecast": { - "post": { - "tags": [ - "Forecast" - ], - "operationId": "Forecast_UsageByBillingAccount", - "description": "Forecast the usage data for billing account.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "BillingAccountForecast": { - "$ref": "./examples/BillingAccountForecast.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/Query": { - "post": { - "tags": [ - "Query" - ], - "operationId": "Query_UsageByEnrollmentAccount", - "description": "Query the usage data for an enrollment account.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "EnrollmentAccountQuery": { - "$ref": "./examples/EnrollmentAccountQuery.json" - }, - "EnrollmentAccountQueryGroupingUsage": { - "$ref": "./examples/EnrollmentAccountQueryGrouping.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/enrollmentAccountIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/Forecast": { - "post": { - "tags": [ - "Forecast" - ], - "operationId": "Forecast_UsageByEnrollmentAccount", - "description": "Forecast the usage data for an enrollment account.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "EnrollmentAccountForecast": { - "$ref": "./examples/EnrollmentAccountForecast.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/enrollmentAccountIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/Query": { - "post": { - "tags": [ - "Query" - ], - "operationId": "Query_UsageByDepartment", - "description": "Query the usage data for department.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "DepartmentQuery": { - "$ref": "./examples/DepartmentQuery.json" - }, - "DepartmentQueryGroupingUsage": { - "$ref": "./examples/DepartmentQueryGrouping.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/departmentIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/Forecast": { - "post": { - "tags": [ - "Forecast" - ], - "operationId": "Forecast_UsageByDepartment", - "description": "Forecast the usage data for department.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "DepartmentForecast": { - "$ref": "./examples/DepartmentForecast.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/departmentIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/Query": { - "post": { - "tags": [ - "Query" - ], - "operationId": "Query_UsageByManagmentGroup", - "description": "Lists the usage data for management group.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ManagementGroupQuery": { - "$ref": "./examples/ManagementGroupQuery.json" - }, - "ManagementGroupQueryGroupingUsage": { - "$ref": "./examples/ManagementGroupQueryGrouping.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/managementGroupIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/Forecast": { - "post": { - "tags": [ - "Forecast" - ], - "operationId": "Forecast_UsageByManagmentGroup", - "description": "Lists the usage data for management group.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ManagementGroupForecast": { - "$ref": "./examples/ManagementGroupForecast.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/managementGroupIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReportConfigDefinition" - }, - "description": "Parameters supplied to the CreateOrUpdate Report Config operation." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/QueryResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.CostManagement/cloudConnectors": { - "get": { - "tags": [ - "CloudConnectors" - ], - "operationId": "CloudConnector_List", - "description": "List all cloud connector definitions", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "CloudConnector_List": { - "$ref": "./examples/CloudConnectorList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ConnectorDefinitionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.CostManagement/cloudConnectors/{connectorName}": { - "get": { - "tags": [ - "CloudConnectors" - ], - "operationId": "CloudConnector_Get", - "description": "Get a cloud connector definition", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "CloudConnector_Get": { - "$ref": "./examples/CloudConnectorGet.json" - }, - "CloudConnector_Get_Expand": { - "$ref": "./examples/CloudConnectorGetExpand.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/connectorNameParameter" - }, - { - "name": "$expand", - "description": "May be used to expand the collectionInfo property. By default, collectionInfo is not included.", - "in": "query", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ConnectorDefinition" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "CloudConnectors" - ], - "operationId": "CloudConnector_CreateOrUpdate", - "description": "Create or update a cloud connector definition", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "CloudConnector_Put": { - "$ref": "./examples/CloudConnectorPut.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/connectorNameParameter" - }, - { - "name": "connector", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ConnectorDefinition" - }, - "description": "Connector details" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ConnectorDefinition" - } - }, - "201": { - "description": "Created.", - "schema": { - "$ref": "#/definitions/ConnectorDefinition" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "CloudConnectors" - ], - "operationId": "CloudConnector_Delete", - "description": "Delete a cloud connector definition", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "CloudConnector_Delete": { - "$ref": "./examples/CloudConnectorDelete.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/connectorNameParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "tags": [ - "CloudConnectors" - ], - "operationId": "CloudConnector_Update", - "description": "Update a cloud connector definition", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "CloudConnector_Patch": { - "$ref": "./examples/CloudConnectorPatch.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/connectorNameParameter" - }, - { - "name": "connector", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ConnectorDefinition" - }, - "description": "Connector details" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ConnectorDefinition" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/providers/Microsoft.CostManagement/externalBillingAccounts": { - "get": { - "tags": [ - "ExternalBillingAccounts" - ], - "operationId": "ExternalBillingAccount_List", - "description": "List all ExternalBillingAccount definitions", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ExternalBillingAccount_List": { - "$ref": "./examples/ExternalBillingAccountList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ExternalBillingAccountDefinitionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}": { - "get": { - "tags": [ - "ExternalBillingAccounts" - ], - "operationId": "ExternalBillingAccount_Get", - "description": "Get a ExternalBillingAccount definition", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ExternalBillingAccount_Get": { - "$ref": "./examples/ExternalBillingAccountGet.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/externalBillingAccountNameParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ExternalBillingAccountDefinition" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}/externalSubscriptions": { - "get": { - "tags": [ - "ExternalSubscriptions" - ], - "operationId": "ExternalSubscription_ListByExternalBillingAccount", - "description": "List all ExternalSubscriptions by ExternalBillingAccount definitions", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ExternalBillingAccountExternalSubscription_List": { - "$ref": "./examples/ExternalBillingAccountExternalSubscriptionList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/externalBillingAccountNameParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.CostManagement/externalSubscriptions": { - "get": { - "tags": [ - "ExternalSubscriptions" - ], - "operationId": "ExternalSubscription_List", - "description": "List all ExternalSubscription definitions", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ExternalSubscription_List": { - "$ref": "./examples/ExternalSubscriptionList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}": { - "get": { - "tags": [ - "ExternalSubscriptions" - ], - "operationId": "ExternalSubscription_Get", - "description": "Get an ExternalSubscription definition", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ExternalSubscription_Get": { - "$ref": "./examples/ExternalSubscriptionGet.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/externalSubscriptionNameParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ExternalSubscriptionDefinition" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/externalSubscriptions": { - "get": { - "tags": [ - "ExternalSubscriptions" - ], - "operationId": "ExternalSubscription_ListByManagementGroup", - "description": "List all ExternalSubscription definitions for Management Group", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ExternalSubscription_List": { - "$ref": "./examples/ManagementGroupExternalSubscriptionList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/managementGroupIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}": { - "put": { - "tags": [ - "ExternalSubscriptions" - ], - "operationId": "ExternalSubscription_UpdateByManagementGroup", - "description": "Associates ExternalSubscription with the management group", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ManagementGroupExternalSubscription_Put": { - "$ref": "./examples/ManagementGroupExternalSubscriptionPut.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/managementGroupIdParameter" - }, - { - "$ref": "#/parameters/externalSubscriptionNameParameter" - } - ], - "responses": { - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/getEntities": { - "post": { - "tags": [ - "Entities" - ], - "operationId": "Entities_ListByManagementGroup", - "description": "List all entities (Management Groups, Subscriptions, ExternalSubscriptions, etc.) focusing on a particular group for the authenticated user.", - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/managementGroupIdParameter" - }, - { - "$ref": "#/parameters/EntityViewParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/EntityListResult" - } - }, - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetEntities": { - "$ref": "./examples/ManagementGroupGetEntities.json" - } - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/showbackRules": { - "get": { - "tags": [ - "ShowbackRules" - ], - "operationId": "ShowbackRules_List", - "description": "Get list all Showback Rules.", - "x-ms-examples": { - "ShowbackRules_List": { - "$ref": "./examples/ShowbackRulesList.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ShowbackRuleListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/showbackRules/{ruleName}": { - "get": { - "tags": [ - "ShowbackRules" - ], - "operationId": "ShowbackRule_GetBillingAccountId", - "description": "Gets the showback rule by rule name.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "ShowbackRules": { - "$ref": "./examples/ShowbackRule.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/ruleNameParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ShowbackRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "ShowbackRules" - ], - "operationId": "ShowbackRule_CreateUpdateRule", - "description": "Create/Update showback rule for billing account.", - "x-ms-examples": { - "ShowbackRules": { - "$ref": "./examples/ShowbackRule.json" - } - }, - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/ruleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ShowbackRuleProperties" - }, - "description": "Showback rule to create or update." - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ShowbackRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/providers/Microsoft.CostManagement/operations": { - "get": { - "tags": [ - "Operations" - ], - "operationId": "Operations_List", - "description": "Lists all of the available consumption REST API operations.", - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - }], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/OperationListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "ErrorBase": { - "description": "The details of the error.", - "properties": { - "code": { - "type": "string", - "description": "A machine readable error code.", - "readOnly": true - }, - "message": { - "type": "string", - "description": "A human readable error message.", - "readOnly": true - }, - "target": { - "type": "string", - "description": "Indicates which property in the request is responsible for the error.", - "readOnly": true - } - } - }, - "ErrorDetails": { - "description": "The details of the error.", - "properties": { - "code": { - "description": "A machine readable error code.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "A human readable error message.", - "type": "string", - "readOnly": true - }, - "target": { - "description": "Indicates which property in the request is responsible for the error.", - "type": "string" - }, - "details": { - "description": "error details.", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorBase" - } - } - } - }, - "ErrorResponse": { - "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", - "type": "object", - "properties": { - "error": { - "description": "The details of the error.", - "$ref": "#/definitions/ErrorDetails" - } - } - }, - "Resource": { - "description": "The Resource model definition.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - }, - "tags": { - "readOnly": true, - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." - } - }, - "x-ms-azure-resource": true - }, - "ReportConfigDefinition": { - "description": "The definition of a report config.", - "properties": { - "type": { - "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.", - "type": "string", - "enum": [ - "Usage" - ], - "x-ms-enum": { - "name": "ReportType", - "modelAsString": true - } - }, - "timeframe": { - "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.", - "type": "string", - "enum": [ - "WeekToDate", - "MonthToDate", - "YearToDate", - "Custom" - ], - "x-ms-enum": { - "name": "TimeframeType", - "modelAsString": true - } - }, - "timePeriod": { - "description": "Has time period for pulling data for the report.", - "$ref": "#/definitions/ReportConfigTimePeriod" - }, - "dataset": { - "description": "Has definition for data in this report config.", - "$ref": "#/definitions/ReportConfigDataset" - } - }, - "required": [ - "type", - "timeframe" - ] - }, - "ReportConfigTimePeriod": { - "description": "The start and end date for pulling data for the report.", - "properties": { - "from": { - "description": "The start date to pull data from.", - "type": "string", - "format": "date-time" - }, - "to": { - "description": "The end date to pull data to.", - "type": "string", - "format": "date-time" - } - }, - "required": [ - "from", - "to" - ] - }, - "ReportConfigDataset": { - "description": "The definition of data present in the report.", - "properties": { - "granularity": { - "description": "The granularity of rows in the report.", - "type": "string", - "enum": [ - "Daily", - "Monthly" - ], - "x-ms-enum": { - "name": "GranularityType", - "modelAsString": true - } - }, - "configuration": { - "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.", - "$ref": "#/definitions/ReportConfigDatasetConfiguration" - }, - "aggregation": { - "type": "object", - "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.", - "additionalProperties": { - "type": "object", - "$ref": "#/definitions/ReportConfigAggregation" - }, - "maxItems": 2 - }, - "grouping": { - "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.", - "type": "array", - "items": { - "$ref": "#/definitions/ReportConfigGrouping" - }, - "maxItems": 2 - }, - "sorting": { - "description": "Array of order by expression to use in the report.", - "type": "array", - "items": { - "$ref": "#/definitions/ReportConfigSorting" - } - }, - "filter": { - "type": "object", - "description": "Has filter expression to use in the report.", - "$ref": "#/definitions/ReportConfigFilter" - } - } - }, - "ReportConfigDatasetConfiguration": { - "description": "The configuration of dataset in the report.", - "properties": { - "columns": { - "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ReportConfigAggregation": { - "description": "The aggregation expression to be used in the report.", - "properties": { - "name": { - "description": "The name of the column to aggregate.", - "type": "string" - }, - "function": { - "description": "The name of the aggregation function to use.", - "type": "string", - "enum": [ - "Sum" - ], - "x-ms-enum": { - "name": "FunctionType", - "modelAsString": true - } - } - }, - "required": [ - "name", - "function" - ] - }, - "ReportConfigSorting": { - "description": "The order by expression to be used in the report.", - "properties": { - "direction": { - "description": "Direction of sort.", - "type": "string", - "enum": [ - "Ascending", - "Descending" - ] - }, - "name": { - "description": "The name of the column to sort.", - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "ReportConfigGrouping": { - "description": "The group by expression to be used in the report.", - "properties": { - "type": { - "description": "Has type of the column to group.", - "$ref": "#/definitions/ReportConfigColumnType" - }, - "name": { - "description": "The name of the column to group. This version supports subscription lowest possible grain.", - "type": "string" - } - }, - "required": [ - "type", - "name" - ] - }, - "ReportConfigFilter": { - "description": "The filter expression to be used in the report.", - "properties": { - "and": { - "description": "The logical \"AND\" expression. Must have at least 2 items.", - "type": "array", - "items": { - "$ref": "#/definitions/ReportConfigFilter" - }, - "minItems": 2 - }, - "or": { - "description": "The logical \"OR\" expression. Must have at least 2 items.", - "type": "array", - "items": { - "$ref": "#/definitions/ReportConfigFilter" - }, - "minItems": 2 - }, - "not": { - "description": "The logical \"NOT\" expression.", - "$ref": "#/definitions/ReportConfigFilter" - }, - "dimension": { - "description": "Has comparison expression for a dimension", - "$ref": "#/definitions/ReportConfigComparisonExpression" - }, - "tag": { - "description": "Has comparison expression for a tag", - "$ref": "#/definitions/ReportConfigComparisonExpression" - } - } - }, - "ReportConfigColumnType": { - "description": "The type of the column in the report.", - "type": "string", - "enum": [ - "Tag", - "Dimension" - ], - "x-ms-enum": { - "name": "ReportConfigColumnType", - "modelAsString": true - } - }, - "ReportConfigComparisonExpression": { - "description": "The comparison expression to be used in the report.", - "properties": { - "name": { - "description": "The name of the column to use in comparison.", - "type": "string" - }, - "operator": { - "description": "The operator to use for comparison.", - "type": "string", - "enum": [ - "In", - "Contains" - ], - "x-ms-enum": { - "name": "OperatorType", - "modelAsString": true - } - }, - "values": { - "description": "Array of values to use for comparison", - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - } - }, - "required": [ - "name", - "operator", - "values" - ] - }, - "DimensionsListResult": { - "description": "Result of listing dimensions. It contains a list of available dimensions.", - "type": "object", - "properties": { - "value": { - "description": "The list of dimensions.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/Dimension" - } - } - } - }, - "Dimension": { - "type": "object", - "allOf": [{ - "$ref": "#/definitions/Resource" - }], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/DimensionProperties", - "title": "Dimension properties" - } - } - }, - "DimensionProperties": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "filterEnabled": { - "type": "boolean" - }, - "groupingEnabled": { - "type": "boolean" - }, - "data": { - "type": "array", - "items": { - "type": "string" - } - }, - "total": { - "format": "int32", - "type": "integer" - }, - "category": { - "type": "string" - }, - "usageStart": { - "format": "date-time", - "type": "string" - }, - "usageEnd": { - "format": "date-time", - "type": "string" - }, - "nextLink": { - "type": "string" - } - } - }, - "QueryResult": { - "description": "Result of query. It contains all columns listed under groupings and aggregation.", - "type": "object", - "properties": { - "value": { - "description": "The list of usage data.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/Query" - } - } - } - }, - "Query": { - "type": "object", - "allOf": [{ - "$ref": "#/definitions/Resource" - }], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/QueryProperties", - "title": "Query properties" - } - } - }, - "QueryProperties": { - "type": "object", - "properties": { - "nextLink": { - "type": "string" - }, - "columns": { - "description": "Array of columns", - "type": "array", - "items": { - "$ref": "#/definitions/QueryColumn" - } - }, - "rows": { - "type": "array", - "items": { - "type": "array", - "items": {} - } - } - } - }, - "QueryColumn": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "ConnectorDefinitionListResult": { - "description": "Result of listing connector definitions. It contains a list of available connector definitions in the scope provided.", - "properties": { - "value": { - "description": "The list of connector definitions.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ConnectorDefinition" - } - } - } - }, - "ConnectorDefinition": { - "type": "object", - "description": "The Connector model definition", - "properties": { - "kind": { - "type": "string", - "description": "Connector kind (eg aws)" - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Connector id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Connector name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Connector type" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ConnectorProperties", - "description": "Connector properties" - } - }, - "x-ms-azure-resource": true - }, - "ConnectorProperties": { - "type": "object", - "description": "The properties of a Connector", - "properties": { - "displayName": { - "type": "string", - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Connector DisplayName" - }, - "providerAccountId": { - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Connector providerAccountId (determined from credentials)", - "readOnly": true - }, - "credentialsKey": { - "type": "string", - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Credentials authentication key (eg AWS ARN)" - }, - "credentialsSecret": { - "type": "string", - "x-ms-mutability": [ - "create", - "update" - ], - "description": "Credentials secret (eg AWS ExternalId)" - }, - "reportId": { - "type": "string", - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Identifying source report. (For AWS this is a CUR report name, defined with Daily and with Resources)" - }, - "createdOn": { - "format": "date-time", - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Connector definition creation datetime", - "readOnly": true - }, - "modifiedOn": { - "format": "date-time", - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Connector last modified datetime", - "readOnly": true - }, - "status": { - "enum": [ - "active", - "error", - "suspended" - ], - "x-ms-enum": { - "name": "ConnectorStatus", - "modelAsString": true - }, - "type": "string", - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Connector status" - }, - "defaultManagementGroupId": { - "type": "string", - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Default ManagementGroupId" - }, - "subscriptionId": { - "type": "string", - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Billing SubscriptionId" - }, - "billingModel": { - "enum": [ - "trial", - "autoUpgrade", - "premium", - "expired" - ], - "x-ms-enum": { - "name": "ConnectorBillingModel", - "modelAsString": true - }, - "type": "string", - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Connector billing model" - }, - "daysTrialRemaining": { - "type": "integer", - "x-nullable": true, - "x-ms-mutability": [ - "read" - ], - "description": "Number of days remaining of trial", - "readOnly": true - }, - "collectionInfo": { - "$ref": "#/definitions/ConnectorCollectionInfo", - "description": "Collection information", - "x-nullable": true, - "readOnly": true - } - } - }, - "ConnectorCollectionInfo": { - "type": "object", - "description": "Collection and ingestion information", - "properties": { - "lastChecked": { - "format": "date-time", - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Last time the data acquisition process initiated connecting to the external provider", - "readOnly": true - }, - "sourceLastUpdated": { - "format": "date-time", - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp)", - "readOnly": true - }, - "lastUpdated": { - "format": "date-time", - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Last time the external data was updated into Azure", - "readOnly": true - }, - "error": { - "$ref": "#/definitions/ConnectorCollectionErrorInfo", - "description": "Error information of last collection" - } - } - }, - "ConnectorCollectionErrorInfo": { - "type": "object", - "description": "Details of any error encountered on last collection attempt", - "properties": { - "errorMessage": { - "type": "string", - "description": "Detailed error message", - "readOnly": true - }, - "errorInnerMessage": { - "type": "string", - "description": "External Provider error message", - "readOnly": true - }, - "errorCode": { - "type": "string", - "description": "Short error code", - "readOnly": true - }, - "errorStartTime": { - "format": "date-time", - "type": "string", - "description": "Time the error started occurring (Last time error occurred in lastChecked)", - "readOnly": true - } - } - }, - "ExternalBillingAccountDefinitionListResult": { - "description": "Result of listing ExternalBillingAccount definitions. It contains a list of available ExternalBillingAccount definitions in the scope provided.", - "properties": { - "value": { - "description": "The list of ExternalBillingAccount definitions.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ExternalBillingAccountDefinition" - } - } - } - }, - "ExternalBillingAccountDefinition": { - "type": "object", - "description": "The ExternalBillingAccount model definition", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "ExternalBillingAccount id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "ExternalBillingAccount name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "ExternalBillingAccount type" - }, - "kind": { - "type": "string", - "readOnly": true, - "description": "ExternalBillingAccount kind (eg aws)" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ExternalBillingAccountProperties", - "description": "ExternalBillingAccount properties" - } - }, - "x-ms-azure-resource": true - }, - "ExternalBillingAccountProperties": { - "type": "object", - "description": "The properties of a ExternalBillingAccount", - "properties": { - "displayName": { - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "ExternalBillingAccount DisplayName", - "readOnly": true - }, - "connectorId": { - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Underlying ConnectorId", - "readOnly": true - } - } - }, - "ExternalSubscriptionDefinitionListResult": { - "description": "Result of listing ExternalSubscription definitions. It contains a list of available ExternalSubscription definitions in the scope provided.", - "properties": { - "value": { - "description": "The list of ExternalSubscription definitions.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ExternalSubscriptionDefinition" - } - } - } - }, - "ExternalSubscriptionDefinition": { - "type": "object", - "description": "The ExternalSubscription model definition", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "ExternalSubscription id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "ExternalSubscription name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "ExternalSubscription type" - }, - "kind": { - "type": "string", - "readOnly": true, - "description": "ExternalSubscription kind (eg aws)" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ExternalSubscriptionProperties", - "description": "ExternalSubscription properties" - } - }, - "x-ms-azure-resource": true - }, - "ExternalSubscriptionProperties": { - "type": "object", - "description": "The properties of a ExternalSubscription", - "properties": { - "displayName": { - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "ExternalSubscription DisplayName", - "readOnly": true - }, - "managementGroupId": { - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Assigned ManagementGroupId", - "readOnly": true - }, - "externalBillingAccountId": { - "type": "string", - "x-ms-mutability": [ - "read" - ], - "description": "Parent ExternalBillingAccountId", - "readOnly": true - } - } - }, - "EntityListResult": { - "description": "Describes the result of the request to view entities.", - "properties": { - "value": { - "description": "The list of entities.", - "type": "array", - "items": { - "$ref": "#/definitions/EntityInfo" - } - }, - "count": { - "description": "Total count of records that match the filter", - "type": "integer", - "readOnly": true - }, - "nextLink": { - "description": "The URL to use for getting the next set of results.", - "type": "string", - "readOnly": true - } - } - }, - "EntityInfo": { - "description": "The entity.", - "properties": { - "id": { - "type": "string", - "description": "The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", - "readOnly": true, - "x-nullable": true - }, - "type": { - "type": "string", - "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups", - "readOnly": true, - "x-nullable": true - }, - "name": { - "type": "string", - "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000", - "readOnly": true - }, - "kind": { - "type": "string", - "readOnly": true, - "description": "The kind of the resource", - "x-nullable": true - }, - "properties": { - "title": "Properties", - "x-ms-client-flatten": true, - "x-nullable": true, - "$ref": "#/definitions/EntityInfoProperties" - } - } - }, - "EntityInfoProperties": { - "description": "The generic properties of an entity.", - "type": "object", - "properties": { - "tenantId": { - "type": "string", - "description": "The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000", - "x-nullable": true - }, - "displayName": { - "type": "string", - "description": "The friendly name of the management group.", - "x-nullable": true - }, - "parent": { - "title": "Parent", - "$ref": "#/definitions/EntityParentGroupInfo", - "x-nullable": true - }, - "permissions": { - "title": "Permissions", - "x-nullable": true, - "$ref": "#/definitions/Permissions" - }, - "inheritedPermissions": { - "title": "Inherited Permissions", - "x-nullable": true, - "$ref": "#/definitions/Permissions" - }, - "numberOfDescendants": { - "title": "Number of Descendants", - "type": "integer", - "x-nullable": true - }, - "numberOfChildren": { - "title": "Number of Children", - "description": "Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group.", - "type": "integer", - "x-nullable": true - }, - "numberOfChildGroups": { - "title": "Number of Child Groups", - "description": "Number of child groups is the number of Groups that are exactly one level underneath the current Group.", - "type": "integer", - "x-nullable": true - }, - "parentDisplayNameChain": { - "type": "array", - "description": "The parent display name chain from the root group to the immediate parent", - "x-nullable": true, - "items": { - "type": "string" - } - }, - "parentNameChain": { - "type": "array", - "description": "The parent name chain from the root group to the immediate parent", - "x-nullable": true, - "items": { - "type": "string" - } - } - } - }, - "EntityParentGroupInfo": { - "description": "(Optional) The ID of the parent management group.", - "properties": { - "id": { - "type": "string", - "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" - } - } - }, - "Permissions": { - "type": "string", - "enum": [ - "noaccess", - "view", - "edit", - "delete" - ], - "description": "The users specific permissions to this item." - }, - "OperationListResult": { - "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.", - "properties": { - "value": { - "description": "List of cost management operations supported by the Microsoft.CostManagement resource provider.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/Operation" - } - }, - "nextLink": { - "description": "URL to get the next set of operation list results if there are any.", - "type": "string", - "readOnly": true - } - } - }, - "Operation": { - "description": "A Cost management REST API operation.", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}.", - "type": "string", - "readOnly": true - }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft.CostManagement.", - "type": "string", - "readOnly": true - }, - "resource": { - "description": "Resource on which the operation is performed: Dimensions, Query.", - "type": "string", - "readOnly": true - }, - "operation": { - "description": "Operation type: Read, write, delete, etc.", - "type": "string", - "readOnly": true - } - } - } - } - }, - "ShowbackRuleListResult": { - "description": "Result of listing showback rules. It contains a list of available rules in the scope provided.", - "properties": { - "value": { - "description": "The list of showback rules.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ShowbackRule" - } - } - } - }, - "ShowbackRule": { - "type": "object", - "description": "The showback rule model definition", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Rule id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Rule name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Rule type" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ShowbackRuleProperties", - "description": "Showback rule properties" - } - } - }, - "ShowbackRuleProperties": { - "description": "The properties of a showback rule.", - "discriminator": "RuleType", - "properties": { - "description": { - "description": "Description of a showback rule.", - "type": "string" - }, - "status": { - "description": "The current status of the showback rule.", - "type": "string", - "enum": [ - "NotActive", - "Active" - ], - "x-ms-enum": { - "name": "ShowbackRuleStatus", - "modelAsString": true - } - }, - "version": { - "description": "The current version of showback rule.", - "type": "integer", - "readOnly": true - }, - "scopes": { - "description": "List of authorized assigned scopes.", - "type": "array", - "items": { - "$ref": "#/definitions/Scope" - } - }, - "creationTime": { - "format": "date-time", - "description": "The time when the showback rule was created.", - "type": "string", - "readOnly": true - }, - "deprecationTime": { - "description": "The current time when showback rule was deprecate.", - "format": "date-time", - "type": "string", - "readOnly": true - }, - "modificationTime": { - "description": "The current status when showback rule was modified.", - "format": "date-time", - "type": "string", - "readOnly": true - } - }, - "allOf": [{ - "$ref": "#/definitions/ShowbackRulesKind" - }] - }, - "CustomPrice": { - "x-ms-discriminator-value": "CustomPrice", - "type": "object", - "description": "Represents Custom price showback rule model", - "allOf": [{ - "$ref": "#/definitions/ShowbackRuleProperties" - }], - "properties": { - "details": { - "$ref": "#/definitions/CustomPriceProperties" - } - } - }, - "CustomPriceProperties": { - "type": "object", - "title": "Custom price showback rule properties", - "properties": { - "pricesheet": { - "type": "string" - }, - "benefits": { - "description": "Array of benefits.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "None", "All", "AHUB", "Reservations" - ], - "x-ms-enum": { - "name": "FunctionType", - "modelAsString": true - } - } - }, - "markups": { - "description": "List of markups.", - "type": "array", - "items": { - "$ref": "#/definitions/Markup" - } - } - } - }, - "CustomCharge": { - "x-ms-discriminator-value": "CustomCharge", - "type": "object", - "description": "Represents custom charge showback rule model", - "allOf": [{ - "$ref": "#/definitions/ShowbackRuleProperties" - }], - "properties": { - "details": { - "$ref": "#/definitions/CustomChargeProperties" - } - } - }, - "CustomChargeProperties": { - "type": "object", - "title": "Custom charge showback rule properties", - "properties": { - "recurring": { - "description": "Recurring of the charge.", - "type": "string", - "readOnly": true, - "enum": [ - "true", - "false" - ], - "x-ms-enum": { - "name": "CustomChargeRecurring", - "modelAsString": true - } - }, - "chargeType": { - "type": "string" - }, - "ChargeValue": { - "type": "string" - }, - "EffectiveMonth": { - "format": "date-time", - "type": "string" - }, - "EndMonth": { - "format": "date-time", - "type": "string" - } - } - }, - "CostAllocation": { - "x-ms-discriminator-value": "CostAllocation", - "type": "object", - "description": "Represents cost allocation showback rule model", - "allOf": [{ - "$ref": "#/definitions/ShowbackRuleProperties" - }], - "properties": { - "details": { - "$ref": "#/definitions/CostAllocationProperties" - } - } - }, - "CostAllocationProperties": { - "type": "object", - "title": "Cost allocation showback rule properties", - "properties": {} - }, - "ShowbackRulesKind": { - "type": "object", - "description": "Describes Showback rule with rule type", - "properties": { - "RuleType": { - "type": "string", - "description": "The rule type of the showback rule solution", - "enum": ["CustomPrice", "CustomChange", "CostAllocation"], - "x-ms-enum": { - "name": "ShowbackRulesKind", - "modelAsString": true, - "values": [{ - "value": "CustomPrice" - }, - { - "value": "CustomCharge" - }, - { - "value": "CostAllocation" - } - ] - } - } - } - }, - "Scope": { - "type": "object", - "description": "The Scope model definition", - "properties": { - "id": { - "type": "string", - "description": "Scope id" - }, - "name": { - "type": "string", - "description": "Scope name" - }, - "type": { - "type": "string", - "description": "Scope type" - }, - "childScope": { - "$ref": "#/definitions/Scope" - } - } - }, - "Markup": { - "type": "object", - "description": "The Markup model definition", - "properties": { - "percentage": { - "type": "string" - } - } - } - }, - "parameters": { - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Version of the API to be used with the client request. The current version is 2019-03-01-preview" - }, - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "Azure Subscription ID.", - "required": true, - "type": "string" - }, - "billingAccountIdParameter": { - "name": "billingAccountId", - "in": "path", - "description": "BillingAccount ID", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "managementGroupIdParameter": { - "name": "managementGroupId", - "in": "path", - "description": "ManagementGroup ID", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "departmentIdParameter": { - "name": "departmentId", - "in": "path", - "description": "Department ID", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "enrollmentAccountIdParameter": { - "name": "enrollmentAccountId", - "in": "path", - "description": "Enrollment Account ID", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "resourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "description": "Azure Resource Group Name.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "connectorNameParameter": { - "name": "connectorName", - "in": "path", - "description": "Connector Name.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "externalBillingAccountNameParameter": { - "name": "externalBillingAccountName", - "in": "path", - "description": "External Billing Account Name. (eg 'aws-{PayerAccountId}')", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "externalSubscriptionNameParameter": { - "name": "externalSubscriptionName", - "in": "path", - "description": "External Subscription Name. (eg 'aws-{UsageAccountId}')", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "EntityViewParameter": { - "name": "$view", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "FullHierarchy", - "GroupsOnly", - "SubscriptionsOnly", - "ExternalSubscriptionsOnly", - "Audit" - ], - "x-ms-parameter-location": "method", - "description": "The view parameter allows clients to filter the type of data that is returned by the getEntities call." - }, - "ruleNameParameter": { - "name": "ruleName", - "in": "path", - "description": "Showback rule name", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } - } + "swagger": "2.0", + "info": { + "version": "2019-03-01-preview", + "title": "CostManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ListByBillingAccount", + "description": "Lists the dimensions by billingAccount Id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountDimensionsList": { + "$ref": "./examples/BillingAccountDimensionsList.json" + }, + "BillingAccountDimensionsListExpandAndTop": { + "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json" + }, + "BillingAccountDimensionsListWithFilter": { + "$ref": "./examples/BillingAccountDimensionsListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ListByEnrollmentAccount", + "description": "Lists the dimensions by Enrollment Account Id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "EnrollmentAccountDimensionsList": { + "$ref": "./examples/EnrollmentAccountDimensionsList.json" + }, + "EnrollmentAccountDimensionsListExpandAndTop": { + "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json" + }, + "EnrollmentAccountDimensionsListWithFilter": { + "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountIdParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ListByDepartment", + "description": "Lists the dimensions by Department Id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "DepartmentDimensionsList": { + "$ref": "./examples/DepartmentDimensionsList.json" + }, + "DepartmentDimensionsListExpandAndTop": { + "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json" + }, + "DepartmentDimensionsListWithFilter": { + "$ref": "./examples/DepartmentDimensionsListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/departmentIdParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ListByManagementGroup", + "description": "Lists the dimensions by managementGroup Id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ManagementGroupDimensionsList": { + "$ref": "./examples/ManagementGroupDimensionsList.json" + }, + "ManagementGroupDimensionsListExpandAndTop": { + "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json" + }, + "ManagementGroupDimensionsListWithFilter": { + "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ListBySubscription", + "description": "Lists the dimensions by subscription Id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionDimensionsList": { + "$ref": "./examples/SubscriptionDimensionsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/Query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageBySubscription", + "description": "Query the usage data for subscriptionId.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionQuery": { + "$ref": "./examples/SubscriptionQuery.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageBySubscription", + "description": "Forecast the usage data for subscriptionId.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionForecast": { + "$ref": "./examples/SubscriptionForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ListByResourceGroup", + "description": "Lists the dimensions by resource group Id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupDimensionsList": { + "$ref": "./examples/ResourceGroupDimensionsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/Query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageByResourceGroup", + "description": "Query the usage data for subscriptionId and resource group.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupQuery": { + "$ref": "./examples/ResourceGroupQuery.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByResourceGroup", + "description": "Forecast the usage data for subscriptionId and resource group.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupForecast": { + "$ref": "./examples/ResourceGroupForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/Query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageByBillingAccount", + "description": "Query the usage data for billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountQuery": { + "$ref": "./examples/BillingAccountQuery.json" + }, + "BillingAccountQueryGroupingUsage": { + "$ref": "./examples/BillingAccountQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByBillingAccount", + "description": "Forecast the usage data for billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountForecast": { + "$ref": "./examples/BillingAccountForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/Query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageByEnrollmentAccount", + "description": "Query the usage data for an enrollment account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "EnrollmentAccountQuery": { + "$ref": "./examples/EnrollmentAccountQuery.json" + }, + "EnrollmentAccountQueryGroupingUsage": { + "$ref": "./examples/EnrollmentAccountQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByEnrollmentAccount", + "description": "Forecast the usage data for an enrollment account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "EnrollmentAccountForecast": { + "$ref": "./examples/EnrollmentAccountForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/Query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageByDepartment", + "description": "Query the usage data for department.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "DepartmentQuery": { + "$ref": "./examples/DepartmentQuery.json" + }, + "DepartmentQueryGroupingUsage": { + "$ref": "./examples/DepartmentQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/departmentIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByDepartment", + "description": "Forecast the usage data for department.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "DepartmentForecast": { + "$ref": "./examples/DepartmentForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/departmentIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/Query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageByManagementGroup", + "description": "Lists the usage data for management group.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ManagementGroupQuery": { + "$ref": "./examples/ManagementGroupQuery.json" + }, + "ManagementGroupQueryGroupingUsage": { + "$ref": "./examples/ManagementGroupQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/Forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_UsageByManagementGroup", + "description": "Lists the usage data for management group.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ManagementGroupForecast": { + "$ref": "./examples/ManagementGroupForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReportConfigDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Report Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.CostManagement/cloudConnectors": { + "get": { + "tags": [ + "CloudConnectors" + ], + "operationId": "CloudConnector_List", + "description": "List all cloud connector definitions", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "CloudConnector_List": { + "$ref": "./examples/CloudConnectorList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConnectorDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.CostManagement/cloudConnectors/{connectorName}": { + "get": { + "tags": [ + "CloudConnectors" + ], + "operationId": "CloudConnector_Get", + "description": "Get a cloud connector definition", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "CloudConnector_Get": { + "$ref": "./examples/CloudConnectorGet.json" + }, + "CloudConnector_Get_Expand": { + "$ref": "./examples/CloudConnectorGetExpand.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/connectorNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the collectionInfo property. By default, collectionInfo is not included.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConnectorDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CloudConnectors" + ], + "operationId": "CloudConnector_CreateOrUpdate", + "description": "Create or update a cloud connector definition", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "CloudConnector_Put": { + "$ref": "./examples/CloudConnectorPut.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/connectorNameParameter" + }, + { + "name": "connector", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectorDefinition" + }, + "description": "Connector details" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConnectorDefinition" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/ConnectorDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CloudConnectors" + ], + "operationId": "CloudConnector_Delete", + "description": "Delete a cloud connector definition", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "CloudConnector_Delete": { + "$ref": "./examples/CloudConnectorDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/connectorNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "CloudConnectors" + ], + "operationId": "CloudConnector_Update", + "description": "Update a cloud connector definition", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "CloudConnector_Update": { + "$ref": "./examples/CloudConnectorPatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/connectorNameParameter" + }, + { + "name": "connector", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectorDefinition" + }, + "description": "Connector details" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConnectorDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/externalBillingAccounts": { + "get": { + "tags": [ + "ExternalBillingAccounts" + ], + "operationId": "ExternalBillingAccount_List", + "description": "List all ExternalBillingAccount definitions", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccount_List": { + "$ref": "./examples/ExternalBillingAccountList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExternalBillingAccountDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}": { + "get": { + "tags": [ + "ExternalBillingAccounts" + ], + "operationId": "ExternalBillingAccount_Get", + "description": "Get a ExternalBillingAccount definition", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccount_Get": { + "$ref": "./examples/ExternalBillingAccountGet.json" + }, + "ExternalBillingAccount_Get_Expand": { + "$ref": "./examples/ExternalBillingAccountGetExpand.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/externalBillingAccountNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the collectionInfo property. By default, collectionInfo is not included.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExternalBillingAccountDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}/externalSubscriptions": { + "get": { + "tags": [ + "ExternalSubscriptions" + ], + "operationId": "ExternalSubscription_ListByExternalBillingAccount", + "description": "List all ExternalSubscriptions by ExternalBillingAccount definitions", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountExternalSubscription_List": { + "$ref": "./examples/ExternalBillingAccountExternalSubscriptionList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/externalBillingAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.CostManagement/externalSubscriptions": { + "get": { + "tags": [ + "ExternalSubscriptions" + ], + "operationId": "ExternalSubscription_List", + "description": "List all ExternalSubscription definitions", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalSubscription_List": { + "$ref": "./examples/ExternalSubscriptionList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}": { + "get": { + "tags": [ + "ExternalSubscriptions" + ], + "operationId": "ExternalSubscription_Get", + "description": "Get an ExternalSubscription definition", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalSubscription_Get": { + "$ref": "./examples/ExternalSubscriptionGet.json" + }, + "ExternalSubscription_Get_Expand": { + "$ref": "./examples/ExternalSubscriptionGetExpand.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/externalSubscriptionNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the collectionInfo property. By default, collectionInfo is not included.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExternalSubscriptionDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/externalSubscriptions": { + "get": { + "tags": [ + "ExternalSubscriptions" + ], + "operationId": "ExternalSubscription_ListByManagementGroup", + "description": "List all ExternalSubscription definitions for Management Group", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalSubscription_List": { + "$ref": "./examples/ManagementGroupExternalSubscriptionList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "name": "$recurse", + "description": "The $recurse=true query string parameter allows returning externalSubscriptions associated with the specified managementGroup, or any of its descendants.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}": { + "put": { + "tags": [ + "ExternalSubscriptions" + ], + "operationId": "ExternalSubscription_UpdateManagementGroup", + "description": "Updates the management group of an ExternalSubscription", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ManagementGroupExternalSubscription_Put": { + "$ref": "./examples/ManagementGroupExternalSubscriptionUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/externalSubscriptionNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/showbackRules": { + "get": { + "tags": [ + "ShowbackRules" + ], + "operationId": "ShowbackRules_List", + "description": "Get list all Showback Rules.", + "x-ms-examples": { + "ShowbackRules_List": { + "$ref": "./examples/ShowbackRulesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ShowbackRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/showbackRules/{ruleName}": { + "get": { + "tags": [ + "ShowbackRules" + ], + "operationId": "ShowbackRule_GetBillingAccountId", + "description": "Gets the showback rule by rule name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ShowbackRules": { + "$ref": "./examples/ShowbackRuleGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ShowbackRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ShowbackRules" + ], + "operationId": "ShowbackRule_CreateUpdateRule", + "description": "Create/Update showback rule for billing account.", + "x-ms-examples": { + "ShowbackRules": { + "$ref": "./examples/ShowbackRulePut.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + }, + { + "name": "showbackRule", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ShowbackRuleProperties" + }, + "description": "Showback rule to create or update." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ShowbackRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available consumption REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ErrorBase": { + "description": "The details of the error.", + "properties": { + "code": { + "type": "string", + "description": "A machine readable error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "A human readable error message.", + "readOnly": true + }, + "target": { + "type": "string", + "description": "Indicates which property in the request is responsible for the error.", + "readOnly": true + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "A machine readable error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "A human readable error message.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + }, + "details": { + "description": "error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorBase" + } + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ReportConfigDefinition": { + "description": "The definition of a report config.", + "properties": { + "type": { + "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.", + "type": "string", + "enum": [ + "Usage" + ], + "x-ms-enum": { + "name": "ReportType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "WeekToDate", + "MonthToDate", + "YearToDate", + "Custom" + ], + "x-ms-enum": { + "name": "TimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the report.", + "$ref": "#/definitions/ReportConfigTimePeriod" + }, + "dataset": { + "description": "Has definition for data in this report config.", + "$ref": "#/definitions/ReportConfigDataset" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "ReportConfigTimePeriod": { + "description": "The start and end date for pulling data for the report.", + "properties": { + "from": { + "description": "The start date to pull data from.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date to pull data to.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "ReportConfigDataset": { + "description": "The definition of data present in the report.", + "properties": { + "granularity": { + "description": "The granularity of rows in the report.", + "type": "string", + "enum": [ + "Daily", + "Monthly" + ], + "x-ms-enum": { + "name": "GranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.", + "$ref": "#/definitions/ReportConfigDatasetConfiguration" + }, + "aggregation": { + "type": "object", + "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/ReportConfigAggregation" + }, + "maxItems": 2 + }, + "grouping": { + "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigGrouping" + }, + "maxItems": 2 + }, + "sorting": { + "description": "Array of order by expression to use in the report.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigSorting" + } + }, + "filter": { + "type": "object", + "description": "Has filter expression to use in the report.", + "$ref": "#/definitions/ReportConfigFilter" + } + } + }, + "ReportConfigDatasetConfiguration": { + "description": "The configuration of dataset in the report.", + "properties": { + "columns": { + "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ReportConfigAggregation": { + "description": "The aggregation expression to be used in the report.", + "properties": { + "name": { + "description": "The name of the column to aggregate.", + "type": "string" + }, + "function": { + "description": "The name of the aggregation function to use.", + "type": "string", + "enum": [ + "Sum" + ], + "x-ms-enum": { + "name": "FunctionType", + "modelAsString": true + } + } + }, + "required": [ + "name", + "function" + ] + }, + "ReportConfigSorting": { + "description": "The order by expression to be used in the report.", + "properties": { + "direction": { + "description": "Direction of sort.", + "type": "string", + "enum": [ + "Ascending", + "Descending" + ] + }, + "name": { + "description": "The name of the column to sort.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "ReportConfigGrouping": { + "description": "The group by expression to be used in the report.", + "properties": { + "type": { + "description": "Has type of the column to group.", + "$ref": "#/definitions/ReportConfigColumnType" + }, + "name": { + "description": "The name of the column to group. This version supports subscription lowest possible grain.", + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ReportConfigFilter": { + "description": "The filter expression to be used in the report.", + "properties": { + "and": { + "description": "The logical \"AND\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigFilter" + }, + "minItems": 2 + }, + "or": { + "description": "The logical \"OR\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigFilter" + }, + "minItems": 2 + }, + "not": { + "description": "The logical \"NOT\" expression.", + "$ref": "#/definitions/ReportConfigFilter" + }, + "dimension": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/ReportConfigComparisonExpression" + }, + "tag": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/ReportConfigComparisonExpression" + } + } + }, + "ReportConfigColumnType": { + "description": "The type of the column in the report.", + "type": "string", + "enum": [ + "Tag", + "Dimension" + ], + "x-ms-enum": { + "name": "ReportConfigColumnType", + "modelAsString": true + } + }, + "ReportConfigComparisonExpression": { + "description": "The comparison expression to be used in the report.", + "properties": { + "name": { + "description": "The name of the column to use in comparison.", + "type": "string" + }, + "operator": { + "description": "The operator to use for comparison.", + "type": "string", + "enum": [ + "In", + "Contains" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "DimensionsListResult": { + "description": "Result of listing dimensions. It contains a list of available dimensions.", + "type": "object", + "properties": { + "value": { + "description": "The list of dimensions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Dimension" + } + } + } + }, + "Dimension": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DimensionProperties", + "title": "Dimension properties" + } + } + }, + "DimensionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "filterEnabled": { + "type": "boolean" + }, + "groupingEnabled": { + "type": "boolean" + }, + "data": { + "type": "array", + "items": { + "type": "string" + } + }, + "total": { + "format": "int32", + "type": "integer" + }, + "category": { + "type": "string" + }, + "usageStart": { + "format": "date-time", + "type": "string" + }, + "usageEnd": { + "format": "date-time", + "type": "string" + }, + "nextLink": { + "type": "string" + } + } + }, + "QueryResult": { + "description": "Result of query. It contains all columns listed under groupings and aggregation.", + "type": "object", + "properties": { + "value": { + "description": "The list of usage data.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Query" + } + } + } + }, + "Query": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/QueryProperties", + "title": "Query properties" + } + } + }, + "QueryProperties": { + "type": "object", + "properties": { + "nextLink": { + "type": "string" + }, + "columns": { + "description": "Array of columns", + "type": "array", + "items": { + "$ref": "#/definitions/QueryColumn" + } + }, + "rows": { + "type": "array", + "items": { + "type": "array", + "items": {} + } + } + } + }, + "QueryColumn": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "ConnectorDefinitionListResult": { + "description": "Result of listing connector definitions. It contains a list of available connector definitions in the scope provided.", + "properties": { + "value": { + "description": "The list of connector definitions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ConnectorDefinition" + } + } + } + }, + "ConnectorDefinition": { + "type": "object", + "description": "The Connector model definition", + "properties": { + "kind": { + "type": "string", + "description": "Connector kind (eg aws)" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Connector id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Connector name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Connector type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectorProperties", + "description": "Connector properties" + } + }, + "x-ms-azure-resource": true + }, + "ConnectorProperties": { + "type": "object", + "description": "The properties of a Connector", + "properties": { + "displayName": { + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Connector DisplayName" + }, + "providerBillingAccountId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Connector providerBillingAccountId, determined from credentials (eg AWS Consolidated account number)", + "readOnly": true + }, + "providerBillingAccountDisplayName": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "The display name of the providerBillingAccountId as defined on the external provider", + "readOnly": true + }, + "credentialsKey": { + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Credentials authentication key (eg AWS ARN)" + }, + "credentialsSecret": { + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "description": "Credentials secret (eg AWS ExternalId)" + }, + "reportId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Identifying source report. (For AWS this is a CUR report name, defined with Daily and with Resources)" + }, + "createdOn": { + "format": "date-time", + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Connector definition creation datetime", + "readOnly": true + }, + "modifiedOn": { + "format": "date-time", + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Connector last modified datetime", + "readOnly": true + }, + "status": { + "enum": [ + "active", + "error", + "expired", + "warning" + ], + "x-ms-enum": { + "name": "ConnectorStatus", + "modelAsString": true + }, + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Connector status", + "readOnly": true + }, + "externalBillingAccountId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Associated ExternalBillingAccountId", + "readOnly": true + }, + "defaultManagementGroupId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Default ManagementGroupId" + }, + "subscriptionId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Billing SubscriptionId" + }, + "billingModel": { + "enum": [ + "trial", + "autoUpgrade", + "premium", + "expired" + ], + "x-ms-enum": { + "name": "ConnectorBillingModel", + "modelAsString": true + }, + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Connector billing model" + }, + "daysTrialRemaining": { + "type": "integer", + "x-nullable": true, + "x-ms-mutability": [ + "read" + ], + "description": "Number of days remaining of trial", + "readOnly": true + }, + "collectionInfo": { + "$ref": "#/definitions/ConnectorCollectionInfo", + "description": "Collection information", + "x-nullable": true, + "readOnly": true + } + } + }, + "ConnectorCollectionInfo": { + "type": "object", + "description": "Collection and ingestion information", + "properties": { + "lastChecked": { + "format": "date-time", + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Last time the data acquisition process initiated connecting to the external provider", + "readOnly": true + }, + "sourceLastUpdated": { + "format": "date-time", + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp)", + "readOnly": true + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Last time the external data was updated into Azure", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/ConnectorCollectionErrorInfo", + "description": "Error information of last collection" + } + } + }, + "ConnectorCollectionErrorInfo": { + "type": "object", + "description": "Details of any error encountered on last collection attempt", + "properties": { + "errorMessage": { + "type": "string", + "description": "Detailed error message", + "readOnly": true + }, + "errorInnerMessage": { + "type": "string", + "description": "External Provider error message", + "readOnly": true + }, + "errorCode": { + "type": "string", + "description": "Short error code", + "readOnly": true + }, + "errorStartTime": { + "format": "date-time", + "type": "string", + "description": "Time the error started occurring (Last time error occurred in lastChecked)", + "readOnly": true + } + } + }, + "ExternalBillingAccountDefinitionListResult": { + "description": "Result of listing ExternalBillingAccount definitions. It contains a list of available ExternalBillingAccount definitions in the scope provided.", + "properties": { + "value": { + "description": "The list of ExternalBillingAccount definitions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExternalBillingAccountDefinition" + } + } + } + }, + "ExternalBillingAccountDefinition": { + "type": "object", + "description": "The ExternalBillingAccount model definition", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "ExternalBillingAccount id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "ExternalBillingAccount name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "ExternalBillingAccount type" + }, + "kind": { + "type": "string", + "readOnly": true, + "description": "ExternalBillingAccount kind (eg aws)" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExternalBillingAccountProperties", + "description": "ExternalBillingAccount properties" + } + }, + "x-ms-azure-resource": true + }, + "ExternalBillingAccountProperties": { + "type": "object", + "description": "The properties of a ExternalBillingAccount", + "properties": { + "displayName": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "ExternalBillingAccount DisplayName", + "readOnly": true + }, + "providerBillingAccountId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Provider BillingAccountId (eg AWS Consolidated Account number)", + "readOnly": true + }, + "connectorId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Underlying ConnectorId", + "readOnly": true + }, + "collectionInfo": { + "$ref": "#/definitions/ConnectorCollectionInfo", + "description": "Collection information", + "x-nullable": true, + "readOnly": true + } + } + }, + "ExternalSubscriptionDefinitionListResult": { + "description": "Result of listing ExternalSubscription definitions. It contains a list of available ExternalSubscription definitions in the scope provided.", + "properties": { + "value": { + "description": "The list of ExternalSubscription definitions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExternalSubscriptionDefinition" + } + } + } + }, + "ExternalSubscriptionDefinition": { + "type": "object", + "description": "The ExternalSubscription model definition", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "ExternalSubscription id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "ExternalSubscription name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "ExternalSubscription type" + }, + "kind": { + "type": "string", + "readOnly": true, + "description": "ExternalSubscription kind (eg aws)" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExternalSubscriptionProperties", + "description": "ExternalSubscription properties" + } + }, + "x-ms-azure-resource": true + }, + "ExternalSubscriptionProperties": { + "type": "object", + "description": "The properties of a ExternalSubscription", + "properties": { + "displayName": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "ExternalSubscription DisplayName", + "readOnly": true + }, + "managementGroupId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Assigned ManagementGroupId", + "readOnly": true + }, + "providerBillingAccountId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Provider BillingAccountId (eg AWS Consolidated Account number)", + "readOnly": true + }, + "providerAccountId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Provider AccountId (eg AWS Linked Account number)", + "readOnly": true + }, + "externalBillingAccountId": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "description": "Parent ExternalBillingAccountId", + "readOnly": true + }, + "collectionInfo": { + "$ref": "#/definitions/ConnectorCollectionInfo", + "description": "Collection information", + "x-nullable": true, + "readOnly": true + } + } + }, + "ExternalSubscriptionIdListRequest": { + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of ExternalSubscriptionIds." + } + }, + "description": "The list of ExternalSubscriptionIds operation request." + }, + "OperationListResult": { + "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of cost management operations supported by the Microsoft.CostManagement resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A Cost management REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.CostManagement.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: Dimensions, Query.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "ShowbackRuleListResult": { + "description": "Result of listing showback rules. It contains a list of available rules in the scope provided.", + "properties": { + "value": { + "description": "The list of showback rules.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ShowbackRule" + } + } + } + }, + "ShowbackRule": { + "type": "object", + "description": "The showback rule model definition", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Rule id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Rule name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Rule type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ShowbackRuleProperties", + "description": "Showback rule properties" + } + } + }, + "ShowbackRuleProperties": { + "description": "The properties of a showback rule.", + "discriminator": "RuleType", + "properties": { + "description": { + "description": "Description of a showback rule.", + "type": "string" + }, + "status": { + "description": "The current status of the showback rule.", + "type": "string", + "enum": [ + "NotActive", + "Active" + ], + "x-ms-enum": { + "name": "ShowbackRuleStatus", + "modelAsString": true + } + }, + "version": { + "description": "The current version of showback rule.", + "type": "integer", + "readOnly": true + }, + "scopes": { + "description": "List of authorized assigned scopes.", + "type": "array", + "items": { + "$ref": "#/definitions/Scope" + } + }, + "creationTime": { + "format": "date-time", + "description": "The time when the showback rule was created.", + "type": "string", + "readOnly": true + }, + "deprecationTime": { + "description": "The current time when showback rule was deprecate.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "modificationTime": { + "description": "The current status when showback rule was modified.", + "format": "date-time", + "type": "string", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ShowbackRulesKind" + } + ] + }, + "CustomPrice": { + "x-ms-discriminator-value": "CustomPrice", + "type": "object", + "description": "Represents Custom price showback rule model", + "allOf": [ + { + "$ref": "#/definitions/ShowbackRuleProperties" + } + ], + "properties": { + "details": { + "$ref": "#/definitions/CustomPriceProperties" + } + } + }, + "CustomPriceProperties": { + "type": "object", + "title": "Custom price showback rule properties", + "properties": { + "pricesheet": { + "type": "string" + }, + "benefits": { + "description": "Array of benefits.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "None", + "All", + "AHUB", + "Reservations" + ], + "x-ms-enum": { + "name": "FunctionType", + "modelAsString": true + } + } + }, + "markups": { + "description": "List of markups.", + "type": "array", + "items": { + "$ref": "#/definitions/Markup" + } + } + } + }, + "CustomCharge": { + "x-ms-discriminator-value": "CustomCharge", + "type": "object", + "description": "Represents custom charge showback rule model", + "allOf": [ + { + "$ref": "#/definitions/ShowbackRuleProperties" + } + ], + "properties": { + "details": { + "$ref": "#/definitions/CustomChargeProperties" + } + } + }, + "CustomChargeProperties": { + "type": "object", + "title": "Custom charge showback rule properties", + "properties": { + "recurring": { + "description": "Recurring of the charge.", + "type": "string", + "readOnly": true, + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "name": "CustomChargeRecurring", + "modelAsString": true + } + }, + "chargeType": { + "type": "string" + }, + "ChargeValue": { + "type": "string" + }, + "EffectiveMonth": { + "format": "date-time", + "type": "string" + }, + "EndMonth": { + "format": "date-time", + "type": "string" + } + } + }, + "CostAllocation": { + "x-ms-discriminator-value": "CostAllocation", + "type": "object", + "description": "Represents cost allocation showback rule model", + "allOf": [ + { + "$ref": "#/definitions/ShowbackRuleProperties" + } + ], + "properties": { + "details": { + "$ref": "#/definitions/CostAllocationProperties" + } + } + }, + "CostAllocationProperties": { + "type": "object", + "title": "Cost allocation showback rule properties", + "properties": {} + }, + "ShowbackRulesKind": { + "type": "object", + "description": "Describes Showback rule with rule type", + "properties": { + "RuleType": { + "type": "string", + "description": "The rule type of the showback rule solution", + "enum": [ + "CustomPrice", + "CustomChange", + "CostAllocation" + ], + "x-ms-enum": { + "name": "ShowbackRulesKind", + "modelAsString": true + } + } + } + }, + "Scope": { + "type": "object", + "description": "The Scope model definition", + "properties": { + "id": { + "type": "string", + "description": "Scope id" + }, + "name": { + "type": "string", + "description": "Scope name" + }, + "type": { + "type": "string", + "description": "Scope type" + }, + "childScope": { + "$ref": "#/definitions/Scope" + } + } + }, + "Markup": { + "type": "object", + "description": "The Markup model definition", + "properties": { + "percentage": { + "type": "string" + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2019-03-01-preview" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "managementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "description": "ManagementGroup ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "departmentIdParameter": { + "name": "departmentId", + "in": "path", + "description": "Department ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "enrollmentAccountIdParameter": { + "name": "enrollmentAccountId", + "in": "path", + "description": "Enrollment Account ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Azure Resource Group Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "connectorNameParameter": { + "name": "connectorName", + "in": "path", + "description": "Connector Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "externalBillingAccountNameParameter": { + "name": "externalBillingAccountName", + "in": "path", + "description": "External Billing Account Name. (eg 'aws-{PayerAccountId}')", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "externalSubscriptionNameParameter": { + "name": "externalSubscriptionName", + "in": "path", + "description": "External Subscription Name. (eg 'aws-{UsageAccountId}')", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ruleNameParameter": { + "name": "ruleName", + "in": "path", + "description": "Showback rule name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } } \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorDelete.json index 6000c2609293..53943723215e 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorDelete.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorDelete.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2019-03-01-preview", - "connectorName": "12345678-9012-3456-7890-111111111111" + "connectorName": "aws-123456789012" }, "responses": { "200": { diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGet.json index 8805252a8b85..4480f32654c5 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGet.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGet.json @@ -1,23 +1,25 @@ { "parameters": { "api-version": "2019-03-01-preview", - "connectorName": "12345678-9012-3456-7890-111111111111" + "connectorName": "aws-123456789012" }, "responses": { "200": { "body": { "kind": "aws", - "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111", - "name": "12345678-9012-3456-7890-111111111111", + "id": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012", + "name": "aws-123456789012", "type": "Microsoft.CostManagement/cloudConnectors", "properties": { "displayName": "AWS-Consolidated-1", - "providerAccountId": "123456789012", + "providerBillingAccountId": "123456789012", + "providerBillingAccountDisplayName": "MyCompany Consolidated", "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole", "reportId": "HourlyWithResources", "createdOn": "2018-05-15T13:25:48Z", "modifiedOn": "2018-05-23T09:21:11Z", "status": "active", + "externalBillingAccountId" : "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", "subscriptionId": "22222222-3333-4444-1111-777777777777", "billingModel": "autoUpgrade", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGetExpand.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGetExpand.json index 9910c33da554..bd304abe21fa 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGetExpand.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGetExpand.json @@ -1,24 +1,26 @@ { "parameters": { "api-version": "2019-03-01-preview", - "connectorName": "12345678-9012-3456-7890-111111111111", + "connectorName": "aws-123456789012", "$expand": "collectionInfo" }, "responses": { "200": { "body": { "kind": "aws", - "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111", - "name": "12345678-9012-3456-7890-111111111111", + "id": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012", + "name": "aws-123456789012", "type": "Microsoft.CostManagement/cloudConnectors", "properties": { "displayName": "AWS-Consolidated-1", - "providerAccountId": "123456789012", + "providerBillingAccountId": "123456789012", + "providerBillingAccountDisplayName": "MyCompany Consolidated", "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole", "reportId": "HourlyWithResources", "createdOn": "2018-05-15T13:25:48Z", "modifiedOn": "2018-05-23T09:21:11Z", - "status": "active", + "status": "warning", + "externalBillingAccountId" : "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", "subscriptionId": "22222222-3333-4444-1111-777777777777", "billingModel": "autoUpgrade", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorList.json index fc078b4226fb..b0ff43b2a6b2 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorList.json @@ -8,17 +8,19 @@ "value": [ { "kind": "aws", - "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111", - "name": "12345678-9012-3456-7890-111111111111", + "id": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012", + "name": "aws-123456789012", "type": "Microsoft.CostManagement/cloudConnectors", "properties": { "displayName": "AWS-Consolidated-1", - "providerAccountId": "123456789012", + "providerBillingAccountId": "123456789012", + "providerBillingAccountDisplayName": "MyCompany Consolidated", "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole", "reportId": "HourlyWithResources", "createdOn": "2018-05-15T13:25:48Z", "modifiedOn": "2018-05-23T09:21:11Z", "status": "active", + "externalBillingAccountId" : "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", "subscriptionId": "22222222-3333-4444-1111-777777777777", "billingModel": "autoUpgrade", @@ -27,17 +29,18 @@ }, { "kind": "aws", - "id": "/providers/Microsoft.CostManagement/cloudConnectors/11111111-2222-3333-4444-555555555555", - "name": "11111111-2222-3333-4444-555555555555", + "id": "/providers/Microsoft.CostManagement/cloudConnectors/aws-100000000007", + "name": "aws-100000000007", "type": "Microsoft.CostManagement/cloudConnectors", "properties": { "displayName": "AWS-Consolidated-2", - "providerAccountId": "100000000007", + "providerBillingAccountId": "100000000007", "credentialsKey": "arn:aws:iam::100000000007:role/AzureCostManagementRole", "reportId": "CURHourlyWithResources", "createdOn": "2018-06-16T11:23:44Z", "modifiedOn": "2018-06-21T17:33:28Z", - "status": "suspended", + "status": "active", + "externalBillingAccountId" : "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-100000000007", "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", "subscriptionId": "22222222-3333-4444-1111-777777777777", "billingModel": "premium" diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPatch.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPatch.json index 7b1194753c45..5a36f2d332da 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPatch.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPatch.json @@ -1,27 +1,26 @@ { "parameters": { "api-version": "2019-03-01-preview", - "connectorName": "12345678-9012-3456-7890-111111111111", + "connectorName": "aws-123456789012", "connector": { - "properties": { - "displayName": "AWS-Consolidated-3" - } } }, "responses": { "200": { "body": { "kind": "aws", - "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111", - "name": "12345678-9012-3456-7890-111111111111", + "id": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012", + "name": "aws-123456789012", "type": "Microsoft.CostManagement/cloudConnectors", "properties": { "displayName": "AWS-Consolidated-3", + "providerBillingAccountId": "123456789012", "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole", "reportId": "HourlyWithResources", "createdOn": "2018-05-15T13:25:48Z", "modifiedOn": "2018-05-23T09:21:11Z", "status": "active", + "externalBillingAccountId" : "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", "subscriptionId": "22222222-3333-4444-1111-777777777777", "billingModel": "autoUpgrade", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPut.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPut.json index 29c4fd1a13a9..d6dcae2f0749 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPut.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPut.json @@ -1,14 +1,13 @@ { "parameters": { "api-version": "2019-03-01-preview", - "connectorName": "12345678-9012-3456-7890-111111111111", + "connectorName": "aws-123456789012", "connector": { "properties": { "displayName": "AWS-Consolidated-1", "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole", "credentialsSecret": "external-id", - "reportId": "HourlyWithResources", - "status": "active" + "reportId": "HourlyWithResources" } } }, @@ -16,16 +15,19 @@ "200": { "body": { "kind": "aws", - "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111", - "name": "12345678-9012-3456-7890-111111111111", + "id": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012", + "name": "aws-123456789012", "type": "Microsoft.CostManagement/cloudConnectors", "properties": { "displayName": "AWS-Consolidated-1", + "providerBillingAccountId": "123456789012", "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole", "reportId": "HourlyWithResources", "createdOn": "2018-05-15T13:25:48Z", "modifiedOn": "2018-05-23T09:21:11Z", "status": "active", + "externalBillingAccountId" : "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", + "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", "subscriptionId": "22222222-3333-4444-1111-777777777777", "billingModel": "autoUpgrade", "daysTrialRemaining": 62 @@ -35,16 +37,18 @@ "201": { "body": { "kind": "aws", - "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111", - "name": "12345678-9012-3456-7890-111111111111", + "id": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012", + "name": "aws-123456789012", "type": "Microsoft.CostManagement/cloudConnectors", "properties": { "displayName": "AWS-Consolidated-1", + "providerBillingAccountId": "123456789012", "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole", "reportId": "HourlyWithResources", "createdOn": "2018-05-15T13:25:48Z", "modifiedOn": "2018-05-23T09:21:11Z", "status": "active", + "externalBillingAccountId" : "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", "subscriptionId": "22222222-3333-4444-1111-777777777777", "billingModel": "autoUpgrade", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountExternalSubscriptionList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountExternalSubscriptionList.json index c937d61bed93..d48b52c505ea 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountExternalSubscriptionList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountExternalSubscriptionList.json @@ -14,6 +14,8 @@ "kind": "aws", "properties": { "displayName": "MyUsageAccount1", + "providerAccountId": "654321654321", + "providerBillingAccountId": "123456789012", "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ" } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGet.json index bcd1c2b75eac..bd47e292a4a8 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGet.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGet.json @@ -11,8 +11,9 @@ "type": "Microsoft.CostManagement/externalBillingAccounts", "kind": "aws", "properties": { - "displayName": "Contoso Consolidated", - "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111" + "displayName": "MyCompany Consolidated", + "providerBillingAccountId": "123456789012", + "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012" } } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGetExpand.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGetExpand.json new file mode 100644 index 000000000000..949b889c204f --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGetExpand.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2019-03-01-preview", + "externalBillingAccountName": "aws-123456789012", + "$expand": "collectionInfo" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", + "name": "aws-123456789012", + "type": "Microsoft.CostManagement/externalBillingAccounts", + "kind": "aws", + "properties": { + "displayName": "MyCompany Consolidated", + "providerBillingAccountId": "123456789012", + "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/aws-123456789012", + "collectionInfo": { + "sourceLastUpdated": "2018-06-12T16:41:28Z", + "lastUpdated": "2018-06-12T17:25:28Z" + } + } + } + } + } +} + diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountList.json index f9570937df4b..58e2bbfd9f2f 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountList.json @@ -12,7 +12,8 @@ "type": "Microsoft.CostManagement/externalBillingAccounts", "kind": "aws", "properties": { - "displayName": "Contoso Consolidated", + "displayName": "MyCompany Consolidated", + "providerBillingAccountId": "123456789012", "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111" } }, @@ -22,7 +23,8 @@ "type": "Microsoft.CostManagement/externalBillingAccounts", "kind": "aws", "properties": { - "displayName": "Contoso Consolidated2", + "displayName": "MyCompany Consolidated2", + "providerBillingAccountId": "112233445566", "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/11111111-2222-3333-4444-555555555555" } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGet.json index 04ce17b57bd5..0ec86b4897c7 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGet.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGet.json @@ -12,6 +12,8 @@ "kind": "aws", "properties": { "displayName": "MyUsageAccount1", + "providerAccountId": "654321654321", + "providerBillingAccountId": "123456789012", "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ" } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGetExpand.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGetExpand.json new file mode 100644 index 000000000000..0ff8c63b2853 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGetExpand.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-03-01-preview", + "externalSubscriptionName": "aws-654321654321", + "$expand": "collectionInfo" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-654321654321", + "name": "aws-654321654321", + "type": "Microsoft.CostManagement/externalSubscriptions", + "kind": "aws", + "properties": { + "displayName": "MyUsageAccount1", + "providerAccountId": "654321654321", + "providerBillingAccountId": "123456789012", + "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", + "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ", + "collectionInfo": { + "sourceLastUpdated": "2018-06-12T16:41:28Z", + "lastUpdated": "2018-06-12T17:25:28Z" + } + } + } + } + } +} + diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionList.json index 885cedfc4bf8..d8a63ae14bb0 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionList.json @@ -13,6 +13,8 @@ "kind": "aws", "properties": { "displayName": "MyUsageAccount1", + "providerAccountId": "654321654321", + "providerBillingAccountId": "123456789012", "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ" } @@ -24,6 +26,8 @@ "kind": "aws", "properties": { "displayName": "MyUsageAccount2", + "providerAccountId": "110011001100", + "providerBillingAccountId": "112233445566", "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-112233445566", "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ" } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionList.json index 7460c8c280b3..a08f8d4065a1 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionList.json @@ -8,21 +8,25 @@ "body": { "value": [ { - "id": "/providers/Microsoft.CostManagement/externalSubscription/aws-654321654321", + "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-654321654321", "name": "aws-654321654321", - "type": "Microsoft.CostManagement/externalSubscription", + "type": "Microsoft.CostManagement/externalSubscriptions", "properties": { "displayName": "MyUsageAccount1", + "providerAccountId": "654321654321", + "providerBillingAccountId": "123456789012", "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012", "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ" } }, { - "id": "/providers/Microsoft.CostManagement/externalSubscription/aws-110011001100", + "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-110011001100", "name": "aws-110011001100", - "type": "Microsoft.CostManagement/externalSubscription", + "type": "Microsoft.CostManagement/externalSubscriptions", "properties": { "displayName": "MyUsageAccount2", + "providerAccountId": "110011001100", + "providerBillingAccountId": "112233445566", "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-112233445566", "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ" } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionPut.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionUpdate.json similarity index 100% rename from specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionPut.json rename to specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionUpdate.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupGetEntities.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupGetEntities.json deleted file mode 100644 index 833ff97e59f2..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupGetEntities.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "parameters": { - "api-version": "2019-03-01-preview", - "managementGroupId": "XYZ" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/providers/Microsoft.Management/managementGroups/XYZ", - "type": "/providers/Microsoft.Management/managementGroups", - "name": "XYZ", - "properties": { - "tenantId": "20000000-0000-0000-0000-000000000000", - "displayName": "XYZ Department", - "parent": { - "id": "/providers/Microsoft.Management/managementGroups/Engineering" - }, - "permissions": "noaccess", - "inheritedPermissions": "view", - "numberOfDescendants": 0, - "numberOfChildren": 0, - "numberOfChildGroups": 0, - "parentDisplayNameChain": [ - "20000000-0000-0000-0000-000000000000", - "Engineering" - ], - "parentNameChain": [ - "20000000-0000-0000-0000-000000000000", - "Engineering" - ] - } - }, - { - "id": "/subscriptions/88888888-3333-6666-1111-444444444444", - "type": "/subscriptions", - "name": "88888888-3333-6666-1111-444444444444", - "properties": { - "tenantId": "20000000-0000-0000-0000-000000000000", - "displayName": "XYZ Subscription", - "parent": { - "id": "/providers/Microsoft.Management/managementGroups/XYZ" - }, - "permissions": "noaccess", - "inheritedPermissions": "view", - "numberOfDescendants": 0, - "numberOfChildren": 0, - "numberOfChildGroups": 0, - "parentDisplayNameChain": [ - "20000000-0000-0000-0000-000000000000", - "Engineering", - "XYZ Department" - ], - "parentNameChain": [ - "20000000-0000-0000-0000-000000000000", - "Engineering", - "XYZ" - ] - } - }, - { - "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-654321654321", - "type": "Microsoft.CostManagement/externalSubscriptions", - "name": "aws-654321654321", - "kind": "aws", - "properties": { - "tenantId": "20000000-0000-0000-0000-000000000000", - "displayName": "XYZ UsageAccount", - "parent": { - "id": "/providers/Microsoft.Management/managementGroups/XYZ" - }, - "permissions": "noaccess", - "inheritedPermissions": "view", - "numberOfDescendants": 0, - "numberOfChildren": 0, - "numberOfChildGroups": 0, - "parentDisplayNameChain": [ - "20000000-0000-0000-0000-000000000000", - "Engineering", - "XYZ Department" - ], - "parentNameChain": [ - "20000000-0000-0000-0000-000000000000", - "Engineering", - "XYZ" - ] - } - } - ], - "nextLink": null - } - } - } -} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRule.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRule.json deleted file mode 100644 index 02b717cdb0d2..000000000000 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRule.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "api-version": "2019-03-01-preview", - "billingAccountId": "100", - "ruleId": "testRule" - }, - "responses": { - "200": { - "body": { - "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/showback/testRule", - "name": "testRule", - "type": "Microsoft.CostManagement/showback", - "eTag": null, - "properties": { - "id": "testRule", - "description": "This is a testRule", - "status": "NotActive", - "version": 1, - "deprecationTime": "0001-01-01T00:00:00", - "creationTime": "2019-01-16T09:18:20.8665509Z", - "modificationTime": "0001-01-01T00:00:00", - "modificationUserName": null, - "ruleType": "CustomPrice", - "assignedScopes": null, - "details": { - "pricesheet": "Pay-As-You-Go (0003P)", - "AHUBenefits": true, - "markup": null - } - } - } - } - } -} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRuleGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRuleGet.json new file mode 100644 index 000000000000..fe7a61a41bb8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRuleGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2019-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/showbackRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/showbackRules", + "eTag": null, + "properties": { + "description": "This is a testRule", + "status": "NotActive", + "version": 1, + "deprecationTime": "0001-01-01T00:00:00", + "creationTime": "2019-01-16T09:18:20.8665509Z", + "modificationTime": "0001-01-01T00:00:00", + "ruleType": "CustomPrice", + "assignedScopes": null, + "details": { + "pricesheet": "Pay-As-You-Go (0003P)", + "AHUBenefits": true, + "markup": null + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulePut.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulePut.json index 7036686e7631..ae9077ae57c2 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulePut.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulePut.json @@ -1,57 +1,61 @@ { - "parameters": { - "api-version": "2019-03-01-preview", - "billingAccountId": "100", - "ruleId": "testRule", - "showbackRule": { - "properties": { - "name": "demo", - "description": "Welcome to Showback demo", - "status": "Active", - "ruleType": "CustomPrice", - "assignedScopes": [{ - "entityType": "Enrollment", - "entityId": "292105a9-680d-48cf-bdad-1d023104d69f", - "childScope": null - }], - "details": { - "pricesheet": "Pay-As-You-Go (0003P)", - "AHUBenefits": true, - "markup": [{ - "percentage": 1.1, - "filters": [] - }] - } - } - } - }, - "responses": { - "200": { - "body": { - "id": "providers/Microsoft.Billing/billingAccounts/71824150/providers/Microsoft.CostManagement/showback/demo", - "name": "demo", - "type": "Microsoft.CostManagement/showback", - "eTag": null, - "properties": { - "version": 999, - "deprecationTime": "0001-01-01T00:00:00", - "creationTime": "2019-01-16T09:18:20.8665509Z", - "modificationTime": "0001-01-01T00:00:00", - "modificationUserName": null, - "id": "demo", - "description": "Welcome to Showback demo", - "status": "NotActive", - "ruleType": "CustomPrice", - "details": { - "pricesheet": "Pay-As-You-Go (0003P)", - "AHUBenefits": true, - "markup": [{ - "percentage": 1.1, - "filters": [] - }] - } - } - } - } - } + "parameters": { + "api-version": "2019-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule", + "showbackRule": { + "properties": { + "name": "demo", + "description": "Welcome to Showback demo", + "status": "Active", + "ruleType": "CustomPrice", + "assignedScopes": [ + { + "entityType": "Enrollment", + "entityId": "292105a9-680d-48cf-bdad-1d023104d69f", + "childScope": null + } + ], + "details": { + "pricesheet": "Pay-As-You-Go (0003P)", + "AHUBenefits": true, + "markup": [ + { + "percentage": 1.1, + "filters": [] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/71824150/providers/Microsoft.CostManagement/showbackRules/demo", + "name": "demo", + "type": "Microsoft.CostManagement/showbackRules", + "eTag": null, + "properties": { + "version": 999, + "deprecationTime": "0001-01-01T00:00:00", + "creationTime": "2019-01-16T09:18:20.8665509Z", + "modificationTime": "0001-01-01T00:00:00", + "description": "Welcome to Showback demo", + "status": "NotActive", + "ruleType": "CustomPrice", + "details": { + "pricesheet": "Pay-As-You-Go (0003P)", + "AHUBenefits": true, + "markup": [ + { + "percentage": 1.1, + "filters": [] + } + ] + } + } + } + } + } } \ No newline at end of file diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulesList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulesList.json index ac55768c6d7b..252190d2c08b 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulesList.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulesList.json @@ -1,37 +1,35 @@ { - "parameters": { - "api-version": "2019-03-01-preview", - "billingAccountId": "100" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/showback/testRule", - "name": "testRule", - "type": "Microsoft.CostManagement/showback", - "eTag": null, - "properties": { - "id": "testRule", - "description": "This is a testRule", - "status": "NotActive", - "version": 1, - "deprecationTime": "0001-01-01T00:00:00", - "creationTime": "2019-01-16T09:18:20.8665509Z", - "modificationTime": "0001-01-01T00:00:00", - "modificationUserName": null, - "ruleType": "CustomPrice", - "assignedScopes": null, - "details": { - "pricesheet": "Pay-As-You-Go (0003P)", - "AHUBenefits": true, - "markup": null - } - } - } - ] - } + "parameters": { + "api-version": "2019-03-01-preview", + "billingAccountId": "100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/showbackRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/showbackRules", + "eTag": null, + "properties": { + "description": "This is a testRule", + "status": "NotActive", + "version": 1, + "deprecationTime": "0001-01-01T00:00:00", + "creationTime": "2019-01-16T09:18:20.8665509Z", + "modificationTime": "0001-01-01T00:00:00", + "ruleType": "CustomPrice", + "assignedScopes": null, + "details": { + "pricesheet": "Pay-As-You-Go (0003P)", + "AHUBenefits": true, + "markup": null + } + } + } + ] } } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json index 0a864aa7b088..fbd70667a33f 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json @@ -398,10 +398,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/AzureBlobDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "AzureBlobDatasetTypeProperties": { "description": "Azure Blob dataset properties.", @@ -483,10 +480,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/AzureSqlTableDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "AzureSqlTableDatasetTypeProperties": { "description": "Azure SQL dataset properties.", @@ -515,10 +509,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/AzureSqlDWTableDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "AzureSqlDWTableDatasetTypeProperties": { "description": "Azure SQL Data Warehouse dataset properties.", @@ -547,10 +538,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/CassandraTableDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "CassandraTableDatasetTypeProperties": { "description": "Cassandra dataset properties.", @@ -579,10 +567,7 @@ "x-ms-client-flatten": true, "type": "object" } - }, - "required": [ - "typeProperties" - ] + } }, "DocumentDbCollectionDataset": { "x-ms-discriminator-value": "DocumentDbCollection", @@ -631,10 +616,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/DynamicsEntityDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "DynamicsEntityDatasetTypeProperties": { "description": "Dynamics entity dataset properties.", @@ -660,10 +642,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/AzureDataLakeStoreDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "AzureDataLakeStoreDatasetTypeProperties": { "description": "Azure Data Lake Store dataset properties.", @@ -684,10 +663,7 @@ "description": "The data compression method used for the item(s) in the Azure Data Lake Store.", "$ref": "#/definitions/DatasetCompression" } - }, - "required": [ - "folderPath" - ] + } }, "AzureBlobFSDataset": { "x-ms-discriminator-value": "AzureBlobFSFile", @@ -778,10 +754,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/FileShareDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "FileShareDatasetTypeProperties": { "description": "On-premises file system dataset properties.", @@ -927,10 +900,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/ODataResourceDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "ODataResourceDatasetTypeProperties": { "description": "OData dataset properties.", @@ -956,10 +926,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/OracleTableDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "OracleTableDatasetTypeProperties": { "description": "On-premises Oracle dataset properties.", @@ -968,10 +935,7 @@ "type": "object", "description": "The table name of the on-premises Oracle database. Type: string (or Expression with resultType string)." } - }, - "required": [ - "tableName" - ] + } }, "AzureMySqlTableDataset": { "x-ms-discriminator-value": "AzureMySqlTable", @@ -1017,10 +981,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/RelationalTableDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "RelationalTableDatasetTypeProperties": { "description": "Relational table dataset properties.", @@ -1046,10 +1007,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/SalesforceObjectDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "SalesforceObjectDatasetTypeProperties": { "description": "Salesforce object dataset properties.", @@ -1179,10 +1137,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/SqlServerTableDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "SqlServerTableDatasetTypeProperties": { "description": "On-premises SQL Server dataset properties.", @@ -1321,10 +1276,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/HttpDatasetTypeProperties" } - }, - "required": [ - "typeProperties" - ] + } }, "HttpDatasetTypeProperties": { "description": "Properties specific to this dataset type.", @@ -1365,14 +1317,14 @@ } }, "AmazonMWSObjectDataset" : { - "x-ms-discriminator-value": "AmazonMWSObject", - "description": "Amazon Marketplace Web Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "AmazonMWSObject", + "description": "Amazon Marketplace Web Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1383,13 +1335,13 @@ }, "AzurePostgreSqlTableDataset" : { "x-ms-discriminator-value": "AzurePostgreSqlTable", - "description": "Azure PostgreSQL dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "description": "Azure PostgreSQL dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1399,14 +1351,14 @@ } }, "ConcurObjectDataset" : { - "x-ms-discriminator-value": "ConcurObject", - "description": "Concur Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "ConcurObject", + "description": "Concur Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1417,13 +1369,13 @@ }, "CouchbaseTableDataset" : { "x-ms-discriminator-value": "CouchbaseTable", - "description": "Couchbase server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "description": "Couchbase server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1434,13 +1386,13 @@ }, "DrillTableDataset" : { "x-ms-discriminator-value": "DrillTable", - "description": "Drill server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "description": "Drill server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1450,14 +1402,14 @@ } }, "EloquaObjectDataset" : { - "x-ms-discriminator-value": "EloquaObject", - "description": "Eloqua server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "EloquaObject", + "description": "Eloqua server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1467,14 +1419,14 @@ } }, "GoogleBigQueryObjectDataset" : { - "x-ms-discriminator-value": "GoogleBigQueryObject", - "description": "Google BigQuery service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "GoogleBigQueryObject", + "description": "Google BigQuery service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1485,13 +1437,13 @@ }, "GreenplumTableDataset" : { "x-ms-discriminator-value": "GreenplumTable", - "description": "Greenplum Database dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "description": "Greenplum Database dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1501,14 +1453,14 @@ } }, "HBaseObjectDataset" : { - "x-ms-discriminator-value": "HBaseObject", - "description": "HBase server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "HBaseObject", + "description": "HBase server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1518,14 +1470,14 @@ } }, "HiveObjectDataset" : { - "x-ms-discriminator-value": "HiveObject", - "description": "Hive Server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "HiveObject", + "description": "Hive Server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1535,14 +1487,14 @@ } }, "HubspotObjectDataset" : { - "x-ms-discriminator-value": "HubspotObject", - "description": "Hubspot Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "HubspotObject", + "description": "Hubspot Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1552,14 +1504,14 @@ } }, "ImpalaObjectDataset" : { - "x-ms-discriminator-value": "ImpalaObject", - "description": "Impala server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "ImpalaObject", + "description": "Impala server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1569,14 +1521,14 @@ } }, "JiraObjectDataset" : { - "x-ms-discriminator-value": "JiraObject", - "description": "Jira Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "JiraObject", + "description": "Jira Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1586,14 +1538,14 @@ } }, "MagentoObjectDataset" : { - "x-ms-discriminator-value": "MagentoObject", - "description": "Magento server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "MagentoObject", + "description": "Magento server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1604,13 +1556,13 @@ }, "MariaDBTableDataset" : { "x-ms-discriminator-value": "MariaDBTable", - "description": "MariaDB server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "description": "MariaDB server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1620,14 +1572,14 @@ } }, "MarketoObjectDataset" : { - "x-ms-discriminator-value": "MarketoObject", - "description": "Marketo server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "MarketoObject", + "description": "Marketo server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1637,14 +1589,14 @@ } }, "PaypalObjectDataset" : { - "x-ms-discriminator-value": "PaypalObject", - "description": "Paypal Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "PaypalObject", + "description": "Paypal Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1654,14 +1606,14 @@ } }, "PhoenixObjectDataset" : { - "x-ms-discriminator-value": "PhoenixObject", - "description": "Phoenix server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "PhoenixObject", + "description": "Phoenix server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1671,14 +1623,14 @@ } }, "PrestoObjectDataset" : { - "x-ms-discriminator-value": "PrestoObject", - "description": "Presto server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "PrestoObject", + "description": "Presto server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1688,14 +1640,14 @@ } }, "QuickBooksObjectDataset" : { - "x-ms-discriminator-value": "QuickBooksObject", - "description": "QuickBooks server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "QuickBooksObject", + "description": "QuickBooks server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1705,14 +1657,14 @@ } }, "ServiceNowObjectDataset" : { - "x-ms-discriminator-value": "ServiceNowObject", - "description": "ServiceNow server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "ServiceNowObject", + "description": "ServiceNow server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1722,14 +1674,14 @@ } }, "ShopifyObjectDataset" : { - "x-ms-discriminator-value": "ShopifyObject", - "description": "Shopify Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "ShopifyObject", + "description": "Shopify Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1739,14 +1691,14 @@ } }, "SparkObjectDataset" : { - "x-ms-discriminator-value": "SparkObject", - "description": "Spark Server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "SparkObject", + "description": "Spark Server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1756,14 +1708,14 @@ } }, "SquareObjectDataset" : { - "x-ms-discriminator-value": "SquareObject", - "description": "Square Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "SquareObject", + "description": "Square Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1773,14 +1725,14 @@ } }, "XeroObjectDataset" : { - "x-ms-discriminator-value": "XeroObject", - "description": "Xero Service dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "XeroObject", + "description": "Xero Service dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1790,14 +1742,14 @@ } }, "ZohoObjectDataset" : { - "x-ms-discriminator-value": "ZohoObject", - "description": "Zoho server dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "x-ms-discriminator-value": "ZohoObject", + "description": "Zoho server dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1808,13 +1760,13 @@ }, "NetezzaTableDataset" : { "x-ms-discriminator-value": "NetezzaTable", - "description": "Netezza dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "description": "Netezza dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", @@ -1825,13 +1777,13 @@ }, "VerticaTableDataset" : { "x-ms-discriminator-value": "VerticaTable", - "description": "Vertica dataset.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Dataset" - } - ], + "description": "Vertica dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], "properties": { "typeProperties": { "description": "Properties specific to this dataset type.", diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json index d3eb676181c1..cadcaa5fe705 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json @@ -1856,6 +1856,97 @@ "nextLinkName": "nextLink" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default": { + "put": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "description": "Create or update NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NamespaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace IpFilterRule." + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "EventHub error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json" + } + }, + "operationId": "Namespaces_GetNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NamespaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "EventHub error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } } }, "definitions": { @@ -2612,6 +2703,96 @@ } ], "description": "Messaging Plan for the namespace" + }, + "Subnet": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "required": [ + "id" + ], + "description": "Properties supplied for Subnet" + }, + "NWRuleSetIpRules": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + }, + "default": "Allow" + } + }, + "description": "Description of NetWorkRuleSet - IpRules resource." + }, + "NWRuleSetVirtualNetworkRules": { + "x-ms-client-flatten": true, + "properties": { + "subnet": { + "$ref": "#/definitions/Subnet", + "description": "Subnet properties" + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Value that indicates whether to ignore missing VNet Service Endpoint" + } + }, + "description": "Description of VirtualNetworkRules - NetworkRules resource." + }, + "NetworkRuleSet": { + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" + }, + "description": "List VirtualNetwork Rules" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetIpRules" + }, + "description": "List of IpRules" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Description of NetworkRuleSet resource." } }, "parameters": { diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json new file mode 100644 index 000000000000..509bc7792ac5 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2017-04-01", + "subscriptionId": "Subscription", + "parameters": { + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkrulesets/default", + "name": "default", + "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json new file mode 100644 index 000000000000..17afbaf88b5f --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2017-04-01", + "subscriptionId": "Subscription" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkrulesets/default", + "name": "default", + "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/README.md b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/README.md new file mode 100644 index 000000000000..ec2a85eedc8e --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/README.md @@ -0,0 +1,20 @@ +# Public Preview API specification for FrontDoor Azure Resource + +This directory contains preview schema specifications for the new Front Door Azure Resource. The API will be added to support Front Door on Azure Resource Manager. + +The base swagger document for new features in this preview: [FrontDoor.json](./FrontDoor.json) + +## Overview +The Front Door ARM API supports CRUD functionality on four objects in the resource schema: +`FrontDoor`, a collection of child objects `BackendPool`, a collection of child objects `FrontendEndpoints` and the primary child object `RoutingRule`, which each reference one `BackendPool` and `FrontendEndpoints` . Each routing rule encapsulates +all of the settings needed to configure the AzureFD backend infrastructure to set up a +reverse-proxy route to accelerate traffic, detect backend availability, +and balance between healthy members of the pool. + +## Generated object-model UML diagram +This diagram is generated from the swagger spec by "[`oav`](https://github.com/Azure/oav) `generate-uml`" +![Generated UML snapshot](./assets/frontdoor.svg) + +## Swagger and JSON specification reference and tools + * [OpenAPI specification v2.0 (aka Swagger 2.0)](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md) + * [Swagger.io online editor](https://editor.swagger.io/) diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/assets/frontdoor.svg b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/assets/frontdoor.svg new file mode 100644 index 000000000000..2806bba823df --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/assets/frontdoor.svg @@ -0,0 +1,668 @@ + + + + + + +G + + + +A0 + +Frontdoor + +-properties:FrontdoorProperties + + + +A2 + +FrontdoorProperties + +-resourceState:ResourceState +-provisioningState:string +-cname:string + + + +A0->A2 + + + + + +A1 + +FrontdoorUpdateParameters + +-friendlyName:string +-routingRules:Array<RoutingRule> +-loadBalancingSettings:Array<LoadBalancingSettingsModel> +-healthProbeSettings:Array<HealthProbeSettingsModel> +-backendPools:Array<BackendPool> +-frontendEndpoints:Array<FrontendEndpoint> +-enabledState:string + + + +A1->A2 + + +allOf + + + +A5 + +RoutingRule + +-properties:RoutingRuleProperties +-name:string +-type:string + + + +A1->A5 + + + + + +A10 + +LoadBalancingSettingsModel + +-properties:LoadBalancingSettingsProperties +-name:string +-type:string + + + +A1->A10 + + + + + +A14 + +HealthProbeSettingsModel + +-properties:HealthProbeSettingsProperties +-name:string +-type:string + + + +A1->A14 + + + + + +A18 + +BackendPool + +-properties:BackendPoolProperties +-name:string +-type:string + + + +A1->A18 + + + + + +A26 + +FrontendEndpoint + +-properties:FrontendEndpointProperties +-name:string +-type:string + + + +A1->A26 + + + + + +A30 + +ResourceState + + + +A2->A30 + + + + + +A3 + +FrontdoorListResult + +-value:Array<Frontdoor> +-nextLink:string + + + +A3->A0 + + + + + +A4 + +PurgeParameters + +-contentPaths:Array<string> + + + +A6 + +RoutingRuleProperties + +-resourceState:ResourceState + + + +A5->A6 + + + + + +A6->A30 + + + + + +A7 + +RoutingRuleListResult + +-value:Array<RoutingRule> +-nextLink:string + + + +A7->A5 + + + + + +A8 + +RoutingRuleUpdateParameters + +-frontendEndpoints:Array<SubResource> +-acceptedProtocols:Array<string> +-patternsToMatch:Array<string> +-customForwardingPath:string +-forwardingProtocol:string +-cacheConfiguration:CacheConfiguration +-backendPool:SubResource +-enabledState:string + + + +A8->A6 + + +allOf + + + +A22 + +CacheConfiguration + +-queryParameterStripDirective:string +-dynamicCompression:string + + + +A8->A22 + + + + + +A38 + +SubResource + +-id:string + + + +A8->A38 + + + + + +A8->A38 + + + + + +A9 + +Backend + +-address:string +-httpPort: +-httpsPort: +-enabledState:string +-priority: +-weight: +-backendHostHeader:string + + + +A11 + +LoadBalancingSettingsProperties + +-resourceState:ResourceState + + + +A10->A11 + + + + + +A11->A30 + + + + + +A12 + +LoadBalancingSettingsListResult + +-value:Array<LoadBalancingSettingsModel> +-nextLink:string + + + +A12->A10 + + + + + +A13 + +LoadBalancingSettingsUpdateParameters + +-sampleSize: +-successfulSamplesRequired: +-additionalLatencyMilliseconds: + + + +A13->A11 + + +allOf + + + +A15 + +HealthProbeSettingsProperties + +-resourceState:ResourceState + + + +A14->A15 + + + + + +A15->A30 + + + + + +A16 + +HealthProbeSettingsListResult + +-value:Array<HealthProbeSettingsModel> +-nextLink:string + + + +A16->A14 + + + + + +A17 + +HealthProbeSettingsUpdateParameters + +-path:string +-protocol:string +-intervalInSeconds: + + + +A17->A15 + + +allOf + + + +A20 + +BackendPoolProperties + +-resourceState:ResourceState + + + +A18->A20 + + + + + +A19 + +BackendPoolUpdateParameters + +-backends:Array<Backend> +-loadBalancingSettings:SubResource +-healthProbeSettings:SubResource + + + +A19->A9 + + + + + +A19->A20 + + +allOf + + + +A19->A38 + + + + + +A19->A38 + + + + + +A20->A30 + + + + + +A21 + +BackendPoolListResult + +-value:Array<BackendPool> +-nextLink:string + + + +A21->A18 + + + + + +A23 + +KeyVaultCertificateSourceParameters + +-vault:Object +-secretName:string +-secretVersion:string + + + +A24 + +FrontdoorCertificateSourceParameters + +-certificateType:string + + + +A25 + +CustomHttpsConfiguration + +-certificateSource:string +-protocolType:string +-keyVaultCertificateSourceParameters:KeyVaultCertificateSourceParameters +-frontdoorCertificateSourceParameters:FrontdoorCertificateSourceParameters + + + +A25->A23 + + + + + +A25->A24 + + + + + +A27 + +FrontendEndpointProperties + +-resourceState:ResourceState +-customHttpsProvisioningState:string +-customHttpsProvisioningSubstate:string +-customHttpsConfiguration:CustomHttpsConfiguration + + + +A26->A27 + + + + + +A27->A25 + + + + + +A27->A30 + + + + + +A28 + +FrontendEndpointUpdateParameters + +-hostName:string +-sessionAffinityEnabledState:string +-sessionAffinityTtlSeconds: +-webApplicationFirewallPolicyLink:Object + + + +A28->A27 + + +allOf + + + +A29 + +FrontendEndpointsListResult + +-value:Array<FrontendEndpoint> +-nextLink:string + + + +A29->A26 + + + + + +A31 + +ValidateCustomDomainInput + +-hostName:string + + + +A32 + +ValidateCustomDomainOutput + +-customDomainValidated:boolean +-reason:string +-message:string + + + +A33 + +ErrorResponse + +-code:string +-message:string + + + +A34 + +CheckNameAvailabilityInput + +-name:string +-type:ResourceType + + + +A36 + +ResourceType + + + +A34->A36 + + + + + +A35 + +CheckNameAvailabilityOutput + +-nameAvailability:string +-reason:string +-message:string + + + +A37 + +Resource + +-id:string +-name:string +-type:string +-location:string +-tags:Dictionary<string> + + + +A37->A0 + + +allOf + + + +A38->A5 + + +allOf + + + +A38->A10 + + +allOf + + + +A38->A14 + + +allOf + + + +A38->A18 + + +allOf + + + +A38->A26 + + +allOf + + + diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafListManagedRuleSets.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafListManagedRuleSets.json new file mode 100644 index 000000000000..3bb9163ba338 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafListManagedRuleSets.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2019-03-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "DefaultRuleSet_1.0", + "id": "/subscriptions/subid/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets", + "type": "Microsoft.Network/frontdoorwebapplicationfirewallmanagedrulesets", + "properties": { + "provisioningState": "Succeeded", + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroups": [ + { + "ruleGroupName": "Group1", + "description": "Description for rule group 1.", + "rules": [ + { + "ruleId": "GROUP1-0001", + "description": "Generic managed web application firewall rule." + }, + { + "ruleId": "GROUP1-0002", + "description": "Generic managed web application firewall rule." + } + ] + }, + { + "ruleGroupName": "Group2", + "description": "Description for rule group 2.", + "rules": [ + { + "ruleId": "GROUP2-0001", + "description": "Generic managed web application firewall rule." + } + ] + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafListPolicies.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafListPolicies.json new file mode 100644 index 000000000000..38069740de9b --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafListPolicies.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2019-03-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "redirectUrl": "http://www.bing.com", + "customBlockResponseStatusCode": 499, + "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "customRules": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "enabledState": "Enabled", + "ruleType": "RateLimitRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "enabledState": "Enabled", + "ruleType": "MatchRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 0, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "matchValue": [ + "windows" + ], + "transforms": [ + "Lowercase" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "frontendEndpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyCreateOrUpdate.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..6098c68b058f --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,407 @@ +{ + "parameters": { + "api-version": "2019-03-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1", + "parameters": { + "properties": { + "policySettings": { + "redirectUrl": "http://www.bing.com", + "customBlockResponseStatusCode": 499, + "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "customRules": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "RateLimitRule", + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "operator": "IPMatch", + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "operator": "GeoMatch", + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "operator": "Contains", + "selector": "UserAgent", + "matchValue": [ + "windows" + ], + "transforms": [ + "Lowercase" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002" + } + ] + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "redirectUrl": "http://www.bing.com", + "customBlockResponseStatusCode": 499, + "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "customRules": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "enabledState": "Enabled", + "ruleType": "RateLimitRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "enabledState": "Enabled", + "ruleType": "MatchRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 0, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "matchValue": [ + "windows" + ], + "transforms": [ + "Lowercase" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "frontendEndpointLinks": [] + } + } + }, + "201": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "redirectUrl": "http://www.bing.com", + "customBlockResponseStatusCode": 499, + "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "customRules": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "enabledState": "Enabled", + "ruleType": "RateLimitRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "enabledState": "Enabled", + "ruleType": "MatchRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 0, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "matchValue": [ + "windows" + ], + "transforms": [ + "Lowercase" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "frontendEndpointLinks": [] + } + } + }, + "202": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "redirectUrl": "http://www.bing.com", + "customBlockResponseStatusCode": 499, + "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "customRules": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "enabledState": "Enabled", + "ruleType": "RateLimitRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "enabledState": "Enabled", + "ruleType": "MatchRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 0, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "matchValue": [ + "windows" + ], + "transforms": [ + "Lowercase" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "frontendEndpointLinks": [] + } + } + } + } +} \ No newline at end of file diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyDelete.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..b368ca069348 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-03-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyGet.json new file mode 100644 index 000000000000..9f6dfb331127 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/examples/WafPolicyGet.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "api-version": "2019-03-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "redirectUrl": "http://www.bing.com", + "customBlockResponseStatusCode": 499, + "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "customRules": { + "rules": [ + { + "name": "Rule1", + "priority": 1, + "enabledState": "Enabled", + "ruleType": "RateLimitRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "enabledState": "Enabled", + "ruleType": "MatchRule", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 0, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "matchValue": [ + "windows" + ], + "transforms": [ + "Lowercase" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "frontendEndpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net" + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/network.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/network.json new file mode 100644 index 000000000000..5a1f99c4b769 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/network.json @@ -0,0 +1,168 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2018-02-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + }, + "definitions": { + "ErrorDetails": { + "properties": { + "code": { + "type": "string" + }, + "target": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "Error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "target": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "innerError": { + "type": "string" + } + } + }, + "AzureAsyncOperationResult": { + "properties": { + "status": { + "type": "string", + "description": "Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and 'Failed'.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "NetworkOperationStatus", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error" + } + }, + "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure." + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Common resource representation.", + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json new file mode 100644 index 000000000000..1bdf9739cd02 --- /dev/null +++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json @@ -0,0 +1,795 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-03-01", + "title": "WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Lists all of the protection policies within a resource group.", + "operationId": "Policies_List", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Policies in a Resource Group": { + "$ref": "./examples/WafListPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Retrieve protection policy with specified name within a resource group.", + "operationId": "Policies_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Policy": { + "$ref": "./examples/WafPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Create or update policy with specified ruleset name within a resource group.", + "operationId": "Policies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "description": "Policy to be created.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new protection policy has been created.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates specific policy": { + "$ref": "./examples/WafPolicyCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Deletes Policy", + "operationId": "Policies_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + }, + "204": { + "description": "No Content. The request has been accepted but the policy was not found." + } + }, + "x-ms-examples": { + "Delete protection policy": { + "$ref": "./examples/WafPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets": { + "get": { + "tags": [ + "WebApplicationFirewallManagedRuleSets" + ], + "description": "Lists all available managed rule sets.", + "operationId": "ManagedRuleSets_List", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available web application firewall managed rule sets.", + "schema": { + "$ref": "#/definitions/ManagedRuleSetDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Policies in a Resource Group": { + "$ref": "./examples/WafListManagedRuleSets.json" + } + } + } + } + }, + "definitions": { + "WebApplicationFirewallPolicy": { + "description": "Defines web application firewall policy.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of the web application firewall policy.", + "$ref": "#/definitions/WebApplicationFirewallPolicyProperties" + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "WebApplicationFirewallPolicyProperties": { + "description": "Defines web application firewall policy properties.", + "properties": { + "policySettings": { + "description": "Describes settings for the policy.", + "$ref": "#/definitions/PolicySettings" + }, + "customRules": { + "description": "Describes custom rules inside the policy.", + "$ref": "#/definitions/CustomRuleList" + }, + "managedRules": { + "description": "Describes managed rules inside the policy.", + "$ref": "#/definitions/ManagedRuleSetList" + }, + "frontendEndpointLinks": { + "description": "Describes Frontend Endpoints associated with this Web Application Firewall policy.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/FrontendEndpointLink" + } + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the policy." + }, + "resourceState": { + "title": "Resource status of the policy.", + "readOnly": true, + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyResourceState", + "modelAsString": true + } + } + } + }, + "WebApplicationFirewallPolicyList": { + "description": "Defines a list of WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + }, + "description": "List of WebApplicationFirewallPolicies within a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." + } + } + }, + "PolicySettings": { + "description": "Defines top-level WebApplicationFirewallPolicy configuration settings.", + "properties": { + "enabledState": { + "description": "Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "PolicyEnabledState", + "modelAsString": true + } + }, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "type": "string", + "enum": [ + "Prevention", + "Detection" + ], + "x-ms-enum": { + "name": "PolicyMode", + "modelAsString": true + } + }, + "redirectUrl": { + "description": "If action type is redirect, this field represents redirect URL for the client.", + "type": "string" + }, + "customBlockResponseStatusCode": { + "description": "If the action type is block, customer can override the response status code.", + "type": "integer" + }, + "customBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + } + } + }, + "CustomRuleList": { + "description": "Defines contents of custom rules", + "properties": { + "rules": { + "description": "List of rules", + "type": "array", + "items": { + "$ref": "#/definitions/CustomRule" + } + } + } + }, + "CustomRule": { + "description": "Defines contents of a web application rule", + "required": [ + "priority", + "ruleType", + "matchConditions", + "action" + ], + "properties": { + "name": { + "type": "string", + "description": "Describes the name of the rule.", + "maxLength": 128 + }, + "priority": { + "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", + "type": "integer" + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "CustomRuleEnabledState", + "modelAsString": true + } + }, + "ruleType": { + "description": "Describes type of rule.", + "type": "string", + "enum": [ + "MatchRule", + "RateLimitRule" + ], + "x-ms-enum": { + "name": "RuleType", + "modelAsString": true + } + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "type": "integer" + }, + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", + "type": "integer" + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + "action": { + "description": "Describes what action to be applied when rule matches.", + "$ref": "#/definitions/ActionType" + } + } + }, + "TransformType": { + "description": "Describes what transforms applied before matching.", + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "x-ms-enum": { + "name": "TransformType", + "modelAsString": true + } + }, + "MatchCondition": { + "description": "Define a match condition.", + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "properties": { + "matchVariable": { + "description": "Match variable to compare against.", + "type": "string", + "enum": [ + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "Cookies" + ], + "x-ms-enum": { + "name": "MatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "Selector can used to match against a specific key from QueryString, PostArgs, RequestHeader or Cookies.", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "x-ms-enum": { + "name": "Operator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "type": "boolean" + }, + "matchValue": { + "description": "List of possible match values.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/TransformType" + } + } + } + }, + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", + "properties": { + "managedRuleSets": { + "description": "List of rule sets.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + } + } + } + }, + "ManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "ruleGroupOverrides": { + "description": "Defines the rule group overrides to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + } + } + } + }, + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "Describes the managed rule group to override.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + } + } + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + }, + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ManagedRuleEnabledState", + "modelAsString": true + } + }, + "action": { + "description": "Describes the override action to be applied when rule matches.", + "$ref": "#/definitions/ActionType" + } + } + }, + "ManagedRuleSetDefinitionList": { + "description": "List of managed rule set definitions available for use in a policy.", + "properties": { + "value": { + "description": "List of managed rule set definitions.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSetDefinition" + } + }, + "nextLink": { + "type": "string", + "description": "URL to retrieve next set of managed rule set definitions." + } + } + }, + "ManagedRuleSetDefinition": { + "description": "Describes the a managed rule set definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedRuleSetDefinitionProperties" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "ManagedRuleSetDefinitionProperties": { + "description": "Properties for a managed rule set definition.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Provisioning state of the managed rule set." + }, + "ruleSetType": { + "type": "string", + "readOnly": true, + "description": "Type of the managed rule set." + }, + "ruleSetVersion": { + "type": "string", + "readOnly": true, + "description": "Version of the managed rule set type." + }, + "ruleGroups": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ManagedRuleGroupDefinition" + }, + "description": "Rule groups of the managed rule set." + } + } + }, + "ManagedRuleGroupDefinition": { + "description": "Describes a managed rule group.", + "properties": { + "ruleGroupName": { + "type": "string", + "readOnly": true, + "description": "Name of the managed rule group." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the managed rule group." + }, + "rules": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ManagedRuleDefinition" + }, + "description": "List of rules within the managed rule group." + } + } + }, + "ManagedRuleDefinition": { + "description": "Describes a managed rule definition.", + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Describes the functionality of the managed rule.", + "readOnly": true, + "type": "string" + } + } + }, + "ActionType": { + "description": "Defines the action to take on rule match.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + }, + "ErrorResponse": { + "description": "Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "readOnly": true, + "type": "string" + } + } + }, + "FrontendEndpointLink": { + "description": "Defines the Resource ID for a Frontend Endpoint.", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + } + } + }, + "parameters": { + "PolicyNameParameter": { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "x-ms-parameter-location": "method", + "description": "The name of the Web Application Firewall Policy." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + } + } +} \ No newline at end of file diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md index 1df43c336033..c744aaf42a4d 100644 --- a/specification/frontdoor/resource-manager/readme.md +++ b/specification/frontdoor/resource-manager/readme.md @@ -28,7 +28,23 @@ These are the global settings for the FrontDoor API. title: FrontDoorManagementClient description: FrontDoor Client openapi-type: arm -tag: package-2018-08-preview +tag: package-2019-03-preview +``` + +### Tag: package-2019-03-preview + +These settings apply only when `--tag=package-2019-03-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-03-preview' +input-file: +- Microsoft.Network/preview/2018-08-01-preview/frontdoor.json +- Microsoft.Network/preview/2018-08-01-preview/network.json +- Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json +directive: + - where: + - $.paths + suppress: + - OperationsAPIImplementation ``` ### Tag: package-2018-08-preview diff --git a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json index e9e5fc87c118..f5b7c2bdc11c 100644 --- a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json +++ b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json @@ -1284,6 +1284,44 @@ "x-ms-odata": "#/definitions/ServicePrincipal" } }, + "/{tenantID}/servicePrincipalsByAppId/{applicationID}/objectId": { + "get": { + "tags": [ + "ServicePrincipalsByAppId" + ], + "operationId": "Applications_GetServicePrincipalsIdByAppId", + "description": "Gets an object id for a given application id from the current tenant.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/tenantIDInPath" + }, + { + "name": "applicationID", + "in": "path", + "required": true, + "type": "string", + "description": "The application ID." + } + ], + "responses": { + "200": { + "description": "OK. The operation was successful.", + "schema": { + "$ref": "#/definitions/ServicePrincipalObjectResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/GraphError" + } + } + } + } + }, "/{tenantID}/servicePrincipals/{objectId}": { "patch": { "tags": [ @@ -2852,7 +2890,7 @@ }, "informationalUrls": { "$ref": "#/definitions/InformationalUrl", - "description": "urls with more informations of the application." + "description": "URLs with more information about the application." }, "isDeviceOnlyAuthSupported": { "description": "Specifies whether this application supports device authentication without a user. The default is false.", @@ -2963,8 +3001,7 @@ } ], "required": [ - "displayName", - "identifierUris" + "displayName" ], "properties": { "displayName": { @@ -3070,7 +3107,7 @@ }, "informationalUrls": { "$ref": "#/definitions/InformationalUrl", - "description": "urls with more informations of the application." + "description": "URLs with more information about the application." }, "isDeviceOnlyAuthSupported": { "description": "Specifies whether this application supports device authentication without a user. The default is false.", @@ -3191,6 +3228,20 @@ }, "description": "Application list operation result." }, + "ServicePrincipalObjectResult": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The Object ID of the service principal with the specified application ID." + }, + "odata.metadata": { + "type": "string", + "description": "The URL representing edm equivalent." + } + }, + "description": "Service Principal Object Result." + }, "AppRole": { "type": "object", "properties": { diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/CheckNameAvailabilityPost.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/CheckNameAvailabilityPost.json new file mode 100644 index 000000000000..849199f62f16 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/CheckNameAvailabilityPost.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2018-08-20-preview", + "subscriptionId": "subid", + "checkNameAvailabilityInputs": { + "type": "Microsoft.HealthcareApis/services", + "name": "serviceName" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Service name is not available." + } + } + } +} \ No newline at end of file diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/MoveResourcesPost.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/MoveResourcesPost.json new file mode 100644 index 000000000000..d666b3160f67 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/MoveResourcesPost.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2018-08-20-preview", + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "moveResourcesInputs": { + "targetSubscriptionId": "newSubscriptionId", + "targetResourceGroupName": "newResourceGroup", + "resourceIdsToMove": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1" + ] + } + }, + "responses": { + "202": { } + } +} \ No newline at end of file diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/OperationResultsGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/OperationResultsGet.json new file mode 100644 index 000000000000..60a271f13aac --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/OperationResultsGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2018-08-20-preview", + "subscriptionId": "subid", + "locationName": "westus", + "operationResultId": "exampleid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HealthcareApis/locations/westus/operationresults/exampleid", + "name": "servicename", + "status": "Requested", + "startTime": "2019-01-21T06:03:30.2716301Z", + "properties": { + } + } + }, + "404": { + "body": { + "error": { + "code": "OperationResultNotFound", + "message": "The operation result was not found." + } + } + } + } +} \ No newline at end of file diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/OperationsList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/OperationsList.json new file mode 100644 index 000000000000..194badfcaae5 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/OperationsList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2018-08-20-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HealthcareApis/services/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/locations/operationresults/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operationresults", + "operation": "read", + "description": "Get the status of an asynchronous operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/checkNameAvailability/post", + "display": {}, + "origin": "user" + }, + { + "name": "Microsoft.HealthcareApis/Operations/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operations", + "operation": "read", + "description": "Get the list of operations supported by this Resource Provider." + }, + "origin": "user,system" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceCreate.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceCreate.json new file mode 100644 index 000000000000..f64fb2404040 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2018-08-20-preview", + "subscriptionId": "subid", + "serviceDescription": { + "location": "westus", + "tags": {}, + "kind": "fhir", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceDelete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceDelete.json new file mode 100644 index 000000000000..186c22363ac7 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2018-08-20-preview", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceGet.json new file mode 100644 index 000000000000..cd19a503e675 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2018-08-20-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceList.json new file mode 100644 index 000000000000..1bb954eb9eaa --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2018-08-20-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir", + "etag": "etag", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + } + } + } + ], + "nextLink": "https://host/subscriptions/subid/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceListByResourceGroup.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceListByResourceGroup.json new file mode 100644 index 000000000000..d814b8550a41 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServiceListByResourceGroup.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2018-08-20-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgname" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/dddb8dcb-effb-4290-bb47-ce1e8440c729", + "name": "service1", + "location": "westus", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir", + "tags": {}, + "etag": "etagvalue", + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + } + } + } + ], + "nextLink": "https://host/subscriptions/subid/resourceGroups/rgname/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServicePatch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServicePatch.json new file mode 100644 index 000000000000..ffd7c2d7b0bb --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/examples/ServicePatch.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2018-08-20-preview", + "subscriptionId": "subid", + "servicePatchDescription": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir", + "etag": "etagvalue", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json new file mode 100644 index 000000000000..2a7c058417b6 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json @@ -0,0 +1,982 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-08-20-preview", + "title": "HealthcareClient", + "description": "Use this API to manage Microsoft Healthcare services in your Azure subscription." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the metadata of a service instance.", + "operationId": "Services_Get", + "x-ms-examples": { + "ServiceGet": { + "$ref": "./examples/ServiceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the service instance.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Resource" + ], + "description": "Create or update the metadata of a service instance.", + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "ServicePut": { + "$ref": "./examples/ServiceCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "serviceDescription", + "in": "body", + "description": "The service instance metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is being updated; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "201": { + "description": "Created - Put request accepted and a new resource was created; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "Resource" + ], + "description": "Update the metadata of a service instance.", + "operationId": "Services_Update", + "x-ms-examples": { + "ServicePatch": { + "$ref": "./examples/ServicePatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "servicePatchDescription", + "in": "body", + "description": "The service instance metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesPatchDescription" + } + } + ], + "responses": { + "200": { + "description": "The tags for the resource were updated successfully.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Resource" + ], + "description": "Delete a service instance.", + "operationId": "Services_Delete", + "x-ms-examples": { + "ServiceDelete": { + "$ref": "./examples/ServiceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "202": { + "description": "Accepted - Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a subscription.", + "operationId": "Services_List", + "x-ms-examples": { + "ServiceList": { + "$ref": "./examples/ServiceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the subscription.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a resource group.", + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "ServiceListByResourceGroup": { + "$ref": "./examples/ServiceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the resource group.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/providers/Microsoft.HealthcareApis/operations": { + "get": { + "tags": [ + "Proxy" + ], + "description": "Lists all of the available Healthcare service REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability": { + "post": { + "tags": [ + "Proxy" + ], + "description": "Check if a service instance name is available.", + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "ServiceList": { + "$ref": "./examples/CheckNameAvailabilityPost.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "checkNameAvailabilityInputs", + "in": "body", + "description": "Set the name parameter in the CheckNameAvailabilityParameters structure to the name of the service instance to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/ServicesNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/moveResources": { + "post": { + "tags": [ + "Proxy" + ], + "description": "Moves resources to another subscription and/or resource group.", + "operationId": "Services_MoveResources", + "x-ms-examples": { + "ServiceList": { + "$ref": "./examples/MoveResourcesPost.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "moveResourcesInputs", + "in": "body", + "description": "Set the move resource structure to the name of the service instance to check.", + "required": true, + "schema": { + "$ref": "#/definitions/MoveResourcesParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted - Move request accepted; the operation will complete asynchronously." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the operation result for a long running operation.", + "operationId": "OperationResults_Get", + "x-ms-examples": { + "OperationResultsGet": { + "$ref": "./examples/OperationResultsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationName" + }, + { + "$ref": "#/parameters/operationResultId" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the operation result.", + "schema": { + "$ref": "#/definitions/OperationResultsDescription" + } + }, + "404": { + "description": "No operation result was found matching operationResultId.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/moveResourcesStatus/{operationResultId}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the operation result for a long running move operation.", + "operationId": "MoveResourcesStatus_Get", + "x-ms-examples": { + "OperationResultsGet": { + "$ref": "./examples/OperationResultsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationName" + }, + { + "$ref": "#/parameters/operationResultId" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the operation result.", + "schema": { + "$ref": "#/definitions/OperationResultsDescription" + } + }, + "404": { + "description": "No operation result was found matching operationResultId.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "ServicesProperties": { + "description": "The properties of a service instance.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "enum": [ + "Deleting", + "Succeeded", + "Creating", + "Accepted", + "Verifying", + "Updating", + "Failed", + "Canceled", + "Deprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "accessPolicies": { + "$ref": "#/definitions/ServiceAccessPoliciesInfo", + "description": "The access policies of the service instance." + }, + "cosmosDbConfiguration": { + "$ref": "#/definitions/ServiceCosmosDbConfigurationInfo", + "description": "The settings for the Cosmos DB database backing the service." + } + }, + "required": [ + "accessPolicies" + ] + }, + "ServiceAccessPoliciesInfo": { + "description": "The access policies of the service instance.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/ServiceAccessPolicyEntry" + } + }, + "ServiceAccessPolicyEntry": { + "description": "An access policy entry.", + "properties": { + "objectId": { + "description": "An object ID that is allowed access to the FHIR service.", + "type": "string", + "pattern": "^(([0-9A-Fa-f]{8}[-]?(?:[0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}){1})+$" + } + }, + "required": [ + "objectId" + ] + }, + "ServiceCosmosDbConfigurationInfo": { + "description": "The settings for the Cosmos DB database backing the service.", + "type": "object", + "properties": { + "offerThroughput": { + "type": "integer", + "description": "The provisioned throughput for the backing database.", + "readOnly": false + } + } + }, + "ServicesDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "description": "The common properties of a service.", + "$ref": "#/definitions/ServicesProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ServicesPatchDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "tags": { + "description": "Instance tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Resource": { + "description": "The common properties of a service.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^[a-z0-9][a-z0-9-]{1,21}[a-z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "kind": { + "readOnly": false, + "type": "string", + "description": "The kind of the service. Valid values are: fhir.", + "enum": [ + "fhir" + ], + "x-ms-enum":{ + "name": "kind", + "modelAsString": false + } + }, + "location": { + "type": "string", + "description": "The resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "etag": { + "description": "An etag associated with the resource, used for optimistic concurrency when editing it.", + "type": "string" + } + }, + "x-ms-azure-resource": true, + "required": [ + "location", + "kind" + ] + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "error": { + "description": "Object containing error details.", + "$ref": "#/definitions/ErrorDetailsInternal" + } + } + }, + "ErrorDetailsInternal": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + }, + "ServicesDescriptionListResult": { + "description": "A list of service description objects with a next link.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of service description objects.", + "type": "string" + }, + "value": { + "description": "A list of service description objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ServicesDescription" + } + } + } + }, + "OperationListResult": { + "description": "A list of service operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of service description objects.", + "type": "string" + }, + "value": { + "description": "A list of service operations supported by the Microsoft.HealthcareApis resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + } + } + }, + "Operation": { + "description": "Service REST API operation.", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "origin": { + "readOnly": true, + "type": "string", + "description": "Default value is 'user,system'." + }, + "display": { + "description": "The information displayed about the operation.", + "$ref": "#/definitions/OperationDisplay" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.HealthcareApis" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: Services" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Friendly description for the operation," + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the service instance to check.", + "type": "string" + }, + "type": { + "description": "The fully qualified resource type which includes provider namespace.", + "type": "string" + } + }, + "required": [ + "name", + "type" + ] + }, + "ServicesNameAvailabilityInfo": { + "description": "The properties indicating whether a given service name is available.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value which indicates whether the provided name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason for unavailability.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ServiceNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "MoveResourcesParameters": { + "description": "Input values.", + "type": "object", + "properties": { + "targetSubscriptionId": { + "description": "The target subscription to move resources to.", + "type": "string" + }, + "targetResourceGroupName": { + "description": "The target resource group to move resources to.", + "type": "string" + }, + "resourceIdsToMove": { + "description": "The list of resources to move.", + "type": "array", + "minItems": 1, + "maxItems": 250, + "items": { + "type": "string" + } + } + }, + "required": [ + "targetSubscriptionId", + "targetResourceGroupName", + "resourceIdsToMove" + ] + }, + "OperationResultsDescription": { + "description": "The properties indicating the operation result of an operation on a service.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the operation returned.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the operation result.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The status of the operation being performed.", + "enum": [ + "Canceled", + "Succeeded", + "Failed", + "Requested", + "Running" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "OperationResultStatus", + "modelAsString": true + } + }, + "startTime": { + "description": "The time that the operation was started.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": false, + "description": "Additional properties of the operation result." + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + "api-version": { + "name": "api-version", + "enum": [ + "2018-08-20-preview" + ], + "in": "query", + "description": "The version of the API.", + "required": true, + "type": "string", + "minLength": 10 + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "locationName": { + "name": "locationName", + "in": "path", + "description": "The location of the operation.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationResultId": { + "name": "operationResultId", + "in": "path", + "description": "The ID of the operation result to get.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.go.md b/specification/healthcareapis/resource-manager/readme.go.md similarity index 51% rename from specification/cognitiveservices/data-plane/AnomalyFinder/readme.go.md rename to specification/healthcareapis/resource-manager/readme.go.md index 1c6667023fd1..9f499c737b1f 100644 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.go.md +++ b/specification/healthcareapis/resource-manager/readme.go.md @@ -3,9 +3,8 @@ These settings apply only when `--go` is specified on the command line. ``` yaml $(go) -go: license-header: MICROSOFT_APACHE_NO_VERSION - namespace: anomalyfinder + namespace: healthcareapis clear-output-folder: true ``` @@ -13,14 +12,14 @@ go: ``` yaml $(go) && $(multiapi) batch: - - tag: release_2_0 + - tag: package-2018-08 ``` -### Tag: release_2_0 and go +### Tag: package-2018-08 -These settings apply only when `--tag=release_2_0 --go` is specified on the command line. +These settings apply only when `--tag=package-2018-08 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. -``` yaml $(tag) == 'release_2_0' && $(go) -output-folder: $(go-sdk-folder)/services/cognitiveservices/v2.0/$(namespace) +``` yaml $(tag) == 'package-2018-08' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-08-20-preview/$(namespace) ``` \ No newline at end of file diff --git a/specification/healthcareapis/resource-manager/readme.md b/specification/healthcareapis/resource-manager/readme.md new file mode 100644 index 000000000000..5827f8943630 --- /dev/null +++ b/specification/healthcareapis/resource-manager/readme.md @@ -0,0 +1,128 @@ +# HealthcareApis + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for HealthcareApis. + + + +--- +## Getting Started +To build the SDK for HealthcareApis, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the HANA on Azure API. + +``` yaml +title: HealthcareApisManagementClient +description: Azure Healthcare APIs Client +openapi-type: arm +tag: package-2018-08 +azure-arm: true +``` + + +### Tag: package-2018-08-preview + +These settings apply only when `--tag=package-2018-08` is specified on the command line. + +``` yaml $(tag) == 'package-2018-08' +input-file: +- Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json +``` + +# Code Generation + + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node +``` + +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.healthcareapis + package-name: azure-mgmt-healthcareapis + clear-output-folder: true + package-version: 0.1.0 +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt-healthcareapis/azure/mgmt/healthcareapis +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-mgmt-healthcareapis +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +azure-arm: true +fluent: true +namespace: com.microsoft.azure.management.healthcareapis +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-healthcareapis +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2018-08 +``` + +### Tag: package-2018-08 and java + +These settings apply only when `--tag=package-2018-08 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2018-08' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.healthcareapis.v2018_08_20_preview + output-folder: $(azure-libraries-for-java-folder)/healthcareapis/resource-manager/v2018_08_20_preview +regenerate-manager: true +generate-interface: true +``` + + diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.nodejs.md b/specification/healthcareapis/resource-manager/readme.nodejs.md similarity index 66% rename from specification/cognitiveservices/data-plane/AnomalyFinder/readme.nodejs.md rename to specification/healthcareapis/resource-manager/readme.nodejs.md index c42f25de3ce7..a7e6d8b8d3ee 100644 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.nodejs.md +++ b/specification/healthcareapis/resource-manager/readme.nodejs.md @@ -5,9 +5,9 @@ Please also specify `--node-sdks-folder=`. ``` yaml $(tag) == 'package-2018-06-preview' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-06-preview/$(namespace) -``` \ No newline at end of file +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-06-01/$(namespace) +``` diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json index 6d432857774d..4db62eed41a1 100644 --- a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json +++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json @@ -157,7 +157,7 @@ } }, "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/sign": { - "put": { + "post": { "operationId": "MarketplaceAgreements_Sign", "description": "Sign marketplace terms.", "x-ms-examples": { @@ -199,7 +199,7 @@ } }, "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/cancel": { - "put": { + "post": { "operationId": "MarketplaceAgreements_Cancel", "description": "Cancel marketplace terms.", "x-ms-examples": { diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Encoding.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Encoding.json index 5299eaecfc15..e031a6849894 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Encoding.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2018-07-01/Encoding.json @@ -167,7 +167,7 @@ "properties": { "audioLanguage": { "type": "string", - "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are English ('en-US' and 'en-GB'), Spanish ('es-ES' and 'es-MX'), French ('fr-FR'), Italian ('it-IT'), Japanese ('ja-JP'), Portuguese ('pt-BR'), Chinese ('zh-CN'), German ('de-DE'), Arabic ('ar-EG'), Russian ('ru-RU'), Hindi ('hi-IN'), and Korean ('ko-KR'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. This language detection feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\"" + "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are English ('en-US' and 'en-GB'), Spanish ('es-ES' and 'es-MX'), French ('fr-FR'), Italian ('it-IT'), Japanese ('ja-JP'), Portuguese ('pt-BR'), Chinese ('zh-CN'), German ('de-DE'), Arabic ('ar-EG' and 'ar-SY'), Russian ('ru-RU'), Hindi ('hi-IN'), and Korean ('ko-KR'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. This language detection feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\"" } }, "type": "object", @@ -630,11 +630,11 @@ ], "modelAsString": true }, - "description": "Which profile of the H.264 standard should be used when encoding this layer. Default is Auto." + "description": "We currently support Baseline, Main, High, High422, High444. Default is Auto." }, "level": { "type": "string", - "description": "Which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." + "description": "We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." }, "bufferWindow": { "type": "string", @@ -850,6 +850,7 @@ "H264SingleBitrate1080p", "AdaptiveStreaming", "AACGoodQualityAudio", + "ContentAwareEncodingExperimental", "H264MultipleBitrate1080p", "H264MultipleBitrate720p", "H264MultipleBitrateSD" @@ -877,6 +878,10 @@ "value": "AACGoodQualityAudio", "description": "Produces a single MP4 file containing only stereo audio encoded at 192 kbps." }, + { + "value": "ContentAwareEncodingExperimental", + "description": "Exposes an experimental preset for content-aware encoding. Given any input content, the service attempts to automatically determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. The underlying algorithms will continue to evolve over time. The output will contain MP4 files with video and audio interleaved." + }, { "value": "H264MultipleBitrate1080p", "description": "Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 360p." diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_CreateOrUpdate.json index c60a0a23b150..3859118ea072 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_CreateOrUpdate.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_CreateOrUpdate.json @@ -1,17 +1,25 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "api-version": "2017-08-15", "body": {} }, "responses": { + "200": { + "body": { + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, "201": { "body": { "location": "eastus", "properties": { - "provisioningState": "Created" + "provisioningState": "Succeeded" } } }, diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Delete.json index 9f3bfe44fc65..e7e4528eca03 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Delete.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "api-version": "2017-08-15" }, diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Get.json index 5147ae612456..c953da8952cf 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Get.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Get.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "api-version": "2017-08-15" }, diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_List.json index f1f7d17d6077..e43207b36fe3 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_List.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_List.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "api-version": "2017-08-15" }, "responses": { diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Update.json index c03d2dd45953..ed2a522b4df6 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Update.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Accounts_Update.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "api-version": "2017-08-15", "body": {} @@ -11,7 +11,7 @@ "body": { "location": "eastus", "properties": { - "provisioningState": "Created" + "provisioningState": "Succeeded" } } } diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/MountTargets_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/MountTargets_List.json index bcd4a56f85b9..8996708ca7cc 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/MountTargets_List.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/MountTargets_List.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", @@ -18,10 +18,11 @@ "mountTargetId": "9760acf5-4638-11e7-9bdb-020073ca3333", "startIp": "1.2.3.4", "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333", - "vlanId": 1337, + "subnet": "1.2.3.4", "netmask": "255.255.255.0", "ipAddress": "1.2.3.4", "gateway": "1.2.3.4", + "smbServerFqdn": "fullyqualified.domainname.com", "provisioningState": "Created" } } diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json index 963096c1c441..ae144a6f3f19 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "api-version": "2017-08-15", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Delete.json index 996e30f74367..a51d84e63d50 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Delete.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "api-version": "2017-08-15" diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Get.json index 25aed0d6e384..51d1e82ec619 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Get.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Get.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "api-version": "2017-08-15" diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_List.json index 5bccee6836c3..b8d37187d7bc 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_List.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_List.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "api-version": "2017-08-15" }, diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Update.json index 6a8308ab5fc0..cdb7c5996078 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Update.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_Update.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "api-version": "2017-08-15", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Create.json index 8cc5b55490ed..26da07d839d3 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Create.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Create.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Delete.json index 9fa97ec2bf26..c98926bae74d 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Delete.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", @@ -10,6 +10,7 @@ }, "responses": { "204": {}, - "202": {} + "202": {}, + "200": {} } } diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Get.json index 1869ef8f13de..0a7f8b2d384b 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Get.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Get.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_List.json index 61fc3f1f5ec0..a23fcac21412 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_List.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_List.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Update.json index cfbb9f2dbff0..d6860cd629d7 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Update.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Snapshots_Update.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json index 9caac72ce596..1a41ede9c80d 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Delete.json index 01c4188142ae..c03da96c7595 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Delete.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Delete.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Get.json index 67bd0e2abbd3..e6cfaf1f2258 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Get.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Get.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_List.json index 152c8d088946..7d14d2245ce1 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_List.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_List.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "api-version": "2017-08-15" diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Update.json index 98002937dd14..67911caf8762 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Update.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_Update.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "subscriptionId", - "resourceGroup": "resourceGroup", + "resourceGroupName": "resourceGroup", "accountName": "accountName", "poolName": "poolName", "volumeName": "volumeName", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json index 743b0fe364ba..56849cb2517e 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json @@ -169,6 +169,12 @@ } ], "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, "201": { "description": "Account created", "schema": { @@ -902,6 +908,9 @@ "operationId": "Snapshots_Delete", "description": "Delete snapshot", "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" }, @@ -1116,9 +1125,33 @@ "type": "object", "x-ms-azure-resource": true, "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, "tags": { "description": "Resource tags", "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true } } }, @@ -1130,6 +1163,51 @@ "type": "string", "readOnly": true, "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + } + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dNS": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses for the Active Directory domain" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory" + }, + "sMBServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" } } }, @@ -1189,17 +1267,6 @@ } } }, - "capacityPoolPatch": { - "description": "Capacity pool patch resource", - "type": "object", - "x-ms-azure-resource": true, - "properties": { - "tags": { - "description": "Resource tags", - "$ref": "#/definitions/resourceTags" - } - } - }, "poolProperties": { "description": "Pool properties", "type": "object", @@ -1230,7 +1297,7 @@ "enum": [ "Standard", "Premium", - "Extreme" + "Ultra" ], "x-ms-enum": { "name": "ServiceLevel", @@ -1245,12 +1312,12 @@ "description": "Premium service level" }, { - "value": "Extreme", - "description": "Extreme service level" + "value": "Ultra", + "description": "Ultra service level" } ] }, - "example": "Extreme", + "example": "Ultra", "default": "Premium" }, "provisioningState": { @@ -1260,6 +1327,86 @@ } } }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000, + "default": 4398046511104 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + } + } + }, "volumeList": { "description": "List of volume resources", "type": "object", @@ -1353,7 +1500,7 @@ "enum": [ "Standard", "Premium", - "Extreme" + "Ultra" ], "x-ms-enum": { "name": "ServiceLevel", @@ -1368,12 +1515,12 @@ "description": "Premium service level" }, { - "value": "Extreme", - "description": "Extreme service level" + "value": "Ultra", + "description": "Ultra service level" } ] }, - "example": "Extreme", + "example": "Ultra", "default": "Premium" }, "usageThreshold": { @@ -1386,6 +1533,17 @@ "default": 107374182400, "example": 107374182400 }, + "exportPolicy": { + "description": "Export policy rule", + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, "provisioningState": { "type": "string", "readOnly": true, @@ -1397,6 +1555,40 @@ } } }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol" + }, + "nfsv4": { + "type": "boolean", + "description": "Allows NFSv4 protocol" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + } + } + }, "volumePatch": { "description": "Volume patch resource", "type": "object", @@ -1443,7 +1635,7 @@ "enum": [ "Standard", "Premium", - "Extreme" + "Ultra" ], "x-ms-enum": { "name": "ServiceLevel", @@ -1458,12 +1650,12 @@ "description": "Premium service level" }, { - "value": "Extreme", - "description": "Extreme service level" + "value": "Ultra", + "description": "Ultra service level" } ] }, - "example": "Extreme", + "example": "Ultra", "default": "Premium" }, "usageThreshold": { @@ -1475,6 +1667,17 @@ "maximum": 109951162777600, "default": 107374182400, "example": 107374182400 + }, + "exportPolicy": { + "description": "Export policy rule", + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } } } }, @@ -1558,11 +1761,11 @@ "readOnly": true, "example": "1.2.3.4" }, - "vlanId": { - "title": "vlanid", - "type": "integer", - "description": "Vlan Id", - "example": 1337 + "subnet": { + "title": "subnet", + "type": "string", + "description": "The subnet", + "example": "1.2.3.4" }, "startIp": { "title": "startIp", @@ -1571,7 +1774,7 @@ "example": "1.2.3.4" }, "endIp": { - "title": "startIp", + "title": "endIp", "description": "The end of IPv4 address range to use when creating a new mount target", "type": "string", "example": "1.2.3.4" @@ -1588,6 +1791,12 @@ "type": "string", "example": "255.255.255.0" }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + }, "provisioningState": { "type": "string", "readOnly": true, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json index da459cac97e1..8546cc9aa0af 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json @@ -485,9 +485,6 @@ "$ref": "./network.json#/definitions/Error" } } - }, - "x-ms-pageable": { - "nextLinkName": null } } }, @@ -524,9 +521,6 @@ "$ref": "./network.json#/definitions/Error" } } - }, - "x-ms-pageable": { - "nextLinkName": null } } }, @@ -563,9 +557,6 @@ "$ref": "./network.json#/definitions/Error" } } - }, - "x-ms-pageable": { - "nextLinkName": null } } }, diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateDirectPeering.json new file mode 100644 index 000000000000..c0596360d1b1 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateDirectPeering.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2019-03-01-preview", + "peering": { + "sku": { + "name": "Basic_Direct_Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "peeringDBFacilityId": 99999, + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "bandwidthInMbps": 10000, + "peeringDBFacilityId": 99999, + "bgpSession": { + "sessionPrefixV4": "192.168.1.0/31", + "sessionPrefixV6": "fd00::2/127", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "useForPeeringService": false, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Direct_Free", + "tier": "Basic", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "sessionPrefixV4": "192.168.1.0/31", + "sessionPrefixV6": "fd00::2/127", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "useForPeeringService": false, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Basic_Direct_Free", + "tier": "Basic", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "sessionPrefixV4": "192.168.1.0/31", + "sessionPrefixV6": "fd00::2/127", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "useForPeeringService": false, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateExchangePeering.json new file mode 100644 index 000000000000..c733fa1528e8 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreateExchangePeering.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2019-03-01-preview", + "peering": { + "sku": { + "name": "Basic_Exchange_Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "bgpSession": { + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "bgpSession": { + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreatePeerAsn.json new file mode 100644 index 000000000000..329f0dc14fc6 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/CreatePeerAsn.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2019-03-01-preview", + "peerInfo": { + "properties": { + "peerAsn": 65000, + "peerContactInfo": { + "emails": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "phone": [ + "+1 (234) 567-8900" + ] + }, + "peerName": "Contoso" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactInfo": { + "emails": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "phone": [ + "+1 (234) 567-8900" + ] + }, + "peerName": "Contoso", + "validationState": "Pending" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + }, + "201": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactInfo": { + "emails": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "phone": [ + "+1 (234) 567-8900" + ] + }, + "peerName": "Contoso", + "validationState": "Pending" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeerAsn.json new file mode 100644 index 000000000000..c4c9e4951f18 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeerAsn.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeering.json new file mode 100644 index 000000000000..64c64989c618 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/DeletePeering.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeerAsn.json new file mode 100644 index 000000000000..b660c549509a --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeerAsn.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactInfo": { + "emails": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "phone": [ + "+1 (234) 567-8900" + ] + }, + "peerName": "Contoso", + "validationState": "Approved" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeering.json new file mode 100644 index 000000000000..8d761a8aa355 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/GetPeering.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListDirectPeeringLocations.json new file mode 100644 index 000000000000..beec080736a2 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListDirectPeeringLocations.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Direct", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Direct", + "properties": { + "direct": { + "peeringFacilities": [ + { + "address": "address1", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + }, + { + "address": "address3", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + } + ], + "bandwidthOffers": [ + { + "offerName": "10Gbps", + "valueInMbps": 10000 + }, + { + "offerName": "100Gbps", + "valueInMbps": 100000 + } + ] + }, + "peeringLocation": "peeringLocation1", + "country": "country1" + }, + "name": "peeringLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1", + "type": "Microsoft.Peering/peeringLocations" + }, + { + "kind": "Direct", + "properties": { + "direct": { + "peeringFacilities": [ + { + "address": "address2", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + } + ], + "bandwidthOffers": [ + { + "offerName": "10Gbps", + "valueInMbps": 10000 + }, + { + "offerName": "100Gbps", + "valueInMbps": 100000 + } + ] + }, + "peeringLocation": "peeringLocation2", + "country": "country2" + }, + "name": "peeringLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2", + "type": "Microsoft.Peering/peeringLocations" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListExchangePeeringLocations.json new file mode 100644 index 000000000000..51f5aaa532b2 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListExchangePeeringLocations.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Exchange", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Exchange", + "properties": { + "exchange": { + "peeringFacilities": [ + { + "exchangeName": "name1", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.131.1", + "microsoftIPv6Address": "fd00::1:1", + "facilityIPv4Prefix": "192.168.128.0/17", + "facilityIPv6Prefix": "fd00::1000:0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + }, + { + "exchangeName": "name3", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.2.2", + "microsoftIPv6Address": "fd00::2", + "facilityIPv4Prefix": "192.168.0.0/17", + "facilityIPv6Prefix": "fd00::0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + } + ] + }, + "peeringLocation": "peeringLocation1", + "country": "country1" + }, + "name": "peeringLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1", + "type": "Microsoft.Peering/peeringLocations" + }, + { + "kind": "Exchange", + "properties": { + "exchange": { + "peeringFacilities": [ + { + "exchangeName": "name2", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.2.1", + "microsoftIPv6Address": "fd00::2", + "facilityIPv4Prefix": "192.168.0.0/16", + "facilityIPv6Prefix": "fd00::0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + } + ] + }, + "peeringLocation": "peeringLocation2", + "country": "country2" + }, + "name": "peeringLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2", + "type": "Microsoft.Peering/peeringLocations" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListLegacyPeerings.json new file mode 100644 index 000000000000..33fcf5ad283a --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListLegacyPeerings.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Exchange", + "peeringLocation": "peeringLocation0", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "name": "peeringName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeerAsnsBySubscription.json new file mode 100644 index 000000000000..639b2be51797 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeerAsnsBySubscription.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "peerAsn": 65000, + "peerContactInfo": { + "emails": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "phone": [ + "+1 (234) 567-8900" + ] + }, + "peerName": "Contoso", + "validationState": "Approved" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringOperations.json new file mode 100644 index 000000000000..bbc4d49c15ea --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringOperations.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Peering/register/action", + "display": { + "provider": "Microsoft.Peering", + "resource": "Peering Resource Provider", + "operation": "Registers the Peering Resource Provider", + "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringLocations/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringLocations", + "operation": "Read PeeringLocation", + "description": "Read any peeringLocations" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringPartners/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Read PeeringPartner", + "description": "Read any peeringPartners" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Read Peering", + "description": "Read any peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Write Peering", + "description": "Write any peerings" + }, + "isDataAction": false + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsByResourceGroup.json new file mode 100644 index 000000000000..1005c74d62b5 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsBySubscription.json new file mode 100644 index 000000000000..1c2c6f6a0db4 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/ListPeeringsBySubscription.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2019-03-01-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/UpdatePeeringTags.json new file mode 100644 index 000000000000..9c1ac5fbd012 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/examples/UpdatePeeringTags.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2019-03-01-preview", + "tags": { + "tags": { + "tag0": "value0", + "tag1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + } + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "tags": { + "tag0": "value0", + "tag1": "value1" + }, + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/peering.json b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/peering.json new file mode 100644 index 000000000000..1b36ca7a1d66 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/preview/2019-03-01-preview/peering.json @@ -0,0 +1,1439 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-03-01-preview", + "title": "PeeringManagementClient", + "description": "APIs to manage Peering resources through the Azure Resource Manager." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": { + "get": { + "tags": [ + "LegacyPeerings" + ], + "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.", + "operationId": "LegacyPeerings_List", + "parameters": [ + { + "name": "peeringLocation", + "in": "query", + "description": "The location of the peering.", + "required": true, + "type": "string" + }, + { + "name": "kind", + "in": "query", + "description": "The kind of the peering.", + "required": true, + "type": "string", + "enum": [ + "Direct", + "Exchange" + ] + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List legacy peerings": { + "$ref": "./examples/ListLegacyPeerings.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Peering/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available API operations for peering resources.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering operations": { + "$ref": "./examples/ListPeeringOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": { + "get": { + "tags": [ + "PeerAsns" + ], + "description": "Gets the peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_Get", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peer ASN": { + "$ref": "./examples/GetPeerAsn.json" + } + } + }, + "put": { + "tags": [ + "PeerAsns" + ], + "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_CreateOrUpdate", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "name": "peerAsn", + "in": "body", + "description": "The peer ASN.", + "required": true, + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a peer ASN": { + "$ref": "./examples/CreatePeerAsn.json" + } + } + }, + "delete": { + "tags": [ + "PeerAsns" + ], + "description": "Deletes an existing peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_Delete", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peer ASN": { + "$ref": "./examples/DeletePeerAsn.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": { + "get": { + "tags": [ + "PeerAsns" + ], + "description": "Lists all of the peer ASNs under the given subscription.", + "operationId": "PeerAsns_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsnListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peer ASNs in a subscription": { + "$ref": "./examples/ListPeerAsnsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": { + "get": { + "tags": [ + "PeeringLocations" + ], + "description": "Lists all of the available peering locations for the specified kind of peering.", + "operationId": "PeeringLocations_List", + "parameters": [ + { + "name": "kind", + "in": "query", + "description": "The kind of the peering.", + "required": true, + "type": "string", + "enum": [ + "Direct", + "Exchange" + ] + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List direct peering locations": { + "$ref": "./examples/ListDirectPeeringLocations.json" + }, + "List exchange peering locations": { + "$ref": "./examples/ListExchangePeeringLocations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Gets an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peering": { + "$ref": "./examples/GetPeering.json" + } + } + }, + "put": { + "tags": [ + "Peerings" + ], + "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "peering", + "in": "body", + "description": "The properties needed to create or update a peering.", + "required": true, + "schema": { + "$ref": "#/definitions/Peering" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a direct peering": { + "$ref": "./examples/CreateDirectPeering.json" + }, + "Create an exchange peering": { + "$ref": "./examples/CreateExchangePeering.json" + } + } + }, + "delete": { + "tags": [ + "Peerings" + ], + "description": "Deletes an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peering": { + "$ref": "./examples/DeletePeering.json" + } + } + }, + "patch": { + "tags": [ + "Peerings" + ], + "description": "Updates tags for a peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Update", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "tags", + "in": "body", + "description": "The resource tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceTags" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update peering tags": { + "$ref": "./examples/UpdatePeeringTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists all of the peerings under the given subscription and resource group.", + "operationId": "Peerings_ListByResourceGroup", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peerings in a resource group": { + "$ref": "./examples/ListPeeringsByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists all of the peerings under the given subscription.", + "operationId": "Peerings_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peerings in a subscription": { + "$ref": "./examples/ListPeeringsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PeeringListResult": { + "description": "The paginated list of peerings.", + "type": "object", + "properties": { + "value": { + "description": "The list of peerings.", + "type": "array", + "items": { + "$ref": "#/definitions/Peering" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peerings.", + "type": "string" + } + } + }, + "Peering": { + "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.", + "required": [ + "sku", + "kind", + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/PeeringSku", + "description": "The SKU that defines the tier and kind of the peering." + }, + "kind": { + "description": "The kind of the peering.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/PeeringProperties", + "description": "The properties that define a peering.", + "x-ms-client-flatten": true + }, + "location": { + "description": "The location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PeeringSku": { + "description": "The SKU that defines the tier and kind of the peering.", + "type": "object", + "properties": { + "name": { + "description": "The name of the peering SKU.", + "enum": [ + "Basic_Exchange_Free", + "Basic_Direct_Free", + "Premium_Direct_Free", + "Premium_Exchange_Metered" + ], + "type": "string", + "x-ms-enum": { + "name": "name", + "modelAsString": true + } + }, + "tier": { + "description": "The tier of the peering SKU.", + "enum": [ + "Basic", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "tier", + "modelAsString": true + } + }, + "family": { + "description": "The family of the peering SKU.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "family", + "modelAsString": true + } + }, + "size": { + "description": "The size of the peering SKU.", + "enum": [ + "Free", + "Metered", + "Unlimited" + ], + "type": "string", + "x-ms-enum": { + "name": "size", + "modelAsString": true + } + } + } + }, + "PeeringProperties": { + "description": "The properties that define connectivity to the Microsoft Cloud Edge.", + "type": "object", + "properties": { + "direct": { + "$ref": "#/definitions/PeeringPropertiesDirect", + "description": "The properties that define a direct peering." + }, + "exchange": { + "$ref": "#/definitions/PeeringPropertiesExchange", + "description": "The properties that define an exchange peering." + }, + "peeringLocation": { + "description": "The location of the peering.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringPropertiesDirect": { + "description": "The properties that define a direct peering.", + "type": "object", + "properties": { + "connections": { + "description": "The set of connections that constitute a direct peering.", + "type": "array", + "items": { + "$ref": "#/definitions/DirectConnection" + } + }, + "useForPeeringService": { + "description": "The flag that indicates whether or not the peering is used for peering service.", + "type": "boolean" + }, + "peerAsn": { + "$ref": "#/definitions/SubResource", + "description": "The reference of the peer ASN." + } + } + }, + "ErrorResponse": { + "description": "The error response that indicates why an operation has failed.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + } + } + }, + "PeeringPropertiesExchange": { + "description": "The properties that define an exchange peering.", + "type": "object", + "properties": { + "connections": { + "description": "The set of connections that constitute an exchange peering.", + "type": "array", + "items": { + "$ref": "#/definitions/ExchangeConnection" + } + }, + "peerAsn": { + "$ref": "#/definitions/SubResource", + "description": "The reference of the peer ASN." + } + } + }, + "DirectConnection": { + "description": "The properties that define a direct connection.", + "type": "object", + "properties": { + "bandwidthInMbps": { + "format": "int32", + "description": "The bandwidth of the connection.", + "type": "integer" + }, + "provisionedBandwidthInMbps": { + "format": "int32", + "description": "The bandwidth that is actually provisioned.", + "type": "integer" + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.", + "type": "integer" + }, + "connectionState": { + "description": "The state of the connection.", + "enum": [ + "None", + "PendingApproval", + "Approved", + "ProvisioningStarted", + "ProvisioningFailed", + "ProvisioningCompleted", + "Validating", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "connectionState", + "modelAsString": true + } + }, + "bgpSession": { + "$ref": "#/definitions/BgpSession", + "description": "The BGP session associated with the connection." + } + } + }, + "SubResource": { + "description": "The sub resource.", + "type": "object", + "properties": { + "id": { + "description": "The identifier of the referenced resource.", + "type": "string" + } + } + }, + "ExchangeConnection": { + "description": "The properties that define an exchange connection.", + "type": "object", + "properties": { + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.", + "type": "integer" + }, + "connectionState": { + "description": "The state of the connection.", + "enum": [ + "None", + "PendingApproval", + "Approved", + "ProvisioningStarted", + "ProvisioningFailed", + "ProvisioningCompleted", + "Validating", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "connectionState", + "modelAsString": true + } + }, + "bgpSession": { + "$ref": "#/definitions/BgpSession", + "description": "The BGP session associated with the connection." + } + } + }, + "BgpSession": { + "description": "The properties that define a BGP session.", + "type": "object", + "properties": { + "sessionPrefixV4": { + "description": "The IPv4 prefix that contains both ends' IPv4 addresses.", + "type": "string" + }, + "sessionPrefixV6": { + "description": "The IPv6 prefix that contains both ends' IPv6 addresses.", + "type": "string" + }, + "microsoftSessionIPv4Address": { + "description": "The IPv4 session address on Microsoft's end.", + "type": "string", + "readOnly": true + }, + "microsoftSessionIPv6Address": { + "description": "The IPv6 session address on Microsoft's end.", + "type": "string", + "readOnly": true + }, + "peerSessionIPv4Address": { + "description": "The IPv4 session address on peer's end.", + "type": "string" + }, + "peerSessionIPv6Address": { + "description": "The IPv6 session address on peer's end.", + "type": "string" + }, + "sessionStateV4": { + "description": "The state of the IPv4 session.", + "enum": [ + "None", + "Idle", + "Connect", + "Active", + "OpenSent", + "OpenConfirm", + "Established", + "PendingAdd", + "PendingUpdate", + "PendingRemove" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "sessionStateV4", + "modelAsString": true + } + }, + "sessionStateV6": { + "description": "The state of the IPv6 session.", + "enum": [ + "None", + "Idle", + "Connect", + "Active", + "OpenSent", + "OpenConfirm", + "Established", + "PendingAdd", + "PendingUpdate", + "PendingRemove" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "sessionStateV6", + "modelAsString": true + } + }, + "maxPrefixesAdvertisedV4": { + "format": "int32", + "description": "The maximum number of prefixes advertised over the IPv4 session.", + "type": "integer" + }, + "maxPrefixesAdvertisedV6": { + "format": "int32", + "description": "The maximum number of prefixes advertised over the IPv6 session.", + "type": "integer" + }, + "md5AuthenticationKey": { + "description": "The MD5 authentication key of the session.", + "type": "string" + } + } + }, + "Resource": { + "description": "The ARM resource class.", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The ID of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "OperationListResult": { + "description": "The paginated list of peering API operations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering API operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering API operations.", + "type": "string" + } + } + }, + "Operation": { + "description": "The peering API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The information related to the operation.", + "readOnly": true + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean", + "readOnly": true + } + } + }, + "OperationDisplayInfo": { + "description": "The information related to the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The name of the resource provider.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The name of the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the operation.", + "type": "string", + "readOnly": true + } + } + }, + "PeerAsn": { + "description": "The essential information related to the peer's ASN.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeerAsnProperties", + "description": "The properties that define a peer's ASN.", + "x-ms-client-flatten": true + } + } + }, + "PeerAsnProperties": { + "description": "The properties that define a peer's ASN.", + "type": "object", + "properties": { + "peerAsn": { + "format": "int32", + "description": "The Autonomous System Number (ASN) of the peer.", + "type": "integer" + }, + "peerContactInfo": { + "$ref": "#/definitions/ContactInfo", + "description": "The contact information of the peer." + }, + "peerName": { + "description": "The name of the peer.", + "type": "string" + }, + "validationState": { + "description": "The validation state of the ASN associated with the peer.", + "enum": [ + "None", + "Pending", + "Approved", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "validationState", + "modelAsString": true + } + } + } + }, + "ContactInfo": { + "description": "The contact information of the peer.", + "type": "object", + "properties": { + "emails": { + "description": "The list of email addresses.", + "type": "array", + "items": { + "type": "string" + } + }, + "phone": { + "description": "The list of contact numbers.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PeerAsnListResult": { + "description": "The paginated list of peer ASNs.", + "type": "object", + "properties": { + "value": { + "description": "The list of peer ASNs.", + "type": "array", + "items": { + "$ref": "#/definitions/PeerAsn" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peer ASNs.", + "type": "string" + } + } + }, + "PeeringLocationListResult": { + "description": "The paginated list of peering locations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering locations.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringLocation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering locations.", + "type": "string" + } + } + }, + "PeeringLocation": { + "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "kind": { + "description": "The kind of peering that the peering location supports.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/PeeringLocationProperties", + "description": "The properties that define a peering location.", + "x-ms-client-flatten": true + } + } + }, + "PeeringLocationProperties": { + "description": "The properties that define a peering location.", + "type": "object", + "properties": { + "direct": { + "$ref": "#/definitions/PeeringLocationPropertiesDirect", + "description": "The properties that define a direct peering location." + }, + "exchange": { + "$ref": "#/definitions/PeeringLocationPropertiesExchange", + "description": "The properties that define an exchange peering location." + }, + "peeringLocation": { + "description": "The name of the peering location.", + "type": "string" + }, + "country": { + "description": "The country in which the peering location exists.", + "type": "string" + }, + "azureRegion": { + "description": "The Azure region associated with the peering location.", + "type": "string" + } + } + }, + "PeeringLocationPropertiesDirect": { + "description": "The properties that define a direct peering location.", + "type": "object", + "properties": { + "peeringFacilities": { + "description": "The list of direct peering facilities at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/DirectPeeringFacility" + } + }, + "bandwidthOffers": { + "description": "The list of bandwidth offers available at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringBandwidthOffer" + } + } + } + }, + "PeeringLocationPropertiesExchange": { + "description": "The properties that define an exchange peering location.", + "type": "object", + "properties": { + "peeringFacilities": { + "description": "The list of exchange peering facilities at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/ExchangePeeringFacility" + } + } + } + }, + "DirectPeeringFacility": { + "description": "The properties that define a direct peering facility.", + "type": "object", + "properties": { + "address": { + "description": "The address of the direct peering facility.", + "type": "string" + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility.", + "type": "integer" + }, + "peeringDBFacilityLink": { + "description": "The PeeringDB.com URL of the facility.", + "type": "string" + } + } + }, + "PeeringBandwidthOffer": { + "description": "The properties that define a peering bandwidth offer.", + "type": "object", + "properties": { + "offerName": { + "description": "The name of the bandwidth offer.", + "type": "string" + }, + "valueInMbps": { + "format": "int32", + "description": "The value of the bandwidth offer in Mbps.", + "type": "integer" + } + } + }, + "ExchangePeeringFacility": { + "description": "The properties that define an exchange peering facility.", + "type": "object", + "properties": { + "exchangeName": { + "description": "The name of the exchange peering facility.", + "type": "string" + }, + "bandwidthInMbps": { + "format": "int32", + "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.", + "type": "integer" + }, + "microsoftIPv4Address": { + "description": "The IPv4 address of Microsoft at the exchange peering facility.", + "type": "string" + }, + "microsoftIPv6Address": { + "description": "The IPv6 address of Microsoft at the exchange peering facility.", + "type": "string" + }, + "facilityIPv4Prefix": { + "description": "The IPv4 prefixes associated with the exchange peering facility.", + "type": "string" + }, + "facilityIPv6Prefix": { + "description": "The IPv6 prefixes associated with the exchange peering facility.", + "type": "string" + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility.", + "type": "integer" + }, + "peeringDBFacilityLink": { + "description": "The PeeringDB.com URL of the facility.", + "type": "string" + } + } + }, + "ResourceTags": { + "description": "The resource tags.", + "type": "object", + "properties": { + "tags": { + "description": "Gets or sets the tags, a dictionary of descriptors arm object", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Azure subscription ID.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The client API version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/peering/resource-manager/readme.csharp.md b/specification/peering/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..224a3d49ed46 --- /dev/null +++ b/specification/peering/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.Peering + payload-flattening-threshold: 2 + output-folder: $(csharp-sdks-folder)/Peering/Management.Peering/Generated + clear-output-folder: true +``` diff --git a/specification/peering/resource-manager/readme.go.md b/specification/peering/resource-manager/readme.go.md new file mode 100644 index 000000000000..810024b05e24 --- /dev/null +++ b/specification/peering/resource-manager/readme.go.md @@ -0,0 +1,28 @@ +## Go + + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: peering + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2019-03-01-preview +``` + +### Tag: package-2019-03-01-preview and go + +These settings apply only when `--tag=package-2019-03-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-03-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-03-01-preview/$(namespace) +``` + diff --git a/specification/peering/resource-manager/readme.java.md b/specification/peering/resource-manager/readme.java.md new file mode 100644 index 000000000000..8b6374783ca1 --- /dev/null +++ b/specification/peering/resource-manager/readme.java.md @@ -0,0 +1,14 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +java: + azure-arm: true + fluent: true + namespace: com.microsoft.azure.management.peering + license-header: MICROSOFT_MIT_NO_CODEGEN + payload-flattening-threshold: 1 + output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-peering +``` diff --git a/specification/peering/resource-manager/readme.md b/specification/peering/resource-manager/readme.md new file mode 100644 index 000000000000..5b5e9606cd69 --- /dev/null +++ b/specification/peering/resource-manager/readme.md @@ -0,0 +1,69 @@ +# Peering + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Peering. + + + +--- +## Getting Started +To build the SDK for Peering, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the Peering API. + +``` yaml +openapi-type: arm +tag: package-2019-03-01-preview +``` + +### Tag: package-2019-03-01-preview + +These settings apply only when `--tag=package-2019-03-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-03-01-preview' +input-file: +- Microsoft.Peering/preview/2019-03-01-preview/peering.json +``` +# Code Generation + + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-net + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_peering'] +``` + + +## C# + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + diff --git a/specification/peering/resource-manager/readme.nodejs.md b/specification/peering/resource-manager/readme.nodejs.md new file mode 100644 index 000000000000..f8e3b30cc00e --- /dev/null +++ b/specification/peering/resource-manager/readme.nodejs.md @@ -0,0 +1,16 @@ +## Node + +These settings apply only when `--nodejs` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(nodejs) +nodejs: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + package-name: azure-arm-peering + output-folder: $(node-sdks-folder)/lib/services/peeringManagement + generate-license-txt: true + generate-package-json: true + generate-readme-md: false +``` diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.python.md b/specification/peering/resource-manager/readme.python.md similarity index 66% rename from specification/cognitiveservices/data-plane/AnomalyFinder/readme.python.md rename to specification/peering/resource-manager/readme.python.md index b9cc574371cf..2b3fd76de64a 100644 --- a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.python.md +++ b/specification/peering/resource-manager/readme.python.md @@ -7,20 +7,21 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat ``` yaml $(python) python-mode: create python: + azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION - add-credentials: true payload-flattening-threshold: 2 - namespace: azure.cognitiveservices.anomalyfinder - package-name: azure-cognitiveservices-anomalyfinder + namespace: azure.mgmt.peering + package-name: azure-mgmt-peering + package-version: 2.0.0 clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' python: no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-cognitiveservices-anomalyfinder/azure/cognitiveservices/anomalyfinder + output-folder: $(python-sdks-folder)/azure-mgmt-peering/azure/mgmt/peering ``` ``` yaml $(python) && $(python-mode) == 'create' python: basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-cognitiveservices-anomalyfinder + output-folder: $(python-sdks-folder)/azure-mgmt-peering ``` diff --git a/specification/peering/resource-manager/readme.ruby.md b/specification/peering/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..9b2a9d546be3 --- /dev/null +++ b/specification/peering/resource-manager/readme.ruby.md @@ -0,0 +1,26 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +``` yaml +package-name: azure_mgmt_peering +package-version: "2019-03-01-preview" +azure-arm: true +``` + +### Ruby multi-api + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2019-03-01-preview +``` + +### Tag: package-2019-03-01-preview and ruby + +These settings apply only when `--tag=package-2019-03-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-03-01-preview' && $(ruby) +namespace: "Azure::Peering::Mgmt::V2019_03_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_peering/lib +``` diff --git a/specification/peering/resource-manager/readme.typescript.md b/specification/peering/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..71f9b8479b24 --- /dev/null +++ b/specification/peering/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + package-name: "@azure/arm-peering" + output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-peering" + generate-metadata: true +``` diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateDataSource.json index 8999bd3497b8..30599dc68731 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateDataSource.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateDataSource.json @@ -6,7 +6,7 @@ "dataSource": { "name": "mydocdbdatasource", "description": "My Cosmos DB data source.", - "type": "documentdb", + "type": "cosmosdb", "credentials": { "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId" }, @@ -30,7 +30,7 @@ "body": { "name": "mydocdbdatasource", "description": "My Cosmos DB data source.", - "type": "documentdb", + "type": "cosmosdb", "credentials": { "connectionString": null }, diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndex.json index b15839baf7a2..053aadee4772 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndex.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndex.json @@ -174,7 +174,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": "fr.lucene", - "synonymMaps": [] + "synonymMaps": [] }, { "name": "hotelName", @@ -286,7 +286,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": null, - "synonymMaps": [] + "synonymMaps": [] } ], "scoringProfiles": [ diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndexer.json index 1e165d24da24..879a9eb7232f 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndexer.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateIndexer.json @@ -4,31 +4,31 @@ "searchDnsSuffix": "search.windows.net", "api-version": "2017-11-11-Preview", "indexer": { - "name": "myindexer", - "description": "a cool indexer", - "dataSourceName": "mydatasource", - "targetIndexName": "orders", + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", "schedule": { "interval": "PT1H", "startTime": "2015-01-01T00:00:00Z" - }, + }, "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 - } + } } }, "responses": { "201": { "body": { - "name": "myindexer", - "description": "a cool indexer", - "dataSourceName": "mydatasource", - "targetIndexName": "orders", + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", "schedule": { "interval": "PT1H", "startTime": "2015-01-01T00:00:00Z" - }, + }, "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateDataSource.json index b41ab3a73b5e..7bc1b1569c37 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateDataSource.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateDataSource.json @@ -8,7 +8,7 @@ "dataSource": { "name": "mydocdbdatasource", "description": "My Cosmos DB data source.", - "type": "documentdb", + "type": "cosmosdb", "credentials": { "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId" }, @@ -32,7 +32,7 @@ "body": { "name": "mydocdbdatasource", "description": "My Cosmos DB data source.", - "type": "documentdb", + "type": "cosmosdb", "credentials": { "connectionString": null }, @@ -55,7 +55,7 @@ "body": { "name": "mydocdbdatasource", "description": "My Cosmos DB data source.", - "type": "documentdb", + "type": "cosmosdb", "credentials": { "connectionString": null }, diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndex.json index a7a35c5a240e..1b0cc7864fa8 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndex.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndex.json @@ -177,7 +177,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": "fr.lucene", - "synonymMaps": [] + "synonymMaps": [] }, { "name": "hotelName", @@ -289,7 +289,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": null, - "synonymMaps": [] + "synonymMaps": [] } ], "scoringProfiles": [ @@ -403,7 +403,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": "fr.lucene", - "synonymMaps": [] + "synonymMaps": [] }, { "name": "hotelName", @@ -515,7 +515,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": null, - "synonymMaps": [] + "synonymMaps": [] } ], "scoringProfiles": [ diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndexer.json index 6872817d70cc..ba71754f5761 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndexer.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateIndexer.json @@ -6,31 +6,31 @@ "api-version": "2017-11-11-Preview", "Prefer": "return=representation", "indexer": { - "name": "myindexer", - "description": "a cool indexer", - "dataSourceName": "mydatasource", - "targetIndexName": "orders", + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", "schedule": { "interval": "PT1H", "startTime": "2015-01-01T00:00:00Z" - }, + }, "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 - } + } } }, "responses": { "200": { "body": { - "name": "myindexer", - "description": "a cool indexer", - "dataSourceName": "mydatasource", - "targetIndexName": "orders", + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", "schedule": { "interval": "PT1H", "startTime": "2015-01-01T00:00:00Z" - }, + }, "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 @@ -41,14 +41,14 @@ }, "201": { "body": { - "name": "myindexer", - "description": "a cool indexer", - "dataSourceName": "mydatasource", - "targetIndexName": "orders", + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", "schedule": { "interval": "PT1H", "startTime": "2015-01-01T00:00:00Z" - }, + }, "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSkillset.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSkillset.json index d9a5fe8227b1..566ed29eca73 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSkillset.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSkillset.json @@ -8,212 +8,272 @@ "skillset": { "name": "demoskillset", "description": "Extract entities, detect language and extract key-phrases", - "skills": [{ - "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", - "categories": ["organization"], - "defaultLanguageCode": "en", - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "organizations", - "targetName": "organizations" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "languageCode", - "targetName": "languageCode" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.SplitSkill", - "textSplitMode": "pages", - "maximumPageLength": 4000, - "inputs": [{ - "name": "text", - "source": "/document/content" - }, - { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "textItems", - "targetName": "pages" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", - "context": "/document/pages/*", - "inputs": [{ - "name": "text", - "source": "/document/pages/*" - }, + "skills": [ { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "keyPhrases", - "targetName": "keyPhrases" - }] - }] - } - }, - "responses": { - "200": { - "body": { - "name": "demoskillset", - "description": "Extract entities, detect language and extract key-phrases", - "skills": [{ "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "organizations", - "targetName": "organizations" - }], - "categories": ["organization"], + "categories": [ + "organization" + ], "defaultLanguageCode": "en", - "minimumPrecision": null + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ] }, { "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "languageCode", - "targetName": "languageCode" - }] + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] }, { "@odata.type": "#Microsoft.Skills.Text.SplitSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }, - { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "textItems", - "targetName": "pages" - }], - "defaultLanguageCode": null, "textSplitMode": "pages", - "maximumPageLength": 4000 + "maximumPageLength": 4000, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ] }, { "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", - "description": null, "context": "/document/pages/*", - "inputs": [{ - "name": "text", - "source": "/document/pages/*" + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": null }, { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "keyPhrases", - "targetName": "keyPhrases" - }], - "defaultLanguageCode": null, - "maxKeyPhraseCount": null - }] + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + } + ] } }, "201": { "body": { "name": "demoskillset", "description": "Extract entities, detect language and extract key-phrases", - "skills": [{ - "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "organizations", - "targetName": "organizations" - }], - "categories": ["organization"], - "defaultLanguageCode": "en", - "minimumPrecision": null - }, - { - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "languageCode", - "targetName": "languageCode" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.SplitSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": null }, { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "textItems", - "targetName": "pages" - }], - "defaultLanguageCode": null, - "textSplitMode": "pages", - "maximumPageLength": 4000 - }, - { - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", - "description": null, - "context": "/document/pages/*", - "inputs": [{ - "name": "text", - "source": "/document/pages/*" + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 }, { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "keyPhrases", - "targetName": "keyPhrases" - }], - "defaultLanguageCode": null, - "maxKeyPhraseCount": null - }] + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + } + ] } } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json index 3e0a18c3407b..f7b3a5a5e546 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json @@ -5,26 +5,26 @@ "synonymMapName": "mysynonymmap", "api-version": "2017-11-11-Preview", "Prefer": "return=representation", - "synonymMap": { - "name" : "mysynonymmap", - "format" : "solr", - "synonyms" : "United States, United States of America, USA\nWashington, Wash. => WA" - } + "synonymMap": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA" + } }, "responses": { "200": { - "body": { - "name" : "mysynonymmap", - "format" : "solr", - "synonyms" : "United States, United States of America, USA\nWashington, Wash. => WA" - } + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA" + } }, "201": { - "body": { - "name" : "mysynonymmap", - "format" : "solr", - "synonyms" : "United States, United States of America, USA\nWashington, Wash. => WA" - } + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA" + } } } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSkillset.json index dc5420495b7a..bfa45940f65b 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSkillset.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSkillset.json @@ -8,138 +8,178 @@ "skillset": { "name": "demoskillset", "description": "Extract entities, detect language and extract key-phrases", - "skills": [{ - "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", - "categories": ["organization"], - "defaultLanguageCode": "en", - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "organizations", - "targetName": "organizations" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "languageCode", - "targetName": "languageCode" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.SplitSkill", - "textSplitMode": "pages", - "maximumPageLength": 4000, - "inputs": [{ - "name": "text", - "source": "/document/content" - }, - { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "textItems", - "targetName": "pages" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", - "context": "/document/pages/*", - "inputs": [{ - "name": "text", - "source": "/document/pages/*" - }, + "skills": [ { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "keyPhrases", - "targetName": "keyPhrases" - }] - }] - } - }, - "responses": { - "201": { - "body": { - "name": "demoskillset", - "description": "Extract entities, detect language and extract key-phrases", - "skills": [{ "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "organizations", - "targetName": "organizations" - }], - "categories": ["organization"], + "categories": [ + "organization" + ], "defaultLanguageCode": "en", - "minimumPrecision": null + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ] }, { "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "languageCode", - "targetName": "languageCode" - }] + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] }, { "@odata.type": "#Microsoft.Skills.Text.SplitSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }, - { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "textItems", - "targetName": "pages" - }], - "defaultLanguageCode": null, "textSplitMode": "pages", - "maximumPageLength": 4000 + "maximumPageLength": 4000, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ] }, { "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", - "description": null, "context": "/document/pages/*", - "inputs": [{ - "name": "text", - "source": "/document/pages/*" + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ] + } + ] + } + }, + "responses": { + "201": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": null + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 }, { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "keyPhrases", - "targetName": "keyPhrases" - }], - "defaultLanguageCode": null, - "maxKeyPhraseCount": null - }] + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + } + ] } } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSynonymMap.json index 1633efdcd119..da5ba9b165dc 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSynonymMap.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceCreateSynonymMap.json @@ -3,19 +3,19 @@ "searchServiceName": "myservice", "searchDnsSuffix": "search.windows.net", "api-version": "2017-11-11-Preview", - "synonymMap": { - "name" : "mysynonymmap", - "format" : "solr", - "synonyms" : "United States, United States of America, USA\nWashington, Wash. => WA" - } + "synonymMap": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA" + } }, "responses": { "201": { - "body": { - "name" : "mysynonymmap", - "format" : "solr", - "synonyms" : "United States, United States of America, USA\nWashington, Wash. => WA" - } + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA" + } } } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteDataSource.json index c19fbc4555db..29af0b3d5f87 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteDataSource.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteDataSource.json @@ -6,7 +6,7 @@ "api-version": "2017-11-11-Preview" }, "responses": { - "204": { }, - "404": { } + "204": {}, + "404": {} } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndex.json index ff7458e906e1..392d6c4bfbdb 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndex.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndex.json @@ -6,7 +6,7 @@ "api-version": "2017-11-11-Preview" }, "responses": { - "204": { }, - "404": { } + "204": {}, + "404": {} } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndexer.json index 1a78a4c84590..c054d849efd0 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndexer.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteIndexer.json @@ -6,7 +6,7 @@ "api-version": "2017-11-11-Preview" }, "responses": { - "204": { }, - "404": { } + "204": {}, + "404": {} } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSkillset.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSkillset.json index fc6d60720b70..19d8916d0105 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSkillset.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSkillset.json @@ -1,12 +1,12 @@ { - "parameters": { - "searchServiceName": "myservice", - "searchDnsSuffix": "search.windows.net", - "skillsetName": "demoskillset", - "api-version": "2017-11-11-Preview" - }, - "responses": { - "204": { }, - "404": { } - } + "parameters": { + "searchServiceName": "myservice", + "searchDnsSuffix": "search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2017-11-11-Preview" + }, + "responses": { + "204": {}, + "404": {} + } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSynonymMap.json index d2e50bb801bd..9cdfcdd194b5 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSynonymMap.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceDeleteSynonymMap.json @@ -6,7 +6,7 @@ "api-version": "2017-11-11-Preview" }, "responses": { - "204": { }, - "404": { } + "204": {}, + "404": {} } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetDataSource.json index 6ad8746ef316..0e2bc5f65a01 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetDataSource.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetDataSource.json @@ -10,7 +10,7 @@ "body": { "name": "mydocdbdatasource", "description": "My Cosmos DB data source.", - "type": "documentdb", + "type": "cosmosdb", "credentials": { "connectionString": null }, diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndex.json index 828fde77c2fc..420eeee14940 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndex.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndex.json @@ -3,7 +3,7 @@ "searchServiceName": "myservice", "searchDnsSuffix": "search.windows.net", "indexName": "hotels", - "api-version": "2017-11-11-Preview" + "api-version": "2017-11-11-Preview" }, "responses": { "200": { @@ -64,7 +64,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": "fr.lucene", - "synonymMaps": [] + "synonymMaps": [] }, { "name": "hotelName", @@ -176,7 +176,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": null, - "synonymMaps": [] + "synonymMaps": [] } ], "scoringProfiles": [ diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexStatistics.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexStatistics.json index d80206a83d82..61c55f98a85a 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexStatistics.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexStatistics.json @@ -7,8 +7,8 @@ }, "responses": { "200": { - "body": { - "documentCount": 239572, + "body": { + "documentCount": 239572, "storageSize": 72375920 } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexer.json index a62939b173b6..d83e55727568 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexer.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexer.json @@ -8,20 +8,20 @@ "responses": { "200": { "body": { - "name": "myindexer", - "description": "a cool indexer", - "dataSourceName": "mydatasource", - "targetIndexName": "orders", + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", "schedule": { "interval": "PT1H", "startTime": "2015-01-01T00:00:00Z" - }, + }, "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false } } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexerStatus.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexerStatus.json index 5d08ca52269e..34748c6bc9e9 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexerStatus.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetIndexerStatus.json @@ -42,9 +42,7 @@ "errors": [ { "key": "", - "status": false, - "errorMessage": "Document key cannot be missing or empty.", - "statusCode": 400 + "errorMessage": "Document key cannot be missing or empty." } ], "warnings": [ diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetServiceStatistics.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetServiceStatistics.json index a995407a03ce..29783b21be59 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetServiceStatistics.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetServiceStatistics.json @@ -41,4 +41,4 @@ } } } -} +} \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSkillset.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSkillset.json index 814addbe919e..bc7cacc073a5 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSkillset.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSkillset.json @@ -10,74 +10,94 @@ "body": { "name": "demoskillset", "description": "Extract entities, detect language and extract key-phrases", - "skills": [{ - "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "organizations", - "targetName": "organizations" - }], - "categories": ["organization"], - "defaultLanguageCode": "en", - "minimumPrecision": null - }, - { - "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" - }], - "outputs": [{ - "name": "languageCode", - "targetName": "languageCode" - }] - }, - { - "@odata.type": "#Microsoft.Skills.Text.SplitSkill", - "description": null, - "context": null, - "inputs": [{ - "name": "text", - "source": "/document/content" + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.NamedEntityRecognitionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": null + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] }, { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "textItems", - "targetName": "pages" - }], - "defaultLanguageCode": null, - "textSplitMode": "pages", - "maximumPageLength": 4000 - }, - { - "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", - "description": null, - "context": "/document/pages/*", - "inputs": [{ - "name": "text", - "source": "/document/pages/*" + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 }, { - "name": "languageCode", - "source": "/document/languageCode" - }], - "outputs": [{ - "name": "keyPhrases", - "targetName": "keyPhrases" - }], - "defaultLanguageCode": null, - "maxKeyPhraseCount": null - }] + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + } + ] } } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSynonymMap.json index 698a0d25bd91..cb2dc19cdcfd 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSynonymMap.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceGetSynonymMap.json @@ -7,11 +7,11 @@ }, "responses": { "200": { - "body": { - "name" : "mysynonymmap", - "format" : "solr", - "synonyms" : "United States, United States of America, USA\nWashington, Wash. => WA" - } + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA" + } } } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceIndexAnalyze.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceIndexAnalyze.json index c4ec7c5e15d5..ef51d9c8faad 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceIndexAnalyze.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceIndexAnalyze.json @@ -6,7 +6,7 @@ "api-version": "2017-11-11-Preview", "request": { "text": "Text to analyze", - "analyzer": "standard" + "analyzer": "standard.lucene" } }, "responses": { diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListDataSources.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListDataSources.json index 4a7cc71ea843..6b28ba8f8656 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListDataSources.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListDataSources.json @@ -11,7 +11,7 @@ { "name": "mydocdbdatasource", "description": "My Cosmos DB data source.", - "type": "documentdb", + "type": "cosmosdb", "credentials": { "connectionString": null }, @@ -41,7 +41,7 @@ }, "dataChangeDetectionPolicy": null, "dataDeletionDetectionPolicy": null - } + } ] } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexers.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexers.json index 84dce3d21d0c..6b2d40603bcf 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexers.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexers.json @@ -9,26 +9,26 @@ "body": { "value": [ { - "name": "myindexer", - "description": "a cool indexer", - "dataSourceName": "mydocdbdatasource", - "targetIndexName": "orders", + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydocdbdatasource", + "targetIndexName": "orders", "schedule": { "interval": "PT1H", "startTime": "2015-01-01T00:00:00Z" - }, + }, "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false }, { - "name": "myotherindexer", - "description": "another cool indexer", - "dataSourceName": "myblobdatasource", - "targetIndexName": "orders", + "name": "myotherindexer", + "description": "another cool indexer", + "dataSourceName": "myblobdatasource", + "targetIndexName": "orders", "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5, @@ -59,7 +59,7 @@ } ], "disabled": false - } + } ] } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexes.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexes.json index ef4d25d13e43..9129b74fbc22 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexes.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListIndexes.json @@ -66,7 +66,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": "fr.lucene", - "synonymMaps": [] + "synonymMaps": [] }, { "name": "hotelName", @@ -178,7 +178,7 @@ "indexAnalyzer": null, "searchAnalyzer": null, "analyzer": null, - "synonymMaps": [] + "synonymMaps": [] } ], "scoringProfiles": [ diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSkillsets.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSkillsets.json index df8d00743ab8..751761abd5f3 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSkillsets.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSkillsets.json @@ -1,11 +1,11 @@ { - "parameters": { - "searchServiceName": "myservice", - "searchDnsSuffix": "search.windows.net", - "api-version": "2017-11-11-Preview" - }, - "responses": { - "200": { + "parameters": { + "searchServiceName": "myservice", + "searchDnsSuffix": "search.windows.net", + "api-version": "2017-11-11-Preview" + }, + "responses": { + "200": { "body": { "value": [ { @@ -28,7 +28,9 @@ "targetName": "organizations" } ], - "categories": [ "organization" ], + "categories": [ + "organization" + ], "defaultLanguageCode": "en", "minimumPrecision": null }, @@ -100,6 +102,6 @@ } ] } - } - } + } + } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSynonymMaps.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSynonymMaps.json index 20c041ae2915..0348bff89355 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSynonymMaps.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceListSynonymMaps.json @@ -8,16 +8,16 @@ "200": { "body": { "value": [ - { - "name" : "mysynonymmap", - "format" : "solr", - "synonyms" : "United States, United States of America, USA\nWashington, Wash. => WA" + { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA" }, - { - "name" : "myothersynonymmap", - "format" : "solr", - "synonyms" : "couch, sofa, chesterfield\npop, soda\ntoque, hat" - } + { + "name": "myothersynonymmap", + "format": "solr", + "synonyms": "couch, sofa, chesterfield\npop, soda\ntoque, hat" + } ] } } diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceResetIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceResetIndexer.json index 8a41e8f16c4d..99eaeef8b6cb 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceResetIndexer.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceResetIndexer.json @@ -6,6 +6,6 @@ "api-version": "2017-11-11-Preview" }, "responses": { - "204": { } + "204": {} } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceRunIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceRunIndexer.json index a6f65f1889ce..9d6ff0b871a1 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceRunIndexer.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/examples/SearchServiceRunIndexer.json @@ -6,6 +6,6 @@ "api-version": "2017-11-11-Preview" }, "responses": { - "202": { } + "202": {} } } \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/searchservice.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/searchservice.json index d9dcb26bed85..0bd9444a50df 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/searchservice.json +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2017-11-11-preview/searchservice.json @@ -34,7 +34,9 @@ ], "operationId": "DataSources_CreateOrUpdate", "x-ms-examples": { - "SearchServiceCreateOrUpdateDataSource": { "$ref": "./examples/SearchServiceCreateOrUpdateDataSource.json" } + "SearchServiceCreateOrUpdateDataSource": { + "$ref": "./examples/SearchServiceCreateOrUpdateDataSource.json" + } }, "description": "Creates a new Azure Search datasource or updates a datasource if it already exists.", "externalDocs": { @@ -95,7 +97,9 @@ ], "operationId": "DataSources_Delete", "x-ms-examples": { - "SearchServiceDeleteDataSource": { "$ref": "./examples/SearchServiceDeleteDataSource.json" } + "SearchServiceDeleteDataSource": { + "$ref": "./examples/SearchServiceDeleteDataSource.json" + } }, "description": "Deletes an Azure Search datasource.", "externalDocs": { @@ -138,7 +142,9 @@ ], "operationId": "DataSources_Get", "x-ms-examples": { - "SearchServiceGetDataSource": { "$ref": "./examples/SearchServiceGetDataSource.json" } + "SearchServiceGetDataSource": { + "$ref": "./examples/SearchServiceGetDataSource.json" + } }, "description": "Retrieves a datasource definition from Azure Search.", "externalDocs": { @@ -177,7 +183,9 @@ ], "operationId": "DataSources_List", "x-ms-examples": { - "SearchServiceListDataSources": { "$ref": "./examples/SearchServiceListDataSources.json" } + "SearchServiceListDataSources": { + "$ref": "./examples/SearchServiceListDataSources.json" + } }, "description": "Lists all datasources available for an Azure Search service.", "externalDocs": { @@ -207,7 +215,9 @@ ], "operationId": "DataSources_Create", "x-ms-examples": { - "SearchServiceCreateDataSource": { "$ref": "./examples/SearchServiceCreateDataSource.json" } + "SearchServiceCreateDataSource": { + "$ref": "./examples/SearchServiceCreateDataSource.json" + } }, "description": "Creates a new Azure Search datasource.", "externalDocs": { @@ -248,7 +258,9 @@ ], "operationId": "Indexers_Reset", "x-ms-examples": { - "SearchServiceResetIndexer": { "$ref": "./examples/SearchServiceResetIndexer.json" } + "SearchServiceResetIndexer": { + "$ref": "./examples/SearchServiceResetIndexer.json" + } }, "description": "Resets the change tracking state associated with an Azure Search indexer.", "externalDocs": { @@ -284,7 +296,9 @@ ], "operationId": "Indexers_Run", "x-ms-examples": { - "SearchServiceRunIndexer": { "$ref": "./examples/SearchServiceRunIndexer.json" } + "SearchServiceRunIndexer": { + "$ref": "./examples/SearchServiceRunIndexer.json" + } }, "description": "Runs an Azure Search indexer on-demand.", "externalDocs": { @@ -320,7 +334,9 @@ ], "operationId": "Indexers_CreateOrUpdate", "x-ms-examples": { - "SearchServiceCreateOrUpdateIndexer": { "$ref": "./examples/SearchServiceCreateOrUpdateIndexer.json" } + "SearchServiceCreateOrUpdateIndexer": { + "$ref": "./examples/SearchServiceCreateOrUpdateIndexer.json" + } }, "description": "Creates a new Azure Search indexer or updates an indexer if it already exists.", "externalDocs": { @@ -381,7 +397,9 @@ ], "operationId": "Indexers_Delete", "x-ms-examples": { - "SearchServiceDeleteIndexer": { "$ref": "./examples/SearchServiceDeleteIndexer.json" } + "SearchServiceDeleteIndexer": { + "$ref": "./examples/SearchServiceDeleteIndexer.json" + } }, "description": "Deletes an Azure Search indexer.", "externalDocs": { @@ -424,7 +442,9 @@ ], "operationId": "Indexers_Get", "x-ms-examples": { - "SearchServiceGetIndexer": { "$ref": "./examples/SearchServiceGetIndexer.json" } + "SearchServiceGetIndexer": { + "$ref": "./examples/SearchServiceGetIndexer.json" + } }, "description": "Retrieves an indexer definition from Azure Search.", "externalDocs": { @@ -463,7 +483,9 @@ ], "operationId": "Indexers_List", "x-ms-examples": { - "SearchServiceListIndexers": { "$ref": "./examples/SearchServiceListIndexers.json" } + "SearchServiceListIndexers": { + "$ref": "./examples/SearchServiceListIndexers.json" + } }, "description": "Lists all indexers available for an Azure Search service.", "externalDocs": { @@ -493,7 +515,9 @@ ], "operationId": "Indexers_Create", "x-ms-examples": { - "SearchServiceCreateIndexer": { "$ref": "./examples/SearchServiceCreateIndexer.json" } + "SearchServiceCreateIndexer": { + "$ref": "./examples/SearchServiceCreateIndexer.json" + } }, "description": "Creates a new Azure Search indexer.", "externalDocs": { @@ -534,7 +558,9 @@ ], "operationId": "Indexers_GetStatus", "x-ms-examples": { - "SearchServiceGetIndexerStatus": { "$ref": "./examples/SearchServiceGetIndexerStatus.json" } + "SearchServiceGetIndexerStatus": { + "$ref": "./examples/SearchServiceGetIndexerStatus.json" + } }, "description": "Returns the current status and execution history of an indexer.", "externalDocs": { @@ -568,10 +594,14 @@ }, "/skillsets('{skillsetName}')": { "put": { - "tags": ["Skillsets"], + "tags": [ + "Skillsets" + ], "operationId": "Skillsets_CreateOrUpdate", "x-ms-examples": { - "SearchServiceCreateOrUpdateSkillset": { "$ref": "./examples/SearchServiceCreateOrUpdateSkillset.json" } + "SearchServiceCreateOrUpdateSkillset": { + "$ref": "./examples/SearchServiceCreateOrUpdateSkillset.json" + } }, "description": "Creates a new cognitive skillset in an Azure Search service or updates the skillset if it already exists.", "externalDocs": { @@ -621,10 +651,14 @@ } }, "delete": { - "tags": ["Skillsets"], + "tags": [ + "Skillsets" + ], "operationId": "Skillsets_Delete", "x-ms-examples": { - "SearchServiceDeleteSkillset": { "$ref": "./examples/SearchServiceDeleteSkillset.json" } + "SearchServiceDeleteSkillset": { + "$ref": "./examples/SearchServiceDeleteSkillset.json" + } }, "description": "Deletes a cognitive skillset in an Azure Search service.", "externalDocs": { @@ -656,10 +690,14 @@ } }, "get": { - "tags": ["Skillsets"], + "tags": [ + "Skillsets" + ], "operationId": "Skillsets_Get", "x-ms-examples": { - "SearchServiceGetSkillset": { "$ref": "./examples/SearchServiceGetSkillset.json" } + "SearchServiceGetSkillset": { + "$ref": "./examples/SearchServiceGetSkillset.json" + } }, "description": "Retrieves a cognitive skillset in an Azure Search service.", "externalDocs": { @@ -693,10 +731,14 @@ }, "/skillsets": { "get": { - "tags": ["Skillsets"], + "tags": [ + "Skillsets" + ], "operationId": "Skillsets_List", "x-ms-examples": { - "SearchServiceListSkillsets": { "$ref": "./examples/SearchServiceListSkillsets.json" } + "SearchServiceListSkillsets": { + "$ref": "./examples/SearchServiceListSkillsets.json" + } }, "description": "List all cognitive skillsets in an Azure Search service.", "externalDocs": { @@ -721,10 +763,14 @@ } }, "post": { - "tags": ["Skillsets"], + "tags": [ + "Skillsets" + ], "operationId": "Skillsets_Create", "x-ms-examples": { - "SearchServiceCreateSkillset": { "$ref": "./examples/SearchServiceCreateSkillset.json" } + "SearchServiceCreateSkillset": { + "$ref": "./examples/SearchServiceCreateSkillset.json" + } }, "description": "Creates a new cognitive skillset in an Azure Search service.", "externalDocs": { @@ -765,7 +811,9 @@ ], "operationId": "SynonymMaps_CreateOrUpdate", "x-ms-examples": { - "SearchServiceCreateOrUpdateSynonymMap": { "$ref": "./examples/SearchServiceCreateOrUpdateSynonymMap.json" } + "SearchServiceCreateOrUpdateSynonymMap": { + "$ref": "./examples/SearchServiceCreateOrUpdateSynonymMap.json" + } }, "description": "Creates a new Azure Search synonym map or updates a synonym map if it already exists.", "externalDocs": { @@ -826,7 +874,9 @@ ], "operationId": "SynonymMaps_Delete", "x-ms-examples": { - "SearchServiceDeleteSynonymMap": { "$ref": "./examples/SearchServiceDeleteSynonymMap.json" } + "SearchServiceDeleteSynonymMap": { + "$ref": "./examples/SearchServiceDeleteSynonymMap.json" + } }, "description": "Deletes an Azure Search synonym map.", "externalDocs": { @@ -869,7 +919,9 @@ ], "operationId": "SynonymMaps_Get", "x-ms-examples": { - "SearchServiceGetSynonymMap": { "$ref": "./examples/SearchServiceGetSynonymMap.json" } + "SearchServiceGetSynonymMap": { + "$ref": "./examples/SearchServiceGetSynonymMap.json" + } }, "description": "Retrieves a synonym map definition from Azure Search.", "externalDocs": { @@ -908,7 +960,9 @@ ], "operationId": "SynonymMaps_List", "x-ms-examples": { - "SearchServiceListSynonymMaps": { "$ref": "./examples/SearchServiceListSynonymMaps.json" } + "SearchServiceListSynonymMaps": { + "$ref": "./examples/SearchServiceListSynonymMaps.json" + } }, "description": "Lists all synonym maps available for an Azure Search service.", "externalDocs": { @@ -938,7 +992,9 @@ ], "operationId": "SynonymMaps_Create", "x-ms-examples": { - "SearchServiceCreateSynonymMap": { "$ref": "./examples/SearchServiceCreateSynonymMap.json" } + "SearchServiceCreateSynonymMap": { + "$ref": "./examples/SearchServiceCreateSynonymMap.json" + } }, "description": "Creates a new Azure Search synonym map.", "externalDocs": { @@ -979,7 +1035,9 @@ ], "operationId": "Indexes_Create", "x-ms-examples": { - "SearchServiceCreateIndex": { "$ref": "./examples/SearchServiceCreateIndex.json" } + "SearchServiceCreateIndex": { + "$ref": "./examples/SearchServiceCreateIndex.json" + } }, "description": "Creates a new Azure Search index.", "externalDocs": { @@ -1018,7 +1076,9 @@ ], "operationId": "Indexes_List", "x-ms-examples": { - "SearchServiceListIndexes": { "$ref": "./examples/SearchServiceListIndexes.json" } + "SearchServiceListIndexes": { + "$ref": "./examples/SearchServiceListIndexes.json" + } }, "description": "Lists all indexes available for an Azure Search service.", "externalDocs": { @@ -1057,7 +1117,9 @@ ], "operationId": "Indexes_CreateOrUpdate", "x-ms-examples": { - "SearchServiceCreateOrUpdateIndex": { "$ref": "./examples/SearchServiceCreateOrUpdateIndex.json" } + "SearchServiceCreateOrUpdateIndex": { + "$ref": "./examples/SearchServiceCreateOrUpdateIndex.json" + } }, "description": "Creates a new Azure Search index or updates an index if it already exists.", "externalDocs": { @@ -1125,7 +1187,9 @@ ], "operationId": "Indexes_Delete", "x-ms-examples": { - "SearchServiceDeleteIndex": { "$ref": "./examples/SearchServiceDeleteIndex.json" } + "SearchServiceDeleteIndex": { + "$ref": "./examples/SearchServiceDeleteIndex.json" + } }, "description": "Deletes an Azure Search index and all the documents it contains.", "externalDocs": { @@ -1168,7 +1232,9 @@ ], "operationId": "Indexes_Get", "x-ms-examples": { - "SearchServiceGetIndex": { "$ref": "./examples/SearchServiceGetIndex.json" } + "SearchServiceGetIndex": { + "$ref": "./examples/SearchServiceGetIndex.json" + } }, "description": "Retrieves an index definition from Azure Search.", "externalDocs": { @@ -1207,7 +1273,9 @@ ], "operationId": "Indexes_GetStatistics", "x-ms-examples": { - "SearchServiceGetIndexStatistics": { "$ref": "./examples/SearchServiceGetIndexStatistics.json" } + "SearchServiceGetIndexStatistics": { + "$ref": "./examples/SearchServiceGetIndexStatistics.json" + } }, "description": "Returns statistics for the given index, including a document count and storage usage.", "externalDocs": { @@ -1246,7 +1314,9 @@ ], "operationId": "Indexes_Analyze", "x-ms-examples": { - "SearchServiceIndexAnalyze": { "$ref": "./examples/SearchServiceIndexAnalyze.json" } + "SearchServiceIndexAnalyze": { + "$ref": "./examples/SearchServiceIndexAnalyze.json" + } }, "description": "Shows how an analyzer breaks text into tokens.", "externalDocs": { @@ -1294,7 +1364,9 @@ ], "operationId": "GetServiceStatistics", "x-ms-examples": { - "SearchServiceGetServiceStatistics": { "$ref": "./examples/SearchServiceGetServiceStatistics.json" } + "SearchServiceGetServiceStatistics": { + "$ref": "./examples/SearchServiceGetServiceStatistics.json" + } }, "description": "Gets service level statistics for an Azure Search service.", "parameters": [ @@ -1335,14 +1407,16 @@ "tokenFilters": { "type": "array", "items": { - "$ref": "#/definitions/TokenFilterName" + "$ref": "#/definitions/TokenFilterName", + "x-nullable": false }, "description": "An optional list of token filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter." }, "charFilters": { "type": "array", "items": { - "$ref": "#/definitions/CharFilterName" + "$ref": "#/definitions/CharFilterName", + "x-nullable": false }, "description": "An optional list of character filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter." } @@ -1393,73 +1467,235 @@ "description": "Information about a token returned by an analyzer." }, "AnalyzerName": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "ar.microsoft", + "ar.lucene", + "hy.lucene", + "bn.microsoft", + "eu.lucene", + "bg.microsoft", + "bg.lucene", + "ca.microsoft", + "ca.lucene", + "zh-Hans.microsoft", + "zh-Hans.lucene", + "zh-Hant.microsoft", + "zh-Hant.lucene", + "hr.microsoft", + "cs.microsoft", + "cs.lucene", + "da.microsoft", + "da.lucene", + "nl.microsoft", + "nl.lucene", + "en.microsoft", + "en.lucene", + "et.microsoft", + "fi.microsoft", + "fi.lucene", + "fr.microsoft", + "fr.lucene", + "gl.lucene", + "de.microsoft", + "de.lucene", + "el.microsoft", + "el.lucene", + "gu.microsoft", + "he.microsoft", + "hi.microsoft", + "hi.lucene", + "hu.microsoft", + "hu.lucene", + "is.microsoft", + "id.microsoft", + "id.lucene", + "ga.lucene", + "it.microsoft", + "it.lucene", + "ja.microsoft", + "ja.lucene", + "kn.microsoft", + "ko.microsoft", + "ko.lucene", + "lv.microsoft", + "lv.lucene", + "lt.microsoft", + "ml.microsoft", + "ms.microsoft", + "mr.microsoft", + "nb.microsoft", + "no.lucene", + "fa.lucene", + "pl.microsoft", + "pl.lucene", + "pt-BR.microsoft", + "pt-BR.lucene", + "pt-PT.microsoft", + "pt-PT.lucene", + "pa.microsoft", + "ro.microsoft", + "ro.lucene", + "ru.microsoft", + "ru.lucene", + "sr-cyrillic.microsoft", + "sr-latin.microsoft", + "sk.microsoft", + "sl.microsoft", + "es.microsoft", + "es.lucene", + "sv.microsoft", + "sv.lucene", + "ta.microsoft", + "te.microsoft", + "th.microsoft", + "th.lucene", + "tr.microsoft", + "tr.lucene", + "uk.microsoft", + "ur.microsoft", + "vi.microsoft", + "standard.lucene", + "standardasciifolding.lucene", + "keyword", + "pattern", + "simple", + "stop", + "whitespace" + ], + "x-ms-enum": { + "name": "AnalyzerName", + "modelAsString": false }, "description": "Defines the names of all text analyzers supported by Azure Search.", "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" - }, - "x-ms-external": true + } }, "TokenizerName": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "classic", + "edgeNGram", + "keyword_v2", + "letter", + "lowercase", + "microsoft_language_tokenizer", + "microsoft_language_stemming_tokenizer", + "nGram", + "path_hierarchy_v2", + "pattern", + "standard_v2", + "uax_url_email", + "whitespace" + ], + "x-ms-enum": { + "name": "TokenizerName", + "modelAsString": false }, "description": "Defines the names of all tokenizers supported by Azure Search.", "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" - }, - "x-ms-external": true + } }, "TokenFilterName": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "arabic_normalization", + "apostrophe", + "asciifolding", + "cjk_bigram", + "cjk_width", + "classic", + "common_grams", + "edgeNGram_v2", + "elision", + "german_normalization", + "hindi_normalization", + "indic_normalization", + "keyword_repeat", + "kstem", + "length", + "limit", + "lowercase", + "nGram_v2", + "persian_normalization", + "phonetic", + "porter_stem", + "reverse", + "scandinavian_normalization", + "scandinavian_folding", + "shingle", + "snowball", + "sorani_normalization", + "stemmer", + "stopwords", + "trim", + "truncate", + "unique", + "uppercase", + "word_delimiter" + ], + "x-ms-enum": { + "name": "TokenFilterName", + "modelAsString": false }, "description": "Defines the names of all token filters supported by Azure Search.", "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" - }, - "x-ms-external": true + } }, "CharFilterName": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "html_strip" + ], + "x-ms-enum": { + "name": "CharFilterName", + "modelAsString": false }, "description": "Defines the names of all character filters supported by Azure Search.", "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" - }, - "x-ms-external": true + } }, "RegexFlags": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "CANON_EQ", + "CASE_INSENSITIVE", + "COMMENTS", + "DOTALL", + "LITERAL", + "MULTILINE", + "UNICODE_CASE", + "UNIX_LINES" + ], + "x-ms-enum": { + "name": "RegexFlags", + "modelAsString": false }, "description": "Defines flags that can be combined to control how regular expressions are used in the pattern analyzer and pattern tokenizer.", "externalDocs": { "url": "http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#field_summary" - }, - "x-ms-external": true + } }, "DataType": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "Edm.String", + "Edm.Int32", + "Edm.Int64", + "Edm.Double", + "Edm.Boolean", + "Edm.DateTimeOffset", + "Edm.GeographyPoint" + ], + "x-ms-enum": { + "name": "DataType", + "modelAsString": false }, - "description": "Defines the data type of a field in an Azure Search index.", - "x-ms-external": true + "description": "Defines the data type of a field in an Azure Search index." }, "Analyzer": { "discriminator": "@odata.type", @@ -1469,14 +1705,15 @@ }, "name": { "type": "string", - "externalDocs":{ + "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" }, "description": "The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." } }, "required": [ - "@odata.type", "name" + "@odata.type", + "name" ], "description": "Abstract base class for analyzers." }, @@ -1495,14 +1732,16 @@ "tokenFilters": { "type": "array", "items": { - "$ref": "#/definitions/TokenFilterName" + "$ref": "#/definitions/TokenFilterName", + "x-nullable": false }, "description": "A list of token filters used to filter out or modify the tokens generated by a tokenizer. For example, you can specify a lowercase filter that converts all characters to lowercase. The filters are run in the order in which they are listed." }, "charFilters": { "type": "array", "items": { - "$ref": "#/definitions/CharFilterName" + "$ref": "#/definitions/CharFilterName", + "x-nullable": false }, "description": "A list of character filters used to prepare input text before it is processed by the tokenizer. For instance, they can replace certain characters or symbols. The filters are run in the order in which they are listed." } @@ -1605,14 +1844,15 @@ }, "name": { "type": "string", - "externalDocs":{ + "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" }, "description": "The name of the tokenizer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." } }, "required": [ - "@odata.type", "name" + "@odata.type", + "name" ], "description": "Abstract base class for tokenizers.", "externalDocs": { @@ -2122,14 +2362,15 @@ }, "name": { "type": "string", - "externalDocs":{ + "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" }, "description": "The name of the token filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." } }, "required": [ - "@odata.type", "name" + "@odata.type", + "name" ], "description": "Abstract base class for token filters.", "externalDocs": { @@ -2394,7 +2635,7 @@ }, "description": "The list of words to keep." }, - "keepWordsCase" : { + "keepWordsCase": { "x-ms-client-name": "LowerCaseKeepWords", "type": "boolean", "default": false, @@ -3083,14 +3324,15 @@ }, "name": { "type": "string", - "externalDocs":{ + "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" }, "description": "The name of the char filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." } }, "required": [ - "@odata.type", "name" + "@odata.type", + "name" ], "description": "Abstract base class for character filters.", "externalDocs": { @@ -3153,6 +3395,9 @@ "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source" }, + "x-ms-mutability": [ + "create" + ], "type": "string", "description": "The connection string for the datasource." } @@ -3249,13 +3494,18 @@ } }, "DataSourceType": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "azuresql", + "cosmosdb", + "azureblob", + "azuretable" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": false }, - "description": "Defines the type of an Azure Search datasource.", - "x-ms-external": true + "description": "Defines the type of an Azure Search datasource." }, "DataSource": { "properties": { @@ -3297,7 +3547,10 @@ } }, "required": [ - "name", "type", "credentials", "container" + "name", + "type", + "credentials", + "container" ], "description": "Represents a datasource definition in Azure Search, which can be used to configure an indexer." }, @@ -3479,7 +3732,9 @@ } }, "required": [ - "name", "dataSourceName", "targetIndexName" + "name", + "dataSourceName", + "targetIndexName" ], "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Indexer-operations" @@ -3607,7 +3862,9 @@ "inProgress", "reset" ], - "x-ms-enum": { "name": "IndexerExecutionStatus" }, + "x-ms-enum": { + "name": "IndexerExecutionStatus" + }, "x-nullable": false, "description": "Represents the status of an individual indexer execution." }, @@ -3641,29 +3898,60 @@ "error", "running" ], - "x-ms-enum": { "name": "IndexerStatus" }, + "x-ms-enum": { + "name": "IndexerStatus" + }, "x-nullable": false, "description": "Represents the overall indexer status." }, "Field": { "properties": { "name": { + "type": "string", + "description": "The name of the field.", "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" - }, - "type": "string", - "description": "The name of the field." + } }, "type": { "$ref": "#/definitions/DataType", - "description": "The data type of the field." + "description": "The data type of the field.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/supported-data-types" + } + }, + "key": { + "type": "boolean", + "default": false, + "description": "A value indicating whether the field uniquely identifies documents in the index. Exactly one field in each index must be chosen as the key field and it must be of type Edm.String. Key fields can be used to look up documents directly and update or delete specific documents. Default is false." + }, + "retrievable": { + "type": "boolean", + "default": true, + "description": "A value indicating whether the field can be returned in a search result. This is useful when you want to use a field (for example, margin) as a filter, sorting, or scoring mechanism but do not want the field to be visible to the end user. This property must be true for key fields. This property can be changed on existing fields. Enabling this property does not cause any increase in index storage requirements. All fields are retrievable by default." + }, + "searchable": { + "type": "boolean", + "description": "A value indicating whether the field is full-text search-able. This means it will undergo analysis such as word-breaking during indexing. If you set a searchable field to a value like \"sunny day\", internally it will be split into the individual tokens \"sunny\" and \"day\". This enables full-text searches for these terms. Fields of type Edm.String or Collection(Edm.String) are searchable by default. Fields of other types are not searchable. Note: searchable fields consume extra space in your index since Azure Search will store an additional tokenized version of the field value for full-text searches. If you want to save space in your index and you don't need a field to be included in searches, set searchable to false." + }, + "filterable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in $filter queries. filterable differs from searchable in how strings are handled. Fields of type Edm.String or Collection(Edm.String) that are filterable do not undergo word-breaking, so comparisons are for exact matches only. For example, if you set such a field f to \"sunny day\", $filter=f eq 'sunny' will find no matches, but $filter=f eq 'sunny day' will. All fields are filterable by default." + }, + "sortable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in $orderby expressions. By default Azure Search sorts results by score, but in many experiences users will want to sort by fields in the documents. Fields of type Collection(Edm.String) cannot be sortable. All other fields are sortable by default." + }, + "facetable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in facet queries. Typically used in a presentation of search results that includes hit count by category (for example, search for digital cameras and see hits by brand, by megapixels, by price, and so on). This option cannot be used with fields of type Edm.GeographyPoint. All other fields are facetable by default." }, "analyzer": { "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" }, "$ref": "#/definitions/AnalyzerName", - "description": "The name of the analyzer to use for the field at search time and indexing time. This option can be used only with searchable fields and it can't be set together with either searchAnalyzer or indexAnalyzer. Once the analyzer is chosen, it cannot be changed for the field." + "description": "The name of the language analyzer to use for the field. This option can be used only with searchable fields and it can't be set together with either searchAnalyzer or indexAnalyzer. Once the analyzer is chosen, it cannot be changed for the field." }, "searchAnalyzer": { "externalDocs": { @@ -3687,54 +3975,17 @@ "items": { "type": "string" }, - "description": "A list of synonym maps to apply in query expansion. Only one synonym map is allowed in the list currently. Synonym maps must be uploaded first to be referenced. This option can be used only with searchable fields." - }, - "key": { - "x-ms-client-name": "isKey", - "type": "boolean", - "x-nullable": false, - "description": "A value indicating whether the field is the key of the index. Valid only for string fields. Every index must have exactly one key field." - }, - "searchable": { - "x-ms-client-name": "isSearchable", - "type": "boolean", - "x-nullable": false, - "description": "A value indicating whether the field is included in full-text searches. Valid only for string or string collection fields. Default is false." - }, - "filterable": { - "x-ms-client-name": "isFilterable", - "type": "boolean", - "x-nullable": false, - "description": "A value indicating whether the field can be used in filter expressions. Default is false." - }, - "sortable": { - "x-ms-client-name": "isSortable", - "type": "boolean", - "x-nullable": false, - "description": "A value indicating whether the field can be used in orderby expressions. Not valid for string collection fields. Default is false." - }, - "facetable": { - "x-ms-client-name": "isFacetable", - "type": "boolean", - "x-nullable": false, - "description": "A value indicating whether it is possible to facet on this field. Not valid for geo-point fields. Default is false." - }, - "retrievable": { - "x-ms-client-name": "isRetrievable", - "type": "boolean", - "x-nullable": false, - "default": true, - "description": "A value indicating whether the field can be returned in a search result. Default is true." + "description": "A list of synonym map names that associates synonym maps with the field. Currently only one synonym map per field is supported. Assigning a synonym map to a field ensures that query terms targeting that field are expanded at query-time using the rules in the synonym map. This attribute can be changed on existing fields." } }, "required": [ - "name", "type" + "name", + "type" ], "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index" }, - "description": "Represents a field in an index definition in Azure Search, which describes the name, data type, and search behavior of a field.", - "x-ms-external": true + "description": "Represents a field in an index definition in Azure Search, which describes the name, data type, and search behavior of a field." }, "TextWeights": { "properties": { @@ -3774,7 +4025,9 @@ } }, "required": [ - "type", "fieldName", "boost" + "type", + "fieldName", + "boost" ], "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" @@ -3816,7 +4069,8 @@ } }, "required": [ - "referencePointParameter", "boostingDistance" + "referencePointParameter", + "boostingDistance" ], "description": "Provides parameter values to a distance scoring function." }, @@ -3896,7 +4150,8 @@ } }, "required": [ - "boostingRangeStart", "boostingRangeEnd" + "boostingRangeStart", + "boostingRangeEnd" ], "description": "Provides parameter values to a magnitude scoring function." }, @@ -3942,7 +4197,9 @@ "quadratic", "logarithmic" ], - "x-ms-enum": { "name": "ScoringFunctionInterpolation" }, + "x-ms-enum": { + "name": "ScoringFunctionInterpolation" + }, "description": "Defines the function used to interpolate score boosting across a range of documents." }, "ScoringProfile": { @@ -3988,7 +4245,9 @@ "maximum", "firstMatching" ], - "x-ms-enum": { "name": "ScoringFunctionAggregation" }, + "x-ms-enum": { + "name": "ScoringFunctionAggregation" + }, "description": "Defines the aggregation function used to combine the results of all the scoring functions in a scoring profile." }, "CorsOptions": { @@ -4040,7 +4299,9 @@ } }, "required": [ - "name", "searchMode", "sourceFields" + "name", + "searchMode", + "sourceFields" ], "description": "Defines how the Suggest API should apply to a group of fields in the index." }, @@ -4129,7 +4390,8 @@ } }, "required": [ - "name", "fields" + "name", + "fields" ], "description": "Represents an index definition in Azure Search, which describes the fields and search behavior of an index." }, @@ -4194,11 +4456,13 @@ } }, "required": [ - "name", "description", "skills" + "name", + "description", + "skills" ], "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-tutorial-blob" - }, + }, "description": "A list of cognitive skills." }, "CognitiveServices": { @@ -4254,7 +4518,7 @@ }, "context": { "type": "string", - "description": "Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content)." + "description": "Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content). The default is /document." }, "inputs": { "type": "array", @@ -4272,11 +4536,13 @@ } }, "required": [ - "@odata.type", "description", "context", "inputs", "outputs" + "@odata.type", + "inputs", + "outputs" ], "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-predefined-skills" - }, + }, "description": "Abstract base class for skills." }, "InputFieldMappingEntry": { @@ -4291,7 +4557,8 @@ } }, "required": [ - "name", "source" + "name", + "source" ], "description": "Input field mapping for a skill." }, @@ -4307,11 +4574,11 @@ } }, "required": [ - "name" + "name" ], "externalDocs": { "url": "https://docs.microsoft.com/rest/api/searchservice/naming-rules" - }, + }, "description": "Output field mapping for a skill." }, "KeyPhraseExtractionSkill": { @@ -4335,7 +4602,7 @@ }, "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-keyphrases" - }, + }, "description": "A skill that uses text analytics for key phrase extraction." }, "OcrSkill": { @@ -4355,7 +4622,7 @@ "description": "A value indicating which language code to use. Default is en." }, "detectOrientation": { - "x-ms-client-name": "ShouldDetectOrientation", + "x-ms-client-name": "ShouldDetectOrientation", "type": "boolean", "default": false, "description": "A value indicating to turn orientation detection on or not. Default is false." @@ -4363,7 +4630,7 @@ }, "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-ocr" - }, + }, "description": "A skill that extracts text from image files." }, "ImageAnalysisSkill": { @@ -4397,7 +4664,7 @@ }, "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-image-analysis" - }, + }, "description": "A skill that analyzes image files. It extracts a rich set of visual features based on the image content." }, "LanguageDetectionSkill": { @@ -4409,7 +4676,7 @@ ], "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-language-detection" - }, + }, "description": "A skill that detects the language of input text and reports a single language code for every document submitted on the request. The language code is paired with a score indicating the confidence of the analysis." }, "ShaperSkill": { @@ -4421,7 +4688,7 @@ ], "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-shaper" - }, + }, "description": "A skill for reshaping the outputs. It creates a complex type to support composite fields (also known as multipart fields)." }, "MergeSkill": { @@ -4445,7 +4712,7 @@ }, "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-textmerger" - }, + }, "description": "A skill for merging two or more strings into a single unified string, with an optional user-defined delimiter separating each component part." }, "EntityRecognitionSkill": { @@ -4508,7 +4775,7 @@ }, "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-named-entity-recognition" - }, + }, "description": "Text analytics named entity recognition. This skill is deprecated in favor of EntityRecognitionSkill.", "x-ms-external": true }, @@ -4527,7 +4794,7 @@ }, "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-sentiment" - }, + }, "description": "Text analytics positive-negative sentiment analysis, scored as a floating point value in a range of zero to 1." }, "SplitSkill": { @@ -4556,7 +4823,7 @@ }, "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-textsplit" - }, + }, "description": "A skill to split a string into chunks of text." }, "WebApiSkill": { @@ -4592,11 +4859,13 @@ } }, "required": [ - "uri", "httpHeaders", "httpMethod" - ], + "uri", + "httpHeaders", + "httpMethod" + ], "externalDocs": { "url": "https://docs.microsoft.com/azure/search/cognitive-search-custom-skill-interface" - }, + }, "description": "A skill that can call a Web API endpoint, allowing you to extend a skillset by having it call your custom code." }, "WebApiHttpHeaders": { @@ -4626,54 +4895,54 @@ }, "TextExtractionAlgorithm": { "type": "string", - "enum": [ - "printed", - "handwritten" - ], - "x-ms-enum": { - "name": "TextExtractionAlgorithm", - "modelAsString": false - }, + "enum": [ + "printed", + "handwritten" + ], + "x-ms-enum": { + "name": "TextExtractionAlgorithm", + "modelAsString": false + }, "description": "A value indicating which algorithm to use. Default is printed." }, "TextSplitMode": { "type": "string", - "enum": [ - "pages", - "sentences" - ], - "x-ms-enum": { - "name": "TextSplitMode", - "modelAsString": false - }, + "enum": [ + "pages", + "sentences" + ], + "x-ms-enum": { + "name": "TextSplitMode", + "modelAsString": false + }, "description": "A value indicating which split mode to perform." }, "VisualFeature": { "type": "string", - "enum": [ - "categories", - "tags", + "enum": [ + "categories", + "tags", "description", "faces", "imageType", "color" - ], - "x-ms-enum": { - "name": "VisualFeature", - "modelAsString": false - }, + ], + "x-ms-enum": { + "name": "VisualFeature", + "modelAsString": false + }, "description": "The strings indicating what visual feature types to return." }, "ImageDetail": { "type": "string", - "enum": [ - "celebrities", - "landmarks" - ], - "x-ms-enum": { - "name": "ImageDetail", - "modelAsString": false - }, + "enum": [ + "celebrities", + "landmarks" + ], + "x-ms-enum": { + "name": "ImageDetail", + "modelAsString": false + }, "description": "A string indicating which domain-specific details to return." }, "EntityCategory": { @@ -4704,76 +4973,161 @@ "x-ms-external": true }, "SentimentSkillLanguage": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "it", + "no", + "pl", + "pt-PT", + "ru", + "es", + "sv", + "tr" + ], + "x-ms-enum": { + "name": "SentimentSkillLanguage", + "modelAsString": false }, - "description": "The language codes supported for input text by SentimentSkill.", - "x-ms-external": true + "description": "The language codes supported for input text by SentimentSkill." }, "KeyPhraseExtractionSkillLanguage": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "da", + "nl", + "en", + "fi", + "fr", + "de", + "it", + "ja", + "ko", + "no", + "pl", + "pt-PT", + "pt-BR", + "ru", + "es", + "sv" + ], + "x-ms-enum": { + "name": "KeyPhraseExtractionSkillLanguage", + "modelAsString": false }, - "description": "The language codes supported for input text by KeyPhraseExtractionSkill.", - "x-ms-external": true + "description": "The language codes supported for input text by KeyPhraseExtractionSkill." }, "OcrSkillLanguage": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "zh-Hans", + "zh-Hant", + "cs", + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "hu", + "it", + "ja", + "ko", + "nb", + "pl", + "pt", + "ru", + "es", + "sv", + "tr", + "ar", + "ro", + "sr-Cyrl", + "sr-Latn", + "sk" + ], + "x-ms-enum": { + "name": "OcrSkillLanguage", + "modelAsString": false }, - "description": "The language codes supported for input by OcrSkill.", - "x-ms-external": true + "description": "The language codes supported for input by OcrSkill." }, "SplitSkillLanguage": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "da", + "de", + "en", + "es", + "fi", + "fr", + "it", + "ko", + "pt" + ], + "x-ms-enum": { + "name": "SplitSkillLanguage", + "modelAsString": false }, - "description": "The language codes supported for input text by SplitSkill.", - "x-ms-external": true + "description": "The language codes supported for input text by SplitSkill." }, "EntityRecognitionSkillLanguage": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "de", + "en", + "es", + "fr", + "it" + ], + "x-ms-enum": { + "name": "EntityRecognitionSkillLanguage", + "modelAsString": false }, - "description": "The language codes supported for input text by EntityRecognitionSkill.", - "x-ms-external": true + "description": "The language codes supported for input text by EntityRecognitionSkill." }, "NamedEntityRecognitionSkillLanguage": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "ar", + "cs", + "da", + "de", + "en", + "es", + "fi", + "fr", + "he", + "hu", + "it", + "ko", + "pt-br", + "pt" + ], + "x-ms-enum": { + "name": "NamedEntityRecognitionSkillLanguage", + "modelAsString": false }, - "description": "The language codes supported for input text by NamedEntityRecognitionSkill.", - "x-ms-external": true + "description": "The language codes supported for input text by NamedEntityRecognitionSkill." }, "ImageAnalysisSkillLanguage": { - "properties": { - "name": { - "type": "string" - } - }, - "description": "The language codes supported for input by ImageAnalysisSkill.", - "x-ms-external": true - }, - "SynonymMapFormat": { - "properties": { - "name": { - "type": "string" - } + "type": "string", + "enum": [ + "en", + "zh" + ], + "x-ms-enum": { + "name": "ImageAnalysisSkillLanguage", + "modelAsString": false }, - "description": "The format of the synonym map. Only the 'solr' format is currently supported.", - "x-ms-external": true + "description": "The language codes supported for input by ImageAnalysisSkill." }, "SynonymMap": { "properties": { @@ -4785,7 +5139,14 @@ "description": "The name of the synonym map." }, "format": { - "$ref": "#/definitions/SynonymMapFormat", + "type": "string", + "enum": [ + "solr" + ], + "x-ms-enum": { + "name": "SynonymMapFormat", + "modelAsString": false + }, "description": "The format of the synonym map. Only the 'solr' format is currently supported." }, "synonyms": { @@ -4802,7 +5163,9 @@ } }, "required": [ - "name", "format", "synonyms" + "name", + "format", + "synonyms" ], "description": "Represents a synonym map definition in Azure Search." }, @@ -4925,7 +5288,9 @@ "format": "uuid", "description": "The tracking ID sent with the request to help with debugging.", "x-ms-client-request-id": true, - "x-ms-parameter-grouping": { "name": "search-request-options" }, + "x-ms-parameter-grouping": { + "name": "search-request-options" + }, "x-ms-parameter-location": "method" }, "IfMatchParameter": { @@ -4934,7 +5299,9 @@ "required": false, "type": "string", "description": "Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.", - "x-ms-parameter-grouping": { "name": "access-condition" }, + "x-ms-parameter-grouping": { + "name": "access-condition" + }, "x-ms-parameter-location": "method" }, "IfNoneMatchParameter": { @@ -4943,7 +5310,9 @@ "required": false, "type": "string", "description": "Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.", - "x-ms-parameter-grouping": { "name": "access-condition" }, + "x-ms-parameter-grouping": { + "name": "access-condition" + }, "x-ms-parameter-location": "method" }, "PreferHeaderParameter": { @@ -4977,4 +5346,4 @@ "x-ms-parameter-location": "client" } } -} +} \ No newline at end of file diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md b/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md index f3f7c2a7a25e..928dae45bdd6 100644 --- a/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md +++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md @@ -103,18 +103,37 @@ csharp: output-folder: $(csharp-sdks-folder)/Search/DataPlane/Microsoft.Azure.Search.Service/Generated directive: - # TODO: remove this workaround once AutoRest fixes the incorrect code generation when using a parameterized host and both client and operation groups paths. + # TODO: Remove this workaround once AutoRest fixes the incorrect code generation when using a parameterized host and both client and operation groups paths. - from: source-file-csharp where: $ - transform: > - if ( $.includes("class DataSourcesOperations") || $.includes("class IndexersOperations") || + transform: >- + if ($.includes("class DataSourcesOperations") || $.includes("class IndexersOperations") || $.includes("class IndexesOperations") || $.includes("class SynonymMapsOperations") || - $.includes("class SkillsetsOperations") ) + $.includes("class SkillsetsOperations")) return $. - replace(/this.SearchServiceName/g,"Client.SearchServiceName"). - replace(/this.SearchDnsSuffix/g,"Client.SearchDnsSuffix"). - replace(/\"Client.SearchServiceName\"/g,"\"this.Client.SearchServiceName\""). - replace(/\"Client.SearchDnsSuffix\"/g,"\"this.Client.SearchDnsSuffix\""); + replace( /this.SearchServiceName/g, "Client.SearchServiceName" ). + replace( /this.SearchDnsSuffix/g, "Client.SearchDnsSuffix" ). + replace( /\"Client.SearchServiceName\"/g, "\"this.Client.SearchServiceName\"" ). + replace( /\"Client.SearchDnsSuffix\"/g, "\"this.Client.SearchDnsSuffix\"" ); return $; +#### + # The following regex are required to make the generated Field class conform to the needs of the custom implementation + # that we've had in the Azure Search .NET SDK since it was first released. We've decided to keep the custom behavior of + # Field just for .NET for the sake of backward compatibility, but for other languages the client behavior will conform + # to the REST API. + # + # To achieve this, we need to make the generated constructors internal, as well as some of the generated properties. + - from: source-file-csharp + where: $ + transform: >- + return $. + replace( /public (Field\(\))/g, "internal $1" ). + replace( /public (Field\(string name,)/g, "internal $1" ). + replace( /public (bool\? Key { get; set; })/g, "internal $1" ). + replace( /public (bool\? Retrievable { get; set; })/g, "internal $1" ). + replace( /public (bool\? Searchable { get; set; })/g, "internal $1" ). + replace( /public (bool\? Filterable { get; set; })/g, "internal $1" ). + replace( /public (bool\? Sortable { get; set; })/g, "internal $1" ). + replace( /public (bool\? Facetable { get; set; })/g, "internal $1" ); ``` diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json new file mode 100644 index 000000000000..2bc46fa6cb2d --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2017-04-01", + "subscriptionId": "Subscription", + "parameters": { + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" + }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" + }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { + "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" + }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourceGroups/resourcegroupid/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9659/networkrulesets/default", + "name": "default", + "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json new file mode 100644 index 000000000000..a9659eeb10fc --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-6019", + "resourceGroupName": "ResourceGroup", + "api-version": "2017-04-01", + "subscriptionId": "Subscription" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-9659/networkrulesets/default", + "name": "default", + "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet", + "properties": { + "defaultAction": "Deny", + "virtualNetworkRules": [ + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2" }, + "ignoreMissingVnetServiceEndpoint": true + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3" }, + "ignoreMissingVnetServiceEndpoint": false + }, + { + "subnet": { "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6" }, + "ignoreMissingVnetServiceEndpoint": false + } + ], + "ipRules": [ + { + "ipMask": "1.1.1.1", + "action": "Allow" + }, + { + "ipMask": "1.1.1.2", + "action": "Allow" + }, + { + "ipMask": "1.1.1.3", + "action": "Allow" + }, + { + "ipMask": "1.1.1.4", + "action": "Allow" + }, + { + "ipMask": "1.1.1.5", + "action": "Allow" + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json index ef9433dff693..4759d4311bbc 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json @@ -2983,7 +2983,7 @@ } }, "default": { - "description": "Eventhub error response describing why the operation failed.", + "description": "ServiceBus error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -2993,6 +2993,97 @@ "nextLinkName": "nextLink" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default": { + "put": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "description": "Create or update NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NamespaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace IpFilterRule." + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" + } + }, + "operationId": "Namespaces_GetNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NamespaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } } }, "definitions": { @@ -4408,6 +4499,96 @@ } }, "description": "The result of the List migrationConfigurations operation." + }, + "Subnet": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "required": [ + "id" + ], + "description": "Properties supplied for Subnet" + }, + "NWRuleSetIpRules": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + }, + "default": "Allow" + } + }, + "description": "Description of NetWorkRuleSet - IpRules resource." + }, + "NWRuleSetVirtualNetworkRules": { + "x-ms-client-flatten": true, + "properties": { + "subnet": { + "$ref": "#/definitions/Subnet", + "description": "Subnet properties" + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Value that indicates whether to ignore missing VNet Service Endpoint" + } + }, + "description": "Description of VirtualNetworkRules - NetworkRules resource." + }, + "NetworkRuleSet": { + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" + }, + "description": "List VirtualNetwork Rules" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetIpRules" + }, + "description": "List of IpRules" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Description of NetworkRuleSet resource." } }, "parameters": { diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListOperations.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Operations_List.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListOperations.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Operations_List.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/CheckNameAvailability.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_CheckNameAvailability.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/CheckNameAvailability.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_CheckNameAvailability.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_CreateOrUpdate.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/CreateOrUpdate.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_CreateOrUpdate.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Delete.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Delete.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Delete.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Get.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Get.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Get.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListByResourceGroup.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_ListByResourceGroup.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListByResourceGroup.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_ListByResourceGroup.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListBySubscription.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_ListBySubscription.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListBySubscription.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_ListBySubscription.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListKeys.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_ListKeys.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListKeys.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_ListKeys.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/RegenerateKey.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_RegenerateKey.json similarity index 81% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/RegenerateKey.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_RegenerateKey.json index e38114455fb5..54492c01d831 100644 --- a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/RegenerateKey.json +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_RegenerateKey.json @@ -13,8 +13,8 @@ "body": { "primaryKey": "primaryAccessKey", "secondaryKey": "secondaryAccessKey", - "primaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=primaryAccessKey;", - "secondaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=secondaryAccessKey;" + "primaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=primaryAccessKey;Version=1.0;", + "secondaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=secondaryAccessKey;Version=1.0;" }, "headers": { "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult..." diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Restart.json new file mode 100644 index 000000000000..e3f208dab178 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Restart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult..." + } + }, + "204": {} + } +} \ No newline at end of file diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Update.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Update.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/SignalR_Update.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListUsagesByLocation.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Usages_List.json similarity index 100% rename from specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/ListUsagesByLocation.json rename to specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/examples/Usages_List.json diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/signalr.json index e0f3ff03dc69..1e86cc83ffd0 100644 --- a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/signalr.json +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2018-10-01/signalr.json @@ -40,8 +40,8 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ListOperations": { - "$ref": "./examples/ListOperations.json" + "Operations_List": { + "$ref": "./examples/Operations_List.json" } } } @@ -86,8 +86,8 @@ } }, "x-ms-examples": { - "CheckNameAvailability": { - "$ref": "./examples/CheckNameAvailability.json" + "SignalR_CheckNameAvailability": { + "$ref": "./examples/SignalR_CheckNameAvailability.json" } } } @@ -119,8 +119,8 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ListBySubscription": { - "$ref": "./examples/ListBySubscription.json" + "SignalR_ListBySubscription": { + "$ref": "./examples/SignalR_ListBySubscription.json" } } } @@ -155,8 +155,8 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ListByResourceGroup": { - "$ref": "./examples/ListByResourceGroup.json" + "SignalR_ListByResourceGroup": { + "$ref": "./examples/SignalR_ListByResourceGroup.json" } } } @@ -191,8 +191,8 @@ } }, "x-ms-examples": { - "ListKeys": { - "$ref": "./examples/ListKeys.json" + "SignalR_ListKeys": { + "$ref": "./examples/SignalR_ListKeys.json" } } } @@ -237,13 +237,13 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "RegenerateKey": { - "$ref": "./examples/RegenerateKey.json" + "SignalR_RegenerateKey": { + "$ref": "./examples/SignalR_RegenerateKey.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}": { "get": { "tags": [ "SignalR" @@ -266,15 +266,15 @@ ], "responses": { "200": { - "description": "Success. The response describe the corresponding SignalR service.", + "description": "Success. The response describes the corresponding SignalR service.", "schema": { "$ref": "#/definitions/SignalRResource" } } }, "x-ms-examples": { - "Get": { - "$ref": "./examples/Get.json" + "SignalR_Get": { + "$ref": "./examples/SignalR_Get.json" } } }, @@ -315,13 +315,13 @@ } }, "202": { - "description": "Accepted. The response indicates the exiting SignalR service is now updating and contains a Location header to query the operation result.." + "description": "Accepted. The response indicates the exiting SignalR service is now updating and contains a Location header to query the operation result.." } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "CreateOrUpdate": { - "$ref": "./examples/CreateOrUpdate.json" + "SignalR_CreateOrUpdate": { + "$ref": "./examples/SignalR_CreateOrUpdate.json" } } }, @@ -355,8 +355,8 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete": { - "$ref": "./examples/Delete.json" + "SignalR_Delete": { + "$ref": "./examples/SignalR_Delete.json" } } }, @@ -402,8 +402,45 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Update": { - "$ref": "./examples/Update.json" + "SignalR_Update": { + "$ref": "./examples/SignalR_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Operation to restart a SignalR service.", + "operationId": "SignalR_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_Restart": { + "$ref": "./examples/SignalR_Restart.json" } } } @@ -442,8 +479,8 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ListUsagesByLocation": { - "$ref": "./examples/ListUsagesByLocation.json" + "Usages_List": { + "$ref": "./examples/Usages_List.json" } } } @@ -751,7 +788,7 @@ "type": "string" }, "tier": { - "description": "Optional tier of this particular SKU. `Basic` is deprecated, use `Standard` instead for Basic tier.", + "description": "Optional tier of this particular SKU. `Basic` is deprecated, use `Standard` instead.", "enum": [ "Free", "Basic", @@ -820,13 +857,13 @@ }, "publicPort": { "format": "int32", - "description": "The publicly accessibly port of the SignalR service which is designed for browser/client side usage.", + "description": "The publicly accessible port of the SignalR service which is designed for browser/client side usage.", "type": "integer", "readOnly": true }, "serverPort": { "format": "int32", - "description": "The publicly accessibly port of the SignalR service which is designed for customer server side usage.", + "description": "The publicly accessible port of the SignalR service which is designed for customer server side usage.", "type": "integer", "readOnly": true }, diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index 772e6929879b..45715e5c1769 100644 --- a/specification/signalr/resource-manager/readme.md +++ b/specification/signalr/resource-manager/readme.md @@ -29,6 +29,20 @@ openapi-type: arm tag: package-2018-10-01 ``` +### Suppression + +``` yaml +directive: + - suppress: EnumInsteadOfBoolean + from: signalr.json + where: $.definitions.NameAvailability.properties.nameAvailable + reason: The boolean properties 'nameAvailable' is actually boolean value defined by Azure API spec + - suppress: EnumInsteadOfBoolean + from: signalr.json + where: $.definitions.Dimension.properties.toBeExportedForShoebox + reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics +``` + ### Tag: package-2018-10-01 These settings apply only when `--tag=package-2018-10-01` is specified on the command line. diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/blob.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/blob.json index a0550f4e456c..34ece04573d8 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/blob.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/blob.json @@ -181,6 +181,12 @@ "schema": { "$ref": "#/definitions/BlobContainer" } + }, + "200": { + "description": "OK -- The Container is already created.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } } } }, diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/BlobContainersPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/BlobContainersPut.json index 0c8df4343c55..90491ef9b7de 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/BlobContainersPut.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/BlobContainersPut.json @@ -15,6 +15,13 @@ "name": "container6185", "type": "Microsoft.Storage/storageAccounts/blobServices/containers" } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers" + } } } } \ No newline at end of file diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountGetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountGetManagementPolicy.json index 728c2c7fb188..61ac5bc15cc7 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountGetManagementPolicy.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountGetManagementPolicy.json @@ -15,9 +15,9 @@ "type": "Microsoft.Storage/storageAccounts/managementPolicies", "properties": { "policy": { - "version": "0.5", "rules": [ { + "enabled": true, "name": "olcmtest", "type": "Lifecycle", "definition": { diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountRevokeUserDelegationKeys.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountRevokeUserDelegationKeys.json new file mode 100644 index 000000000000..a25d564a2006 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountRevokeUserDelegationKeys.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2018-11-01" + }, + "responses": { + "200": { + } + } +} \ No newline at end of file diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountSetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountSetManagementPolicy.json index 75128fa29150..a762ef8ffc62 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountSetManagementPolicy.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/examples/StorageAccountSetManagementPolicy.json @@ -9,9 +9,9 @@ "properties": { "properties": { "policy": { - "version": "0.5", "rules": [ { + "enabled": true, "name": "olcmtest", "type": "Lifecycle", "definition": { @@ -56,9 +56,9 @@ "type": "Microsoft.Storage/storageAccounts/managementPolicies", "properties": { "policy": { - "version": "0.5", "rules": [ { + "enabled": true, "name": "olcmtest", "type": "Lifecycle", "definition": { diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json index 83c4ae164a69..7cbfca724e64 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json @@ -725,6 +725,45 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RevokeUserDelegationKeys", + "description": "Revoke user delegation keys.", + "x-ms-examples": { + "StorageAccountRevokeUserDelegationKeys": { + "$ref": "./examples/StorageAccountRevokeUserDelegationKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3 + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- revoke user delegation keys succeeded." + } + } + } } }, "definitions": {