diff --git a/.travis.yml b/.travis.yml
index bf0a29b1e3c3..cab5e67c64bd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,34 +1,37 @@
language: node_js
node_js:
- - "8"
+ - '8'
services:
- docker
env:
matrix:
- - MODE=syntax
- - MODE=python
- # - MODE=node
- - MODE=ruby
- - MODE=semantic PR_ONLY=true
- # - MODE=linter PR_ONLY=false Disabling to save travis-ci resource for now
- - MODE=semantic PR_ONLY=false
- - MODE=model PR_ONLY=false
- - MODE=linter PR_ONLY=true
- - MODE=model PR_ONLY=true
- - MODE=BreakingChange PR_ONLY=true
- - MODE=azurebot PR_ONLY=true
- global:
- secure: n7Ptb5x7Zdq/7na2L68JlrRPbl/xWtiFQncO7fsrSVuVGI4Mhjj1LD2k07qWAdFPM1PaZYvCRWc3YwbXr1NTOOn485r6qcLUjpN9TICP0ErGcEA9SzctipfbFP1IV4aCh23WSaopMueBki52KfskaGcZ2ox9pvI2LCysCp7q4WwF/0vArLYf48FeZuscWHVaLsU4z8ZMFPT9yHg+RQoqPeBnaR/ZGtG96NZolT+VAlP445geb0qn8wWAuSl4bR1JQV2eA3MwdWu/iVkepBeKTN7d81l3yjWzTvFtP/JRJClWBNQbOMjAed3/2Tr2lGgyRUM6Uwp4KvfRmbX3Xrlggen1AO/YAb2mJDs+HARPnhZXIOtDjgft/ethVeLTTBUsbNFGUN2lcrJMw9dkFi+ai3XefatENJbULqWx8Xb+wMD1b0TrI6sZZpdC8vYHnM/DoqiEh5+h3okkSmQcjPF4K9js294G790PKf4u2CQdur41qh4Ze4IzbvulVsGMON+O93vA6ZRK1sTHC5VUTs2iMhCnf6LtMN59kBq1T2MJ8ndXRpGlFEn2wDTjJSpSr0k0sjoG5i+bIFhbqVF8xegBb/PH4H9/i1ifIypNNp0FGdz4o2cFsYrcUKFsx1C/kFJ6rC809r0odDt32hGSOkOCziTwFHusbR5Nwf0RjOWSgvc=
+ - MODE=syntax
+ - MODE=python
+ - MODE=node
+ - MODE=ruby
+ - MODE=java
+ - MODE=go
+ - MODE=semantic PR_ONLY=true
+ - MODE=semantic PR_ONLY=false
+ - MODE=model PR_ONLY=false
+ - MODE=linter PR_ONLY=true
+ - MODE=model PR_ONLY=true
+ - MODE=BreakingChange PR_ONLY=true
+ - MODE=azurebot PR_ONLY=true
+ - MODE=liveValidation PR_ONLY=true
matrix:
fast_finish: true
allow_failures:
- - env: MODE=linter PR_ONLY=false
- env: MODE=semantic PR_ONLY=false
- env: MODE=model PR_ONLY=false
- env: MODE=linter PR_ONLY=true
- env: MODE=model PR_ONLY=true
- env: MODE=BreakingChange PR_ONLY=true
- env: MODE=azurebot PR_ONLY=true
+ - env: MODE=liveValidation PR_ONLY=true
+ - env: MODE=java
+ - env: MODE=go
+ - env: MODE=node
before_install:
- docker pull lmazuel/swagger-to-sdk
- python -c "import os; print('\n'.join(v for v in os.environ.keys() if v.startswith('TRAVIS')))" > /tmp/env_file
@@ -43,12 +46,51 @@ install:
- npm install
script:
- DOCKER_CMD="docker run --rm --env-file /tmp/env_file -e GH_TOKEN -v $PWD:/git-restapi/ lmazuel/swagger-to-sdk"
- - if [[ $MODE == 'python' ]]; then $DOCKER_CMD AutorestCI/azure-sdk-for-python --pr-repo-id Azure/azure-sdk-for-python -o master -v; fi
- - if [[ $MODE == 'node' ]]; then $DOCKER_CMD AutorestCI/azure-sdk-for-node --pr-repo-id Azure/azure-sdk-for-node -o master -v; fi
- - if [[ $MODE == 'ruby' ]]; then $DOCKER_CMD AutorestCI/azure-sdk-for-ruby --pr-repo-id Azure/azure-sdk-for-ruby -o master -v; fi
- - if [[ $MODE == 'syntax' ]]; then npm test -- test/syntax.js; fi
- - if [[ $MODE == 'linter' ]]; then npm test -- test/linter.js; fi
- - if [[ $MODE == 'semantic' ]]; then npm test -- test/semantic.js; fi
- - if [[ $MODE == 'model' ]]; then npm test -- test/model.js; fi
- - if [[ $MODE == 'BreakingChange' ]]; then node -- scripts/breaking-change.js; fi
- - if [[ $MODE == 'azurebot' ]]; then node scripts/momentOfTruth.js; fi
+ - >-
+ if [[ $MODE == 'python' ]]; then
+ $DOCKER_CMD Azure/azure-sdk-for-python -v
+ fi
+ - >-
+ if [[ $MODE == 'node' ]]; then
+ $DOCKER_CMD Azure/azure-sdk-for-node -v
+ fi
+ - >-
+ if [[ $MODE == 'ruby' ]]; then
+ $DOCKER_CMD Azure/azure-sdk-for-ruby -v
+ fi
+ - >-
+ if [[ $MODE == 'go' ]]; then
+ $DOCKER_CMD Azure/azure-sdk-for-go -o latest -v
+ fi
+ - >-
+ if [[ $MODE == 'java' ]]; then
+ $DOCKER_CMD Azure/azure-libraries-for-java -v
+ fi
+ - >-
+ if [[ $MODE == 'syntax' ]]; then
+ npm test -- test/syntax.js
+ fi
+ - >-
+ if [[ $MODE == 'linter' ]]; then
+ npm test -- test/linter.js
+ fi
+ - >-
+ if [[ $MODE == 'semantic' ]]; then
+ npm test -- test/semantic.js
+ fi
+ - >-
+ if [[ $MODE == 'model' ]]; then
+ npm test -- test/model.js
+ fi
+ - >-
+ if [[ $MODE == 'BreakingChange' ]]; then
+ node -- scripts/breaking-change.js
+ fi
+ - >-
+ if [[ $MODE == 'azurebot' ]]; then
+ node scripts/momentOfTruth.js
+ fi
+ - >-
+ if [[ $MODE == 'liveValidation' ]]; then
+ node -- scripts/liveValidation.js;
+ fi
diff --git a/README.md b/README.md
index 480106ca32bf..328084f1bdef 100644
--- a/README.md
+++ b/README.md
@@ -33,18 +33,18 @@ The structure of the directory should strictly follow these rules:
1. **Profile**: The profile holder contains the profiles' definition MD files. these files will contain information and references to the snapshots of the RPs' Resource types or Dataplane API versions that represent a specific profile.
-2. **Specification**: This folder the is root folder for all Specs (Management and Dataplane) related docs.
+2. **Specification**: This folder the is root folder for all Specs (Management and Dataplane) related docs.
-3. **** Folders - each RP will have a seperate folder
+3. **** Folders - each RP will have a separate folder
-4. **'resource-manager' and 'data-plane' Folders**: the RPs can put specs in one of two categories: `resource-manager` (for ARM resources) and `data-plane` (for everything else) . The autorest configuration file (`readme.md`) for the RP should be inside this folder
+4. **'resource-manager' and 'data-plane' Folders**: the RPs can put specs in one of two categories: `resource-manager` (for ARM resources) and `data-plane` (for everything else) . The autorest configuration file (`readme.md`) for the RP should be inside this folder
-4. **API versions**: this folder will be the direct child of the category folder. there will be one such folder per resource type or dataplane service version. This folder will contain the OpenAPI validation Specs (Swaggers previously) and the examples folder.
+4. **API versions**: this folder will be the direct child of the category folder. there will be one such folder per resource type or dataplane service version. This folder will contain the OpenAPI validation Specs (Swaggers previously) and the examples folder.
-6. **Examples**: the example folder will contain the x-ms-examples files. it will reside under the APIs or Resources' version folders as different APIs or Resource types version can have different examples.
+6. **Examples**: the example folder will contain the x-ms-examples files. it will reside under the APIs or Resources' version folders as different APIs or Resource types version can have different examples.
-7. **Notes**:
- - folder names should be singular (ie, 'profile' not 'profiles' ) -- this removes ambiguity for some non-english speakers.
+7. **Notes**:
+ - folder names should be singular (ie, 'profile' not 'profiles' ) -- this removes ambiguity for some non-english speakers.
- generic folder names should be lower-case
- proper-name/product name/namespace folders can be PascalCased (ie, "KeyVault")
- files are whatever case you think is good for your soul.
diff --git a/documentation/creating-swagger.md b/documentation/creating-swagger.md
index 1c0f2d8537cc..9117ddea7d80 100644
--- a/documentation/creating-swagger.md
+++ b/documentation/creating-swagger.md
@@ -414,6 +414,35 @@ Please note, that the use of "x-ms-paths" should be minimized to the above scena
The request body and response definitions become simple model types in the generated code. The models include
basic validation methods, but are generally stateless serialization definitions.
+### Understanding the importance of "type" keyword while definining model types.
+"Type-specific" keywords such as properties, items, minLength, etc. do not enforce a type on the schema. It works the other way around – when an instance is validated against a schema, these keywords only apply when the instance is of the corresponding type, otherwise they are ignored. Here's the relevant part of the [JSON Schema Validation](https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-4.1) spec:
+
+> 4.1. Keywords and instance primitive types
+Some validation keywords only apply to one or more primitive types. When the primitive type of the instance cannot be validated by a given keyword, validation for this keyword and instance SHOULD succeed.
+
+For example, consider this schema:
+
+```yaml
+definitions:
+ Something:
+ properties:
+ id:
+ type: integer
+ required: [id]
+ minLength: 8
+```
+It's a valid schema, even though it combines object-specific keywords properties and required and string-specific keyword minLength. This schema means:
+- If the instance is an object, it must have an integer property named id. For example, `{"id": 4}` and `{"id": -1, "foo": "bar"}` are valid, but `{}` and `{"id": "ACB123"}` are not.
+- If the instance is a string, it must contain at least 8 characters. `"Hello, world!"` is valid, but `""` and `abc` are not.
+- Any instances of other types are valid - `true`, `false`, `-1.234`, `[]`, `[1, 2, 3]`, `[1, "foo", true]`, etc.
+(Except `null` - OpenAPI 2.0 does not have the `null` type and does not support `null` except in extension properties. OpenAPI 3.0 supports the `null` value for schemas with nullable: true.)
+
+If there are tools that infer the `type` from other keywords (for example, handle schemas with no `type` but with `properties` as always objects), then these tools are not exactly following the OpenAPI Specification and JSON Schema.
+
+> Bottom line: If a schema must always be an object, add `"type": "object"` explicitly. Otherwise you might get unexpected results.
+
+**Credits** - Stack Overflow [link](https://stackoverflow.com/questions/47374980/schema-object-without-a-type-attribute-in-swagger-2-0).
+
### Model Inheritance
Swagger schema allows for specifying that one type is `allOf` other types, meaning that the entire specification of
the referenced schema applies is included in the new schema. By convention, if a schema has an 'allOf' that references
diff --git a/package.json b/package.json
index d9293640fd08..8358ec9850a6 100644
--- a/package.json
+++ b/package.json
@@ -10,19 +10,19 @@
"description": "Tests for Azure REST API Specifications",
"license": "MIT",
"devDependencies": {
+ "@microsoft.azure/async-io": "^1.0.21",
+ "@microsoft.azure/literate": "^1.0.21",
+ "@microsoft.azure/polyfill": "^1.0.17",
"fs-extra": "^3.0.1",
- "mocha": "*",
"glob": "^5.0.14",
+ "js-yaml": "^3.8.2",
"json-schema-ref-parser": "^3.1.2",
- "request": "^2.61.0",
- "z-schema": "^3.16.1",
+ "mocha": "*",
+ "oad": "^0.1.9",
"oav": "^0.4.1",
- "js-yaml": "^3.8.2",
- "azure-storage": "^2.1.0",
- "@microsoft.azure/literate": "^1.0.21",
- "@microsoft.azure/async-io": "^1.0.21",
- "@microsoft.azure/polyfill": "^1.0.17",
- "oad": "^0.1.9"
+ "request": "^2.61.0",
+ "request-promise-native": "^1.0.5",
+ "z-schema": "^3.16.1"
},
"homepage": "https://github.com/azure/azure-rest-api-specs",
"repository": {
diff --git a/scripts/breaking-change.js b/scripts/breaking-change.js
index d99eb98d6aaf..286bff8f146a 100644
--- a/scripts/breaking-change.js
+++ b/scripts/breaking-change.js
@@ -10,7 +10,7 @@ var utils = require('../test/util/utils'),
execSync = require('child_process').execSync,
oad = require('oad');
- // This map is used to store the mapping between files resolved and stored location
+// This map is used to store the mapping between files resolved and stored location
var resolvedMapForNewSpecs = {};
let outputFolder = path.join(os.tmpdir(), "resolved");
// Used to enable running script outside TravisCI for debugging
@@ -46,6 +46,7 @@ function runOad(oldSpec, newSpec) {
return Promise.resolve();
}).catch(err => {
console.log(err);
+ process.exitCode = 1;
});
}
@@ -71,7 +72,7 @@ function processViaAutoRest(swaggerPath) {
let result = execSync(`${autoRestCmd}`, { encoding: 'utf8', maxBuffer: 1024 * 1024 * 64 });
resolvedMapForNewSpecs[outputFileNameWithExt] = path.join(outputFolder, outputFileNameWithExt);
} catch (err) {
- // Do not update map in case of errors
+ // Do not update map in case of errors.
}
return Promise.resolve();
diff --git a/scripts/liveValidation.js b/scripts/liveValidation.js
new file mode 100644
index 000000000000..4b472adc3155
--- /dev/null
+++ b/scripts/liveValidation.js
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License in the project root for license information.
+
+'use strict';
+
+const utils = require('../test/util/utils'),
+ request = require('request-promise-native'),
+ zlib = require('zlib');
+
+const repoUrl = utils.getSourceRepoUrl(),
+ validationService = "https://app.azure-devex-tools.com/api/validations",
+ branch = utils.getSourceBranch(),
+ processingDelay = 20,
+ isRunningInTravisCI = process.env.MODE === 'liveValidation' && process.env.PR_ONLY === 'true',
+ specsPaths = utils.getFilesChangedInPR(),
+ regex = /resource-manager[\\|\/](.*?)[\\|\/].*?[\\|\/](.*?)[\\|\/]/,
+ successThreshold = 90,
+ validationModels = new Map();
+
+let durationInSeconds = parseInt(process.env.LIVE_VALIDATION_DURATION_IN_MINUTES) * 60;
+if (isNaN(durationInSeconds)) {
+ durationInSeconds = 180;
+}
+
+async function runScript() {
+ // See whether script is in Travis CI context
+ console.log(`isRunningInTraviSCI: ${isRunningInTravisCI}`);
+ for (const specPath of specsPaths) {
+ let matchResult = specPath.match(regex);
+
+ if (matchResult === null) {
+ continue;
+ }
+
+ let resourceProvider = matchResult[1];
+ let apiVersion = matchResult[2];
+
+ if (!validationModels.has(resourceProvider)) {
+ validationModels.set(resourceProvider, new Set());
+ }
+
+ validationModels.get(resourceProvider).add(apiVersion);
+ }
+
+ if (validationModels.size === 0) {
+ console.log("Change didn't affect any swagger specs. No validation to be done.");
+ return;
+ } else if (validationModels.size > 1) {
+ console.log("WARNING: Multiple resource provider have changes, only the first one will be validated.");
+ }
+
+ let resourceProvider = validationModels.keys().next().value;
+
+ if (validationModels.get(resourceProvider).size > 1) {
+ console.log("WARNING: Multiple api versions have changes, only the first one will be validated.");
+ }
+
+ let apiVersion = validationModels.get(resourceProvider).values().next().value;
+
+ console.log(`Changes detected in a swagger spec.`);
+ console.log(`RP is: ${resourceProvider}`);
+ console.log(`ApiVersion is: ${apiVersion}`);
+ console.log(`Source repo is: ${repoUrl}`);
+ console.log(`Branch is: ${branch}`);
+
+ console.log(`Making the request to the validation service...`);
+
+ let response = await request.post(validationService).form({
+ repoUrl: repoUrl,
+ branch: branch,
+ resourceProvider: resourceProvider,
+ apiVersion: apiVersion,
+ duration: durationInSeconds
+ });
+ let validationId = JSON.parse(response).validationId;
+
+ let validationResultUrl = `${validationService}/${validationId}`;
+ console.log(`Request done, results will be available in ${durationInSeconds} seconds...`);
+
+ await timeout((durationInSeconds + processingDelay) * 1000);
+ let validationResult = JSON.parse(await request(validationResultUrl));
+
+ console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+ console.log(`Results of validation ${validationId}:`);
+
+ let analyticsUrl = await createAnalyticsLink(validationId);
+
+ let failingOperations = [];
+ let noTrafficOperations = [];
+ for (const [operationId, operationResult] of Object.entries(validationResult.operationResults)) {
+
+ if (operationResult.operationCount === 0) {
+ noTrafficOperations.push(operationResult.operationId)
+ } else if (operationResult.successRate < successThreshold) {
+ failingOperations.push(operationResult.operationId);
+ }
+
+ console.log(JSON.stringify(operationResult));
+ }
+
+ console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+ if (validationResult.totalOperationCount === 0) {
+ console.log(`There was no traffic detected for the provided RP and API version:${resourceProvider}-${apiVersion}. Please make sure there is traffic so the changes can be validated.`);
+ process.exitCode = 1;
+ } else if (failingOperations.length > 0 || noTrafficOperations.length > 0) {
+ console.log(`The changes in the specs introduced by this PR potentially do not reflect the Service API.`);
+
+ console.log(`Active traffic and success rate > ${successThreshold}% FOR EACH OPERATION is required. Please review the following operations before moving forward.`);
+ console.log(`SUCCESS RATE < ${successThreshold}%:
+ ${JSON.stringify(failingOperations)}`);
+
+ if (noTrafficOperations.length > 0) {
+ console.log(`NO TRAFFIC:
+ ${JSON.stringify(noTrafficOperations)}
+ `);
+ }
+ console.log(`To inspect the individual failures go to the url (add '| where customDimensions.operationId == ""' to filter for individual operations.):
+ ${analyticsUrl}
+ `);
+ process.exitCode = 1;
+ } else {
+ console.log(`SUCCESS RATE: ${validationResult.successRate} > ${successThreshold}. You can move forward.`);
+ }
+}
+
+function timeout(ms) {
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
+
+function createAnalyticsLink(validationId) {
+ return new Promise(resolve => {
+ const query = `
+traces
+| where customDimensions.validationId == "${validationId}"
+| where customDimensions.logType == "data"
+| where customDimensions.isSuccess == "false"
+| project timestamp, message, customDimensions
+`;
+
+ zlib.deflate(query, (err, buffer) => {
+ if (!err) {
+ let queryParams = buffer.toString('base64');
+ let analyticsLink = `https://analytics.applicationinsights.io/subscriptions/6b085460-5f21-477e-ba44-1035046e9101/resourcegroups/openapi-platform-logs/components/openapiAI?q=${queryParams}&apptype=Node.JS×pan=P1D`;
+ resolve(analyticsLink);
+ }
+ });
+ });
+}
+
+runScript().then(success => {
+ console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+ console.log(`Thanks for using live validation.`);
+ console.log(`If you encounter any issue(s), please open issue(s) at https://github.com/Azure/openapi-platform/issues .`);
+}).catch(err => {
+ console.log(err);
+ process.exitCode = 1;
+});
diff --git a/scripts/momentOfTruth.js b/scripts/momentOfTruth.js
index 2fecae05cbbf..9fe2ef4aa00a 100644
--- a/scripts/momentOfTruth.js
+++ b/scripts/momentOfTruth.js
@@ -23,14 +23,9 @@ var filename = `${pullRequestNumber}_${utils.getTimeStamp()}.json`;
var logFilepath = path.join(getLogDir(), filename);
var finalResult = {};
finalResult["pullRequest"] = pullRequestNumber;
-finalResult["repositoryUrl"] = getRepository();
+finalResult["repositoryUrl"] = utils.getRepoUrl();
finalResult["files"] = {};
-// Retrieves Git Repository Url
-function getRepository() {
- return "https://github.com/" + utils.getRepoName();
-}
-
// Creates and returns path to the logging directory
function getLogDir() {
let logDir = path.join(__dirname, '../', 'output');
@@ -68,7 +63,7 @@ async function getLinterResult(swaggerPath) {
}
let cmd = linterCmd + swaggerPath;
console.log(`Executing: ${cmd}`);
- const {err, stdout, stderr } = await new Promise(res => exec(cmd, { encoding: 'utf8', maxBuffer: 1024 * 1024 * 64 },
+ const { err, stdout, stderr } = await new Promise(res => exec(cmd, { encoding: 'utf8', maxBuffer: 1024 * 1024 * 64 },
(err, stdout, stderr) => res({ err: err, stdout: stdout, stderr: stderr })));
let resultString = stderr;
@@ -94,7 +89,7 @@ async function getLinterResult(swaggerPath) {
async function uploadToAzureStorage(json) {
console.log(`Uploading data...`);
- const {error, response, body } = await new Promise(res => request({
+ const { error, response, body } = await new Promise(res => request({
url: "http://az-bot.azurewebsites.net/process",
method: "POST",
json: true,
@@ -125,7 +120,7 @@ async function updateResult(spec, errors, beforeOrAfter) {
//main function
async function runScript() {
- // Useful when debugging a test for a particular swagger.
+ // Useful when debugging a test for a particular swagger.
// Just update the regex. That will return an array of filtered items.
// configsToProcess = ['/Users/vishrut/git-repos/azure-rest-api-specs/specification/storage/resource-manager/readme.md',
// '/Users/vishrut/git-repos/azure-rest-api-specs/specification/web/resource-manager/readme.md'];
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2017-04-19/advisor.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2017-04-19/advisor.json
index 13e22fe36511..7152849a9018 100644
--- a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2017-04-19/advisor.json
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2017-04-19/advisor.json
@@ -41,6 +41,9 @@
}
},
"deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
"GetConfigurations": {
"$ref": "./examples/ListConfigurations.json"
@@ -121,6 +124,9 @@
}
},
"deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
"x-ms-examples": {
"GetConfigurations": {
"$ref": "./examples/ListConfigurations.json"
diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index 2b529aaf2e4d..9dbf174379d3 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -62,6 +62,48 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
+## 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.advisor
+ package-name: azure-mgmt-advisor
+ package-version: 1.0.1
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-advisor/azure/mgmt/advisor
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-advisor
+```
+
+
## Go
These settings apply only when `--go` is specified on the command line.
@@ -73,6 +115,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04
+ - tag: package-2017-03
+ - tag: package-2016-07-preview
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
@@ -99,3 +150,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.advisor
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-advisor
+```
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json
new file mode 100644
index 000000000000..966075c22cff
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json
@@ -0,0 +1,1176 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-08-01",
+ "title": "AzureAnalysisServices",
+ "description": "The Azure Analysis Services Web API provides a RESTful set of web services that enables users to create, retrieve, update, and delete Analysis Services servers",
+ "x-ms-code-generation-settings": {
+ "name": "AnalysisServicesManagementClient"
+ }
+ },
+ "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.AnalysisServices/servers/{serverName}": {
+ "get": {
+ "description": "Gets details about the specified Analysis Services server.",
+ "x-ms-examples": {
+ "Get details of a server": { "$ref": "./examples/getServer.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_GetDetails",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": { "$ref": "#/definitions/AnalysisServicesServer" }
+ }
+ }
+ },
+ "put": {
+ "description": "Provisions the specified Analysis Services server based on the configuration specified in the request.",
+ "x-ms-examples": {
+ "Create a server.": { "$ref": "./examples/createServer.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63."
+ },
+ {
+ "name": "serverParameters",
+ "in": "body",
+ "required": true,
+ "schema": { "$ref": "#/definitions/AnalysisServicesServer" },
+ "description": "Contains the information used to provision the Analysis Services server."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed successfully.",
+ "schema": { "$ref": "#/definitions/AnalysisServicesServer" }
+ },
+ "201": {
+ "description": "InProgress. The operation is still completing.",
+ "schema": { "$ref": "#/definitions/AnalysisServicesServer" }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "description": "Deletes the specified Analysis Services server.",
+ "x-ms-examples": {
+ "Delete a server.": { "$ref": "./examples/deleteServer.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "202": {
+ "description": "Accepted."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "description": "Updates the current state of the specified Analysis Services server.",
+ "x-ms-examples": {
+ "Update a server.": { "$ref": "./examples/updateServer.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "name": "serverUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": { "$ref": "#/definitions/AnalysisServicesServerUpdateParameters" },
+ "description": "Request object that contains the updated information for the server."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": { "$ref": "#/definitions/AnalysisServicesServer" }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": { "$ref": "#/definitions/AnalysisServicesServer" }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend": {
+ "post": {
+ "description": "Supends operation of the specified Analysis Services server instance.",
+ "x-ms-examples": {
+ "Suspend a server.": { "$ref": "./examples/suspendServer.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_Suspend",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume": {
+ "post": {
+ "description": "Resumes operation of the specified Analysis Services server instance.",
+ "x-ms-examples": {
+ "Resume a server.": { "$ref": "./examples/resumeServer.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_Resume",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers": {
+ "get": {
+ "description": "Gets all the Analysis Services servers for the given resource group.",
+ "x-ms-examples": {
+ "List existing servers in the resource group.": { "$ref": "./examples/listServersInResourceGroup.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": { "$ref": "#/definitions/AnalysisServicesServers" }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers": {
+ "get": {
+ "description": "Lists all the Analysis Services servers for the given subscription.",
+ "x-ms-examples": {
+ "List existing servers under the subscription.": { "$ref": "./examples/listServers.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": { "$ref": "#/definitions/AnalysisServicesServers" }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus": {
+ "get": {
+ "description": "Lists eligible SKUs for Analysis Services resource provider.",
+ "x-ms-examples": {
+ "List eligible SKUs for a new server": { "$ref": "./examples/listSkusForNew.json" }
+ },
+ "operationId": "Servers_ListSkusForNew",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": { "$ref": "#/definitions/SkuEnumerationForNewResourceResult" }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus": {
+ "get": {
+ "description": "Lists eligible SKUs for an Analysis Services resource.",
+ "x-ms-examples": {
+ "List eligible SKUs for an existing server": { "$ref": "./examples/listSkusForExisting.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_ListSkusForExisting",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": { "$ref": "#/definitions/SkuEnumerationForExistingResourceResult" }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus": {
+ "post": {
+ "description": "Return the gateway status of the specified Analysis Services server instance.",
+ "x-ms-examples": {
+ "Get details of a server": { "$ref": "./examples/listGatewayStatus.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_ListGatewayStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": { "$ref": "#/definitions/GatewayListStatusLive" }
+ },
+ "default": {
+ "description": "Default response as an error",
+ "schema": { "$ref": "#/definitions/GatewayListStatusError" }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway": {
+ "post": {
+ "description": "Dissociates a Unified Gateway associated with the server.",
+ "x-ms-examples": {
+ "Get details of a server": { "$ref": "./examples/dissociateGateway.json" }
+ },
+ "tags": [ "Servers" ],
+ "operationId": "Servers_DissociateGateway",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability": {
+ "post": {
+ "x-ms-examples": {
+ "Get details of a server": { "$ref": "./examples/checkNameAvailability.json" }
+ },
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_CheckNameAvailability",
+ "description": "Check the name availability in the target location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region name which the operation will lookup into."
+ },
+ {
+ "name": "serverParameters",
+ "in": "body",
+ "required": true,
+ "schema":
+ {
+ "$ref": "#/definitions/CheckServerNameAvailabilityParameters"
+ },
+ "description": "Contains the information used to provision the Analysis Services server."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckServerNameAvailabilityResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get details of a server": { "$ref": "./examples/operationResults.json" }
+ },
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_ListOperationResults",
+ "description": "List the result of the specified operation.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region name which the operation will lookup into."
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The target operation Id."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed."
+ },
+ "202": {
+ "description": "Accepted. The operation is ongoing."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get details of a server": { "$ref": "./examples/operationStatuses.json" }
+ },
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_ListOperationStatuses",
+ "description": "List the status of operation.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region name which the operation will lookup into."
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The target operation Id."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted. The operation is ongoing.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AnalysisServices/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": {
+ "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 analysis services operations supported by the Microsoft.AnalysisServices 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
+ }
+ }
+ },
+ "Resource": {
+ "description": "Represents an instance of an Analysis Services resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the Analysis Services resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the Analysis Services resource."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of the Analysis Services resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the Analysis Services resource.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "description": "The SKU of the Analysis Services resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": { "type": "string" },
+ "description": "Key-value pairs of additional resource provisioning properties."
+ }
+ },
+ "required": [
+ "location",
+ "sku"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "AnalysisServicesServer": {
+ "description": "Represents an instance of an Analysis Services resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AnalysisServicesServerProperties",
+ "description": "Properties of the provision operation request."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "AnalysisServicesServers": {
+ "description": "An array of Analysis Services resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": { "$ref": "#/definitions/AnalysisServicesServer" },
+ "description": "An array of Analysis Services resources."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "AnalysisServicesServerUpdateParameters": {
+ "description": "Provision request specification",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "description": "The SKU of the Analysis Services resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": { "type": "string" },
+ "description": "Key-value pairs of additional provisioning properties."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AnalysisServicesServerMutableProperties",
+ "description": "Properties of the provision operation request."
+ }
+ }
+ },
+ "AnalysisServicesServerProperties": {
+ "description": "Properties of Analysis Services resource.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "type": "string",
+ "enum": [
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Paused",
+ "Suspended",
+ "Provisioning",
+ "Updating",
+ "Suspending",
+ "Pausing",
+ "Resuming",
+ "Preparing",
+ "Scaling"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "description": "The current state of Analysis Services resource. The state is to indicate more states outside of resource provisioning."
+ },
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Paused",
+ "Suspended",
+ "Provisioning",
+ "Updating",
+ "Suspending",
+ "Pausing",
+ "Resuming",
+ "Preparing",
+ "Scaling"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "description": "The current deployment state of Analysis Services resource. The provisioningState is to indicate states for resource provisioning."
+ },
+ "serverFullName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The full name of the Analysis Services resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnalysisServicesServerMutableProperties"
+ }
+ ]
+ },
+ "ResourceSku": {
+ "description": "Represents the SKU name and Azure pricing tier for Analysis Services resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the SKU level."
+ },
+ "tier": {
+ "type": "string",
+ "enum": [
+ "Development",
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ },
+ "description": "The name of the Azure pricing tier to which the SKU applies."
+ },
+ "capacity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 8,
+ "default": 1,
+ "description": "The number of instances in the read only query pool."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "AnalysisServicesServerMutableProperties": {
+ "description": "An object that represents a set of mutable Analysis Services resource properties.",
+ "type": "object",
+ "properties": {
+ "asAdministrators": {
+ "$ref": "#/definitions/ServerAdministrators",
+ "description": "A collection of AS server administrators"
+ },
+ "backupBlobContainerUri": {
+ "type": "string",
+ "description": "The SAS container URI to the backup container."
+ },
+ "gatewayDetails": {
+ "$ref": "#/definitions/GatewayDetails",
+ "description": "The gateway details configured for the AS server."
+ },
+ "ipV4FirewallSettings": {
+ "$ref": "#/definitions/IPv4FirewallSettings",
+ "description": "The firewall settings for the AS server."
+ },
+ "querypoolConnectionMode": {
+ "type":"string",
+ "description": "How the read-write server's participation in the query pool is controlled.
It can have the following values: - readOnly - indicates that the read-write server is intended not to participate in query operations
- all - indicates that the read-write server can participate in query operations
Specifying readOnly when capacity is 1 results in error.",
+ "enum": [
+ "All",
+ "ReadOnly"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "ConnectionMode"
+ },
+ "default": "All"
+ }
+ }
+ },
+ "ServerAdministrators": {
+ "description": "An array of administrator user identities.",
+ "type": "object",
+ "properties": {
+ "members": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The UPN of the user. For example: johnsmith@contoso.com."
+ },
+ "description": "An array of administrator user identities."
+ }
+ }
+ },
+ "IPv4FirewallSettings": {
+ "description": "An array of firewall rules.",
+ "type": "object",
+ "properties": {
+ "firewallRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPv4FirewallRule",
+ "description": "The content of firewall rule."
+ },
+ "description": "An array of firewall rules."
+ },
+ "enablePowerBIService": {
+ "type": "string",
+ "description": "The indicator of enableing PBI service."
+ }
+ }
+ },
+ "IPv4FirewallRule": {
+ "description": "The detail of firewall rule.",
+ "type": "object",
+ "properties": {
+ "firewallRuleName": {
+ "type": "string",
+ "description": "The rule name."
+ },
+ "rangeStart": {
+ "type": "string",
+ "description": "The start range of IPv4."
+ },
+ "rangeEnd": {
+ "type": "string",
+ "description": "The end range of IPv4."
+ }
+ }
+ },
+ "GatewayDetails": {
+ "description": "The gateway details.",
+ "type": "object",
+ "properties": {
+ "gatewayResourceId": {
+ "type": "string",
+ "description": "Gateway resource to be associated with the server."
+ },
+ "gatewayObjectId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gateway object id from in the DMTS cluster for the gateway resource."
+ },
+ "dmtsClusterUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Uri of the DMTS cluster."
+ }
+ }
+ },
+ "GatewayListStatusLive": {
+ "description": "Status of gateway is live.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "Live"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": false
+ },
+ "description": "Live message of list gateway."
+ }
+ }
+ },
+ "GatewayListStatusError": {
+ "description": "Status of gateway is error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/GatewayError",
+ "description": "Error of the list gateway status."
+ }
+ }
+ },
+ "GatewayError": {
+ "description": "Detail of gateway errors.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code of list gateway."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message of list gateway."
+ }
+ }
+ },
+ "CheckServerNameAvailabilityParameters": {
+ "description": "Details of server name request body.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "Name for checking availability."
+ },
+ "type": {
+ "type": "string",
+ "default": "Microsoft.AnalysisServices/servers",
+ "description": "The resource type of azure analysis services."
+ }
+ }
+ },
+ "CheckServerNameAvailabilityResult": {
+ "description": "The checking result of server name availibility.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Indicator of available of the server name."
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of unavailability."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed message of the request unavailability."
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "The status of operation.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The operation Id."
+ },
+ "name": {
+ "type": "string",
+ "description": "The operation name."
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The start time of the operation."
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The end time of the operation."
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the operation."
+ },
+ "error": {
+ "type": "object",
+ "description": "The error detail of the operation if any.",
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "SkuEnumerationForNewResourceResult": {
+ "description": "An object that represents enumerating SKUs for new resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": { "$ref": "#/definitions/ResourceSku" },
+ "description": "The collection of available SKUs for new resources."
+ }
+ }
+ },
+ "SkuEnumerationForExistingResourceResult": {
+ "description": "An object that represents enumerating SKUs for existing resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": { "$ref": "#/definitions/SkuDetailsForExistingResource" },
+ "description": "The collection of available SKUs for existing resources."
+ }
+ }
+ },
+ "SkuDetailsForExistingResource": {
+ "description": "An object that represents SKU details for existing resources.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "description": "The SKU in SKU details for existing resources."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A unique identifier for a 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": "The client API version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90 ,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Azure Resource group of which a given Analysis Services server is part. This name must be at least 1 character in length, and no more than 90."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/checkNameAvailability.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..a60cefaac689
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/checkNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "location": "West US",
+ "serverParameters": {
+ "name": "azsdktest",
+ "type": "Microsoft.AnalysisServices/servers"
+ },
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/createServer.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/createServer.json
new file mode 100644
index 000000000000..a24893551e33
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/createServer.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01",
+ "serverParameters": {
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ },
+ "location": "West US",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Preparing",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Preparing"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/deleteServer.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/deleteServer.json
new file mode 100644
index 000000000000..4532f722b602
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/deleteServer.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "OK."
+ },
+ "202": {
+ "headers": {},
+ "description": "Accepted."
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/dissociateGateway.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/dissociateGateway.json
new file mode 100644
index 000000000000..a7bab2d96be7
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/dissociateGateway.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/getServer.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/getServer.json
new file mode 100644
index 000000000000..101d2121b233
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/getServer.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listGatewayStatus.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listGatewayStatus.json
new file mode 100644
index 000000000000..7262c317543b
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listGatewayStatus.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "status": "Live"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listServers.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listServers.json
new file mode 100644
index 000000000000..431de05796ce
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listServers.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ },
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG2/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest2",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ ]
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listServersInResourceGroup.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listServersInResourceGroup.json
new file mode 100644
index 000000000000..99d8e9361961
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listServersInResourceGroup.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ },
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest2",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ ]
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listSkusForExisting.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listSkusForExisting.json
new file mode 100644
index 000000000000..5b2adb958f37
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listSkusForExisting.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "B1",
+ "tier": "Basic"
+ }
+ },
+ {
+ "sku": {
+ "name": "B2",
+ "tier": "Basic"
+ }
+ },
+ {
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ }
+ },
+ {
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ }
+ },
+ {
+ "sku": {
+ "name": "S2",
+ "tier": "Standard"
+ }
+ },
+ {
+ "sku": {
+ "name": "S3",
+ "tier": "Standard"
+ }
+ },
+ {
+ "sku": {
+ "name": "S4",
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listSkusForNew.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listSkusForNew.json
new file mode 100644
index 000000000000..b2f837465d53
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/listSkusForNew.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "B1"
+ },
+ {
+ "name": "B2"
+ },
+ {
+ "name": "D1"
+ },
+ {
+ "name": "S0"
+ },
+ {
+ "name": "S1"
+ },
+ {
+ "name": "S2"
+ },
+ {
+ "name": "S3"
+ },
+ {
+ "name": "S4"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/operationResults.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/operationResults.json
new file mode 100644
index 000000000000..932639fea963
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/operationResults.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "location": "West US",
+ "operationId": "00000000000000000000000000000000",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {}
+ },
+ "202": {
+ "headers": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/operationStatuses.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/operationStatuses.json
new file mode 100644
index 000000000000..c0054caaf75d
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/operationStatuses.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "location": "West US",
+ "operationId": "testoperationid",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/id/locations/westus/operationstatuses/testoperationid",
+ "name": "testoperationid",
+ "startTime": "2017-01-01T13:13:13.933Z",
+ "endTime": "2017-01-01T16:13:13.933Z",
+ "status": "Succeeded"
+ }
+ },
+ "202": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/id/locations/westus/operationstatuses/testoperationid",
+ "name": "testoperationid",
+ "startTime": "2017-01-01T13:13:13.933Z",
+ "status": "Running"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/resumeServer.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/resumeServer.json
new file mode 100644
index 000000000000..8fe22994c22b
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/resumeServer.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "OK."
+ },
+ "202": {
+ "headers": {},
+ "description": "Accepted."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/suspendServer.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/suspendServer.json
new file mode 100644
index 000000000000..8fe22994c22b
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/suspendServer.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "OK."
+ },
+ "202": {
+ "headers": {},
+ "description": "Accepted."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/updateServer.json b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/updateServer.json
new file mode 100644
index 000000000000..10d4d5da5a30
--- /dev/null
+++ b/specification/analysisservices/resource-manager/Microsoft.AnalysisServices/stable/2017-08-01/examples/updateServer.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "serverName": "azsdktest",
+ "api-version": "2017-08-01",
+ "serverUpdateParameters": {
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ },
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ },
+ "202": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.AnalysisServices/servers/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "asAdministrators": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning",
+ "serverFullName": "asazure://nightly1.asazure-int.windows.net/azsdktest",
+ "state": "Provisioning"
+ },
+ "sku": {
+ "capacity": 1,
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md
index 14fccc176b74..2b2c3a9f07d3 100644
--- a/specification/analysisservices/resource-manager/readme.md
+++ b/specification/analysisservices/resource-manager/readme.md
@@ -26,10 +26,19 @@ These are the global settings for the AnalysisServices API.
``` yaml
openapi-type: arm
-tag: package-2017-08-beta
+tag: package-2017-08
```
+### Tag: package-2017-08
+
+These settings apply only when `--tag=package-2017-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-08'
+input-file:
+- Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json
+```
+
### Tag: package-2017-08-beta
These settings apply only when `--tag=package-2017-08-beta` is specified on the command line.
@@ -60,6 +69,18 @@ input-file:
---
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -86,6 +107,25 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-08
+ - tag: package-2017-08-beta
+ - tag: package-2017-07
+ - tag: package-2016-05
+```
+
+### Tag: package-2017-08 and go
+
+These settings apply only when `--tag=package-2017-08 --go` is specifined on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-08' && $(go)
+output-folder: $(go-sdk-folder)/services/analysisservices/mgmt/2017-08-01/analysisservices
+```
+
### Tag: package-2017-08-beta and go
These settings apply only when `--tag=package-2017-08-beta --go` is specifined on the command line.
@@ -112,3 +152,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.analysisservices
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-analysisservices
+```
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimanagement.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimanagement.json
new file mode 100644
index 000000000000..e326f354e302
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimanagement.json
@@ -0,0 +1,506 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on entities like API, Product, and Subscription associated with your Azure API Management deployment.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/policies": {
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_List",
+ "description": "Lists all the Global Policy definitions of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementListPolicies": {
+ "$ref": "./examples/ApiManagementListPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy scope.",
+ "enum": [
+ "Tenant",
+ "Product",
+ "Api",
+ "Operation",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyScopeContract",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "Returns an array of Policy Contracts.",
+ "schema": {
+ "$ref": "#/definitions/PolicyCollection"
+ }
+ }
+ }
+ }
+ },
+ "/policies/{policyId}": {
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Get",
+ "description": "Get the Global policy definition of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementGetPolicies": {
+ "$ref": "./examples/ApiManagementGetPolicies.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the Policy Contracts.",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_CreateOrUpdate",
+ "description": "Creates or updates the global policy configuration of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementPutPolicies": {
+ "$ref": "./examples/ApiManagementPutPolicies.json"
+ }
+ },
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "required": true,
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Global policy configuration was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ },
+ "200": {
+ "description": "Global policy configuration of the Api Management service was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Delete",
+ "description": "Deletes the global policy configuration of the Api Management Service.",
+ "x-ms-examples": {
+ "ApiManagementDeletePolicies": {
+ "$ref": "./examples/ApiManagementDeletePolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the policy to be deleted. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted the policy configuration at the Global level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/policySnippets": {
+ "get": {
+ "tags": [
+ "PolicySnippets"
+ ],
+ "operationId": "PolicySnippets_List",
+ "description": "Lists all policy snippets.",
+ "x-ms-examples": {
+ "ApiManagementListPolicysnippets": {
+ "$ref": "./examples/ApiManagementListPolicysnippets.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy scope.",
+ "enum": [
+ "Tenant",
+ "Product",
+ "Api",
+ "Operation",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyScopeContract",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "Returns an array of Policy Contracts.",
+ "schema": {
+ "$ref": "#/definitions/PolicySnippetsCollection"
+ }
+ }
+ }
+ }
+ },
+ "/regions": {
+ "get": {
+ "tags": [
+ "Regions"
+ ],
+ "operationId": "Regions_List",
+ "description": "Lists all azure regions in which the service exists.",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementListRegions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of Regions in which the service is deployed.",
+ "schema": {
+ "$ref": "#/definitions/RegionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": ""
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of the error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ },
+ "description": "Error Body contract."
+ },
+ "PolicyCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "description": "Policy Contract value."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of records"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "The response of the list policy operation."
+ },
+ "PolicyContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Policy identifier."
+ },
+ "policyContent": {
+ "type": "string",
+ "description": "Json escaped Xml Encoded contents of the Policy."
+ }
+ },
+ "required": [
+ "policyContent"
+ ],
+ "description": "Policy contract Properties."
+ },
+ "PolicySnippetsCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicySnippetContract"
+ },
+ "description": "Policy snippet value."
+ }
+ },
+ "description": "The response of the list policy snippets operation."
+ },
+ "PolicySnippetContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Snippet name.",
+ "readOnly": true
+ },
+ "content": {
+ "type": "string",
+ "description": "Snippet content.",
+ "readOnly": true
+ },
+ "toolTip": {
+ "type": "string",
+ "description": "Snippet toolTip.",
+ "readOnly": true
+ },
+ "scope": {
+ "type": "integer",
+ "description": "Binary OR value of the Snippet scope.",
+ "readOnly": true
+ }
+ },
+ "description": "Policy snippet."
+ },
+ "RegionContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Region name.",
+ "readOnly": true
+ },
+ "isMasterRegion": {
+ "description": "whether Region is the master region.",
+ "type": "boolean"
+ },
+ "isDeleted": {
+ "description": "whether Region is deleted.",
+ "type": "boolean"
+ }
+ },
+ "description": "Region profile."
+ },
+ "RegionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionContract"
+ },
+ "description": "Lists of Regions."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Lists Regions operation response details."
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "SkipQueryParameter": {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to skip.",
+ "minimum": 0,
+ "x-ms-parameter-location": "method"
+ },
+ "TopQueryParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to return.",
+ "minimum": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyIdParameter": {
+ "name": "policyId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "policy"
+ ],
+ "description": "The identifier of the Policy.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PolicyIdName"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimapis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimapis.json
new file mode 100644
index 000000000000..2d0298d6160f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimapis.json
@@ -0,0 +1,1904 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on API entity and their Operations associated with your Azure API Management deployment.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/apis": {
+ "get": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "Api_List",
+ "description": "Lists all APIs of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListApis": {
+ "$ref": "./examples/ApiManagementListApis.json"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-apis"
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result reponse of Apis.",
+ "schema": {
+ "$ref": "#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ApiContract"
+ }
+ },
+ "/apis/{apiId}": {
+ "get": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "Api_Get",
+ "description": "Gets the details of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApis": {
+ "$ref": "./examples/ApiManagementGetApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified API entity.",
+ "schema": {
+ "$ref": "#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "Api_CreateOrUpdate",
+ "description": "Creates new or updates existing specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementPutApis": {
+ "$ref": "./examples/ApiManagementPutApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiCreateOrUpdateParameter"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the Api Entity. For Create Api Etag should not be specified. For Update Etag should match the existing Entity or it can be * for unconditional update."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "API was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "API was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "Api_Update",
+ "description": "Updates the specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementPatchApis": {
+ "$ref": "./examples/ApiManagementPatchApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiUpdateContract"
+ },
+ "description": "API Update Contract parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the API entity. ETag should match the current entity state in the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The API was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "Api_Delete",
+ "description": "Deletes the specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApis": {
+ "$ref": "./examples/ApiManagementDeleteApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the API Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The API was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apis/{apiId}/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ApiOperation_ListByApi",
+ "description": "Lists a collection of the operations for the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApisOperations": {
+ "$ref": "./examples/ApiManagementListApisOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A collection of operation summary entities at the API level.",
+ "schema": {
+ "$ref": "#/definitions/OperationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/OperationContract"
+ }
+ },
+ "/apis/{apiId}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ApiOperation_Get",
+ "description": "Gets the details of the API Operation specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApisOperations": {
+ "$ref": "./examples/ApiManagementGetApisOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Operation entity.",
+ "schema": {
+ "$ref": "#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ApiOperation_CreateOrUpdate",
+ "description": "Creates a new operation in the API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementPutApisOperations": {
+ "$ref": "./examples/ApiManagementPutApisOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Operation was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/OperationContract"
+ }
+ },
+ "200": {
+ "description": "Operation was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/OperationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ApiOperation_Update",
+ "description": "Updates the details of the operation in the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementPatchApisOperations": {
+ "$ref": "./examples/ApiManagementPatchApisOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationUpdateContract"
+ },
+ "description": "API Operation Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the API Operation Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The operation was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ApiOperation_Delete",
+ "description": "Deletes the specified operation in the API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApisOperations": {
+ "$ref": "./examples/ApiManagementDeleteApisOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the API Operation Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The operation was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apis/{apiId}/operations/{operationId}/policies": {
+ "get": {
+ "tags": [
+ "ApiOperationPolicies"
+ ],
+ "operationId": "ApiOperationPolicy_ListByOperation",
+ "description": "Get the list of policy configuration at the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementListApisOperationsPolicies": {
+ "$ref": "./examples/ApiManagementListApisOperationsPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Operations Policy Collection.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apis/{apiId}/operations/{operationId}/policies/{policyId}": {
+ "get": {
+ "tags": [
+ "ApiOperationPolicies"
+ ],
+ "operationId": "ApiOperationPolicy_Get",
+ "description": "Get the policy configuration at the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementGetApisOperationsPolicies": {
+ "$ref": "./examples/ApiManagementGetApisOperationsPolicies.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Operation Policy information.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiOperationPolicies"
+ ],
+ "operationId": "ApiOperationPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementPutApisOperationsPolicies": {
+ "$ref": "./examples/ApiManagementPutApisOperationsPolicies.json"
+ }
+ },
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ },
+ "required": true,
+ "description": "The policy contents to apply."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api Operation policy to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api Operation policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ }
+ },
+ "200": {
+ "description": "Api Operation policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiOperationPolicies"
+ ],
+ "operationId": "ApiOperationPolicy_Delete",
+ "description": "Deletes the policy configuration at the Api Operation.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApisOperationsPolicies": {
+ "$ref": "./examples/ApiManagementDeleteApisOperationsPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api Operation Policy to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted the policy configuration at the API Operation level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apis/{apiId}/products": {
+ "get": {
+ "tags": [
+ "ApiProduct"
+ ],
+ "operationId": "ApiProduct_ListByApis",
+ "description": "Lists all Products, which the API is part of.",
+ "x-ms-examples": {
+ "ApiManagementListApisProducts": {
+ "$ref": "./examples/ApiManagementListApisProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of products which have the Api entity.",
+ "schema": {
+ "$ref": "./apimproducts.json#/definitions/ProductCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimproducts.json#/definitions/ProductContract"
+ }
+ },
+ "/apis/{apiId}/policies": {
+ "get": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_ListByApi",
+ "description": "Get the policy configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementListApisPolicies": {
+ "$ref": "./examples/ApiManagementListApisPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Apis Policy Collection.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyCollection"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apis/{apiId}/policies/{policyId}": {
+ "get": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_Get",
+ "description": "Get the policy configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementGetApisPolicies": {
+ "$ref": "./examples/ApiManagementGetApisPolicies.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Policy information.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the API.",
+ "x-ms-examples": {
+ "ApiManagementPutApisPolicies": {
+ "$ref": "./examples/ApiManagementPutApisPolicies.json"
+ }
+ },
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ },
+ "required": true,
+ "description": "The policy contents to apply."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api Policy to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ }
+ },
+ "200": {
+ "description": "Api policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_Delete",
+ "description": "Deletes the policy configuration at the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApisPolicies": {
+ "$ref": "./examples/ApiManagementDeleteApisPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api policy to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted the policy configuration at the API level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apis/{apiId}/schemas": {
+ "get": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_ListByApi",
+ "description": "Get the schema configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementListApisSchemas": {
+ "$ref": "./examples/ApiManagementListApisSchemas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Apis Schema Collection.",
+ "schema": {
+ "$ref": "#/definitions/SchemaCollection"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/apis/{apiId}/schemas/{schemaId}": {
+ "get": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_Get",
+ "description": "Get the schema configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementGetApisSchemas": {
+ "$ref": "./examples/ApiManagementGetApisSchemas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Schema information.",
+ "schema": {
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_CreateOrUpdate",
+ "description": "Creates or updates schema configuration for the API.",
+ "x-ms-examples": {
+ "ApiManagementPutApisSchemas": {
+ "$ref": "./examples/ApiManagementPutApisSchemas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SchemaIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "required": true,
+ "description": "The schema contents to apply."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "The entity state (Etag) version of the Api Schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api schema configuration was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/SchemaContract"
+ }
+ },
+ "200": {
+ "description": "Api schema configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/SchemaContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_Delete",
+ "description": "Deletes the schema configuration at the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApisSchemas": {
+ "$ref": "./examples/ApiManagementDeleteApisSchemas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SchemaIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted the schema configuration at the API level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/apis/{apiId}?export=true": {
+ "get": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "ApiExport_Get",
+ "description": "Gets the details of the API specified by its identifier in the format specified to the Storage Blob with SAS Key valid for 5 minutes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "Accept",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "application/vnd.swagger.link+json",
+ "application/vnd.sun.wadl.link+json",
+ "application/vnd.ms.wsdl.link+xml"
+ ],
+ "x-ms-enum": {
+ "name": "ExportFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "application/vnd.swagger.link+json",
+ "description": "Export the Api Definition in OpenApi Specification 2.0 format to the Storage Blob.",
+ "name": "OpenApi2"
+ },
+ {
+ "value": "application/vnd.ms.wsdl.link+xml",
+ "description": "Export the Api Definition in WSDL Schema to Storage Blob.",
+ "name": "Wsdl"
+ },
+ {
+ "value": "application/vnd.sun.wadl.link+json",
+ "description": "Export the Api Definition in WADL Schema to Storage Blob.",
+ "name": "Wadl"
+ }
+ ]
+ },
+ "description": "Format in which to export the Api Details to the Storage Blob with Sas Key valid for 5 minutes."
+ },
+ {
+ "name": "export",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ExportApi"
+ },
+ "description": "Query parameter required to export the API details."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.",
+ "schema": {
+ "$ref": "#/definitions/ApiExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApiExportResult": {
+ "properties": {
+ "link": {
+ "type": "string",
+ "description": "Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes."
+ }
+ },
+ "description": "API Export result Blob Uri."
+ },
+ "ApiCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiContract"
+ }
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Api list representation."
+ },
+ "ApiCreateOrUpdateParameter": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the entity"
+ },
+ "contentValue": {
+ "type": "string",
+ "description": "Content value when Importing an API."
+ },
+ "contentFormat": {
+ "type": "string",
+ "description": "Format of the Content in which the API is getting imported.",
+ "enum": [
+ "wadl-xml",
+ "wadl-link-json",
+ "swagger-json",
+ "swagger-link-json",
+ "wsdl",
+ "wsdl-link"
+ ],
+ "x-ms-enum": {
+ "name": "ContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "wadl-xml",
+ "description": "The contents are inline and Content type is a WADL document."
+ },
+ {
+ "value": "wadl-link-json",
+ "description": "The WADL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "swagger-json",
+ "description": "The contents are inline and Content Type if a OpenApi 2.0 Document."
+ },
+ {
+ "value": "swagger-link-json",
+ "description": "The Open Api 2.0 document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "wsdl",
+ "description": "The contents are inline and the document is a WSDL/Soap document."
+ },
+ {
+ "value": "wsdl-link",
+ "description": "The WSDL document is hosted on a publicly accessible internet address."
+ }
+ ]
+ }
+ },
+ "wsdlSelector": {
+ "type": "object",
+ "description": "Criteria to limit import of WSDL to a subset of the document.",
+ "properties": {
+ "wsdlServiceName": {
+ "type": "string",
+ "description": "Name of service to import from WSDL"
+ },
+ "wsdlEndpointName": {
+ "type": "string",
+ "description": "Name of endpoint(port) to import from WSDL"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiContractProperties"
+ }
+ ],
+ "description": "Api Create or Update Properties."
+ },
+ "ApiContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Entity"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiContractProperties"
+ }
+ ],
+ "description": "Api Contract Details"
+ },
+ "ApiContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "required": [
+ "path"
+ ],
+ "description": "Api Entity Properties"
+ },
+ "ApiUpdateContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "description": "API update contract properties."
+ },
+ "ApiEntityBaseContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the API. May include HTML formatting tags."
+ },
+ "authenticationSettings": {
+ "$ref": "#/definitions/AuthenticationSettingsContract",
+ "description": "Collection of authentication settings included into this API."
+ },
+ "subscriptionKeyParameterNames": {
+ "$ref": "#/definitions/SubscriptionKeyParameterNamesContract",
+ "description": "Protocols over which API is made available."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of API.",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-client-name": "ApiType",
+ "x-ms-enum": {
+ "name": "ApiType",
+ "modelAsString": true
+ }
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "description": "Indicates if API revision is current api revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "description": "Indicates if API revision is accessible via the gateway."
+ }
+ },
+ "description": "API base contract details."
+ },
+ "AuthenticationSettingsContract": {
+ "properties": {
+ "oAuth2": {
+ "$ref": "#/definitions/OAuth2AuthenticationSettingsContract",
+ "description": "OAuth2 Authentication settings"
+ }
+ },
+ "description": "API Authentication Settings."
+ },
+ "OAuth2AuthenticationSettingsContract": {
+ "properties": {
+ "authorizationServerId": {
+ "type": "string",
+ "description": "OAuth authorization server identifier."
+ },
+ "scope": {
+ "type": "string",
+ "description": "operations scope."
+ }
+ },
+ "description": "API OAuth2 Authentication settings details."
+ },
+ "OperationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Operation list representation."
+ },
+ "OperationContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationContractProperties"
+ }
+ ],
+ "description": "Api Operation details."
+ },
+ "OperationContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "required": [
+ "name",
+ "method",
+ "urlTemplate"
+ ],
+ "description": "Operation Contract Properties"
+ },
+ "OperationUpdateContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "description": "Operation Update Contract Properties."
+ },
+ "OperationEntityBaseContract": {
+ "properties": {
+ "templateParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of URL template parameters."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation. May include HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "request": {
+ "$ref": "#/definitions/RequestContract",
+ "description": "An entity containing request details."
+ },
+ "responses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResponseContract"
+ },
+ "description": "Array of Operation responses."
+ },
+ "policies": {
+ "type": "string",
+ "description": "Operation Policies"
+ }
+ },
+ "description": "Api Operation Entity Base Contract details."
+ },
+ "ParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Parameter name."
+ },
+ "description": {
+ "type": "string",
+ "description": "Parameter description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "Default parameter value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "whether parameter is required or not."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Parameter values."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Operation parameters details."
+ },
+ "RepresentationContract": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Specifies a registered or custom content type for this representation, e.g. application/xml."
+ },
+ "sample": {
+ "type": "string",
+ "description": "An example of the representation."
+ },
+ "schemaId": {
+ "type": "string",
+ "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "typeName": {
+ "type": "string",
+ "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "formParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "description": "Operation request/response representation details."
+ },
+ "RequestContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Operation request description."
+ },
+ "queryParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request query parameters."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request headers."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation request representations."
+ }
+ },
+ "description": "Operation request details."
+ },
+ "ResponseContract": {
+ "properties": {
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Operation response HTTP status code."
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation response description."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation response representations."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation response headers."
+ }
+ },
+ "required": [
+ "statusCode"
+ ],
+ "description": "Operation response details."
+ },
+ "SubscriptionKeyParameterNamesContract": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "description": "Subscription key header name."
+ },
+ "query": {
+ "type": "string",
+ "description": "Subscription key query string parameter name."
+ }
+ },
+ "description": "Subscription key parameter names details.",
+ "example": {
+ "subscriptionKeyParameterNames": {
+ "query": "customQueryParameterName",
+ "header": "customHeaderParameterName"
+ }
+ }
+ },
+ "SchemaCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "description": "Api Schema Contract value."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "The response of the list schema operation."
+ },
+ "SchemaContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Schema."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchemaContractProperties"
+ }
+ ],
+ "description": "Schema Contract details."
+ },
+ "SchemaContractProperties": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml)."
+ },
+ "document": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaDocumentProperties",
+ "description": "Properties of the Schema Document."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "description": "Schema contract Properties."
+ },
+ "SchemaDocumentProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Json escaped string defining the document representing the Schema."
+ }
+ },
+ "description": "Schema Document Properties."
+ }
+ },
+ "parameters": {
+ "ApiIdParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Operation identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "SchemaIdParameter": {
+ "name": "schemaId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Schema identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimauthorizationservers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimauthorizationservers.json
new file mode 100644
index 000000000000..224184a24901
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimauthorizationservers.json
@@ -0,0 +1,584 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for managing OAuth2 servers configuration in your Azure API Management deployment. OAuth 2.0 can be used to authorize developer accounts for Azure API Management. For more information refer to [How to OAuth2](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-oauth2).",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/authorizationServers": {
+ "get": {
+ "tags": [
+ "AuthorizationServers"
+ ],
+ "operationId": "AuthorizationServer_List",
+ "description": "Lists a collection of authorization servers defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListAuthorizationservers": {
+ "$ref": "./examples/ApiManagementListAuthorizationservers.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Authorization Server entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationServerCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/AuthorizationServerContract"
+ }
+ },
+ "/authorizationServers/{authsid}": {
+ "get": {
+ "tags": [
+ "AuthorizationServers"
+ ],
+ "operationId": "AuthorizationServer_Get",
+ "description": "Gets the details of the authorization server specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetAuthorizationservers": {
+ "$ref": "./examples/ApiManagementGetAuthorizationservers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the specified authorization server.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AuthorizationServers"
+ ],
+ "operationId": "AuthorizationServer_CreateOrUpdate",
+ "description": "Creates new authorization server or updates an existing authorization server.",
+ "x-ms-examples": {
+ "ApiManagementPutAuthorizationservers": {
+ "$ref": "./examples/ApiManagementPutAuthorizationservers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Authorization server was successfully registered.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ }
+ },
+ "200": {
+ "description": "Authorization server is already registered.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AuthorizationServers"
+ ],
+ "operationId": "AuthorizationServer_Update",
+ "description": "Updates the details of the authorization server specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementPatchAuthorizationservers": {
+ "$ref": "./examples/ApiManagementPatchAuthorizationservers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationServerUpdateContract"
+ },
+ "description": "OAuth2 Server settings Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the authorization server to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The authorization server settings were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AuthorizationServers"
+ ],
+ "operationId": "AuthorizationServer_Delete",
+ "description": "Deletes specific authorization server instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteAuthorizationservers": {
+ "$ref": "./examples/ApiManagementDeleteAuthorizationservers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the authentication server to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The authorization server settings were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AuthorizationServerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OAuth2 Authorization Servers list representation."
+ },
+ "AuthorizationServerContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Authorization Server entity."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractProperties"
+ }
+ ],
+ "description": "External OAuth authorization server settings."
+ },
+ "AuthorizationServerContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "required": [
+ "name",
+ "clientRegistrationEndpoint",
+ "authorizationEndpoint",
+ "clientId",
+ "grantTypes"
+ ],
+ "description": "External OAuth authorization server settings Properties."
+ },
+ "AuthorizationServerUpdateContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "AuthorizationServerContractBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the authorization server. Can contain HTML formatting tags."
+ },
+ "authorizationMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "HEAD",
+ "OPTIONS",
+ "TRACE",
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationMethod",
+ "modelAsString": false
+ }
+ },
+ "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."
+ },
+ "clientAuthenticationMethod": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Body"
+ ],
+ "x-ms-enum": {
+ "name": "ClientAuthenticationMethod",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Basic",
+ "description": "Basic Client Authentication method."
+ },
+ {
+ "value": "Body",
+ "description": "Body based Authentication method."
+ }
+ ]
+ }
+ },
+ "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."
+ },
+ "tokenBodyParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenBodyParameterContract"
+ },
+ "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."
+ },
+ "tokenEndpoint": {
+ "type": "string",
+ "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "supportState": {
+ "type": "boolean",
+ "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "defaultScope": {
+ "type": "string",
+ "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.3"
+ }
+ },
+ "bearerTokenSendingMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationHeader",
+ "query"
+ ],
+ "x-ms-enum": {
+ "name": "BearerTokenSendingMethod",
+ "modelAsString": true
+ }
+ },
+ "description": "Specifies the mechanism by which access token is passed to the API. ",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Client or app secret registered with this authorization server."
+ },
+ "resourceOwnerUsername": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."
+ },
+ "resourceOwnerPassword": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password."
+ }
+ },
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "TokenBodyParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "body parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "body parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "OAuth acquire token request body parameter (www-url-form-encoded)."
+ }
+ },
+ "parameters": {
+ "AuthenticationServerIdParameter": {
+ "name": "authsid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the authorization server.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimbackends.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimbackends.json
new file mode 100644
index 000000000000..1e1cd26264b2
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimbackends.json
@@ -0,0 +1,608 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Backend entity in Azure API Management deployment. The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/backends": {
+ "get": {
+ "tags": [
+ "Backends"
+ ],
+ "operationId": "Backend_List",
+ "description": "Lists a collection of backends in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListBackends": {
+ "$ref": "./examples/ApiManagementListBackends.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| host | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Backend entities.",
+ "schema": {
+ "$ref": "#/definitions/BackendCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/BackendContract"
+ }
+ },
+ "/backends/{backendid}": {
+ "get": {
+ "tags": [
+ "Backends"
+ ],
+ "operationId": "Backend_Get",
+ "description": "Gets the details of the backend specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetBackends": {
+ "$ref": "./examples/ApiManagementGetBackends.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Backend entity.",
+ "schema": {
+ "$ref": "#/definitions/BackendContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backends"
+ ],
+ "operationId": "Backend_CreateOrUpdate",
+ "description": "Creates or Updates a backend.",
+ "x-ms-examples": {
+ "ApiManagementPutBackends": {
+ "$ref": "./examples/ApiManagementPutBackends.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackendContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Backend was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/BackendContract"
+ }
+ },
+ "200": {
+ "description": "The existing backend was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/BackendContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Backends"
+ ],
+ "operationId": "Backend_Update",
+ "description": "Updates an existing backend.",
+ "x-ms-examples": {
+ "ApiManagementPatchBackends": {
+ "$ref": "./examples/ApiManagementPatchBackends.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackendUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the backend to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The existing backend was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backends"
+ ],
+ "operationId": "Backend_Delete",
+ "description": "Deletes the specified backend.",
+ "x-ms-examples": {
+ "ApiManagementDeleteBackends": {
+ "$ref": "./examples/ApiManagementDeleteBackends.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the backend to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The backend was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BackendAuthorizationHeaderCredentials": {
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "description": "Authentication Scheme name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "parameter": {
+ "type": "string",
+ "description": "Authentication Parameter value.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "required": [
+ "scheme",
+ "parameter"
+ ],
+ "description": "Authorization header information."
+ },
+ "BackendBaseParameters": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Backend Title.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "description": {
+ "type": "string",
+ "description": "Backend Description.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "properties": {
+ "$ref": "#/definitions/BackendProperties",
+ "description": "Backend Properties contract"
+ },
+ "credentials": {
+ "$ref": "#/definitions/BackendCredentialsContract",
+ "description": "Backend Credentials Contract Properties"
+ },
+ "proxy": {
+ "$ref": "#/definitions/BackendProxyContract",
+ "description": "Backend Proxy Contract Properties"
+ },
+ "tls": {
+ "$ref": "#/definitions/BackendTlsProperties",
+ "description": "Backend TLS Properties"
+ }
+ },
+ "description": "Backend entity base Parameter set."
+ },
+ "BackendCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendContract"
+ },
+ "description": "Backend values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Backend list representation."
+ },
+ "BackendContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Backend entity."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendContractProperties"
+ }
+ ],
+ "description": "Backend details."
+ },
+ "BackendContractProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "required": [
+ "url",
+ "protocol"
+ ],
+ "description": "Parameters supplied to the Create Backend operation."
+ },
+ "BackendCredentialsContract": {
+ "properties": {
+ "certificate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Client Certificate Thumbprint."
+ },
+ "query": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Query Parameter description."
+ },
+ "header": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Header Parameter description."
+ },
+ "authorization": {
+ "description": "Authorization header authentication",
+ "$ref": "#/definitions/BackendAuthorizationHeaderCredentials"
+ }
+ },
+ "description": "Details of the Credentials used to connect to Backend."
+ },
+ "BackendProperties": {
+ "properties": {
+ "serviceFabricCluster": {
+ "$ref": "#/definitions/BackendServiceFabricClusterProperties",
+ "description": "Backend Service Fabric Cluster Properties"
+ }
+ },
+ "description": "Properties specific to the Backend Type."
+ },
+ "BackendServiceFabricClusterProperties": {
+ "properties": {
+ "clientCertificateThumbprint": {
+ "description": "The client certificate thumbprint for the management endpoint.",
+ "type": "string"
+ },
+ "maxPartitionResolutionRetries": {
+ "description": "Maximum number of retries while attempting resolve the parition.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "partitionResolutionRequestTimeout": {
+ "type": "string",
+ "format": "duration",
+ "description": "Maximum time allowed to update partition resolution data. Duration needs to be specified using the format PT[n]H[n]M[n]S as per ISO8601"
+ },
+ "managementEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The cluster management endpoint."
+ },
+ "serverCertificateThumbprints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Thumbprints of certificates cluster management service uses for tls communication"
+ },
+ "serverX509Names": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X509CertificateName"
+ },
+ "description": "Server X509 Certificate Names Collection"
+ }
+ },
+ "required": [
+ "managementEndpoints",
+ "clientCertificateThumbprint"
+ ],
+ "description": "Properties of the Service Fabric Type Backend."
+ },
+ "X509CertificateName": {
+ "properties": {
+ "name": {
+ "description": "Common Name of the Certificate.",
+ "type": "string"
+ },
+ "issuerCertificateThumbprint": {
+ "description": "Thumbprint for the Issuer of the Certificate.",
+ "type": "string"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-windows-cluster-x509-security"
+ },
+ "description": "Properties of server X509Names."
+ },
+ "BackendTlsProperties": {
+ "properties": {
+ "validateCertificateChain": {
+ "description": "Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ },
+ "validateCertificateName": {
+ "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "description": "Properties controlling TLS Certificate Validation."
+ },
+ "BackendProxyContract": {
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/system.net.webproxy(v=vs.110).aspx",
+ "description": "Backend entity uses these details to connect to a WebProxy."
+ },
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "username": {
+ "type": "string",
+ "description": "Username to connect to the WebProxy server"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password to connect to the WebProxy Server"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "description": "Details of the Backend WebProxy Server to use in the Request to Backend."
+ },
+ "BackendUpdateParameters": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Backend operation."
+ }
+ },
+ "parameters": {
+ "BackendIdParameter": {
+ "name": "backendid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 255,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimcertificates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimcertificates.json
new file mode 100644
index 000000000000..7a86d108de57
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimcertificates.json
@@ -0,0 +1,325 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Certificate entity in your Azure API Management deployment. Certificates can be used to setup mutual authentication with your Backend in API Management. For more information refer to [How to secure backend using Mutual Auth Certificate](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-mutual-certificates).",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_List",
+ "description": "Lists a collection of all certificates in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListCertificates": {
+ "$ref": "./examples/ApiManagementListCertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|----------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| subject | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| thumbprint | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| expirationDate | ge, le, eq, ne, gt, lt | N/A |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of Certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/CertificateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/CertificateContract"
+ }
+ },
+ "/certificates/{certificateId}": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Get",
+ "description": "Gets the details of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetCertificates": {
+ "$ref": "./examples/ApiManagementGetCertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/CertificateContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_CreateOrUpdate",
+ "description": "Creates or updates the certificate being used for authentication with the backend.",
+ "x-ms-examples": {
+ "ApiManagementPutCertificates": {
+ "$ref": "./examples/ApiManagementPutCertificates.json"
+ }
+ },
+ "externalDocs": {
+ "description": "How to secure back-end services using client certificate authentication in Azure API Management",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/CertificateIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Create or Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "The entity state (Etag) version of the certificate to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation..",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new certificate was successfully added.",
+ "schema": {
+ "$ref": "#/definitions/CertificateContract"
+ }
+ },
+ "200": {
+ "description": "The certificate details were successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/CertificateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Delete",
+ "description": "Deletes specific certificate.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCertificates": {
+ "$ref": "./examples/ApiManagementDeleteCertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/CertificateIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the certificate to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The certificate was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CertificateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Certificates list representation."
+ },
+ "CertificateContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Certificate entity."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateContractProperties"
+ }
+ ],
+ "description": "Certificate details."
+ },
+ "CertificateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject attribute of the certificate."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Thumbprint of the certificate."
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "required": [
+ "subject",
+ "thumbprint",
+ "expirationDate"
+ ],
+ "description": "Properties of the Certificate contract."
+ },
+ "CertificateCreateOrUpdateParameters": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Base 64 encoded certificate using the application/x-pkcs12 representation."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for the Certificate"
+ }
+ },
+ "required": [
+ "data",
+ "password"
+ ],
+ "description": "Parameters supplied to the CreateOrUpdate certificate operation."
+ }
+ },
+ "parameters": {
+ "CertificateIdParameter": {
+ "name": "certificateId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimemailtemplate.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimemailtemplate.json
new file mode 100644
index 000000000000..b710a0c2c963
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimemailtemplate.json
@@ -0,0 +1,420 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Email Templates associated with your Azure API Management deployment.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/templates": {
+ "get": {
+ "tags": [
+ "EmailTemplate"
+ ],
+ "operationId": "EmailTemplate_List",
+ "description": "Lists a collection of properties defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListTemplates": {
+ "$ref": "./examples/ApiManagementListTemplates.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|----------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Email Template for the specified API Management service instance.",
+ "schema": {
+ "$ref": "#/definitions/EmailTemplateCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/templates/{templateName}": {
+ "get": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Get",
+ "description": "Gets the details of the email template specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetTemplates": {
+ "$ref": "./examples/ApiManagementGetTemplates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Email template.",
+ "schema": {
+ "$ref": "#/definitions/EmailTemplateContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_CreateOrUpdate",
+ "description": "Updates an Email Template.",
+ "x-ms-examples": {
+ "ApiManagementPutTemplates": {
+ "$ref": "./examples/ApiManagementPutTemplates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/TemplateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EmailTemplateUpdateParameters"
+ },
+ "description": "Email Template update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Email Template was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/EmailTemplateContract"
+ }
+ },
+ "200": {
+ "description": "Email Template was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/EmailTemplateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Update",
+ "description": "Updates the specific Email Template.",
+ "x-ms-examples": {
+ "ApiManagementPatchTemplates": {
+ "$ref": "./examples/ApiManagementPatchTemplates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/TemplateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EmailTemplateUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Email Template was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Delete",
+ "description": "Reset the Email Template to default template provided by the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteTemplates": {
+ "$ref": "./examples/ApiManagementDeleteTemplates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/TemplateNameParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Email Template to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Email Template was successfully reset to default."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EmailTemplateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged email template list representation."
+ },
+ "EmailTemplateContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Template Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/EmailTemplateContractProperties"
+ }
+ ],
+ "description": "Email Template details."
+ },
+ "EmailTemplateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "isDefault": {
+ "type": "boolean",
+ "description": "Whether the template is the default template provided by Api Management or has been edited.",
+ "readOnly": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "required": [
+ "body",
+ "subject"
+ ],
+ "description": "Email Template Contract properties."
+ },
+ "EmailTemplateUpdateParameters": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "description": "Email Template Update Contract properties."
+ },
+ "EmailTemplateParametersContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Template parameter name.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "title": {
+ "type": "string",
+ "description": "Template parameter title.",
+ "minLength": 1,
+ "maxLength": 4096
+ },
+ "description": {
+ "type": "string",
+ "description": "Template parameter description.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ }
+ },
+ "description": "Email Template Parameter contract."
+ }
+ },
+ "parameters": {
+ "TemplateNameParameter": {
+ "name": "templateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "applicationApprovedNotificationMessage",
+ "accountClosedDeveloper",
+ "quotaLimitApproachingDeveloperNotificationMessage",
+ "newDeveloperNotificationMessage",
+ "emailChangeIdentityDefault",
+ "inviteUserNotificationMessage",
+ "newCommentNotificationMessage",
+ "confirmSignUpIdentityDefault",
+ "newIssueNotificationMessage",
+ "purchaseDeveloperNotificationMessage",
+ "passwordResetIdentityDefault",
+ "passwordResetByAdminNotificationMessage",
+ "rejectDeveloperNotificationMessage",
+ "requestDeveloperNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "TemplateName",
+ "modelAsString": true
+ },
+ "description": "Email Template Name Identifier.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimgroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimgroups.json
new file mode 100644
index 000000000000..0a867a703814
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimgroups.json
@@ -0,0 +1,558 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Group entity in your Azure API Management deployment. Groups are used to manage the visibility of products to developers. Each API Management service instance comes with the following immutable system groups whose membership is automatically managed by API Management. - **Administrators** - Azure subscription administrators are members of this group. - **Developers** - Authenticated developer portal users fall into this group. - **Guests** - Unauthenticated developer portal users are placed into this group. In addition to these system groups, administrators can create custom groups or [leverage external groups in associated Azure Active Directory tenants](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-add-an-external-azure-active-directory-group). Custom and external groups can be used alongside system groups in giving developers visibility and access to API products. For example, you could create one custom group for developers affiliated with a specific partner organization and allow them access to the APIs from a product containing relevant APIs only. A user can be a member of more than one group.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/groups": {
+ "get": {
+ "tags": [
+ "Groups"
+ ],
+ "operationId": "Group_List",
+ "description": "Lists a collection of groups defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListGroups": {
+ "$ref": "./examples/ApiManagementListGroups.json"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-groups"
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq, ne | N/A |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "#/definitions/GroupCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/GroupContract"
+ }
+ },
+ "/groups/{groupId}": {
+ "get": {
+ "tags": [
+ "Groups"
+ ],
+ "operationId": "Group_Get",
+ "description": "Gets the details of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetGroups": {
+ "$ref": "./examples/ApiManagementGetGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Group entity.",
+ "schema": {
+ "$ref": "#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Groups"
+ ],
+ "operationId": "Group_CreateOrUpdate",
+ "description": "Creates or Updates a group.",
+ "x-ms-examples": {
+ "ApiManagementPutGroups": {
+ "$ref": "./examples/ApiManagementPutGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GroupCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Group was created succesfully.",
+ "schema": {
+ "$ref": "#/definitions/GroupContract"
+ }
+ },
+ "200": {
+ "description": "Group already exists.",
+ "schema": {
+ "$ref": "#/definitions/GroupContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Groups"
+ ],
+ "operationId": "Group_Update",
+ "description": "Updates the details of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementPatchGroups": {
+ "$ref": "./examples/ApiManagementPatchGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GroupUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Group Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The group details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Groups"
+ ],
+ "operationId": "Group_Delete",
+ "description": "Deletes specific group of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroups": {
+ "$ref": "./examples/ApiManagementDeleteGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Group Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The group was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/groups/{groupId}/users": {
+ "get": {
+ "tags": [
+ "GroupUsers"
+ ],
+ "operationId": "GroupUser_List",
+ "description": "Lists a collection of the members of the group, specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementListGroupsUsers": {
+ "$ref": "./examples/ApiManagementListGroupsUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|------------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| firstName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| lastName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| email | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | N/A |\n| registrationDate | ge, le, eq, ne, gt, lt | N/A |\n| note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of user entities associated with the group.",
+ "schema": {
+ "$ref": "./apimusers.json#/definitions/UserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimusers.json#/definitions/UserContract"
+ }
+ },
+ "/groups/{groupId}/users/{uid}": {
+ "put": {
+ "tags": [
+ "GroupUsers"
+ ],
+ "operationId": "GroupUser_Create",
+ "description": "Adds a user to the specified group.",
+ "x-ms-examples": {
+ "ApiManagementPutGroupsUsers": {
+ "$ref": "./examples/ApiManagementPutGroupsUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The user was successfully added to the group.",
+ "schema": {
+ "$ref": "./apimusers.json#/definitions/UserContract"
+ }
+ },
+ "200": {
+ "description": "The specified user is already a member of the specified group.",
+ "schema": {
+ "$ref": "./apimusers.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GroupUsers"
+ ],
+ "operationId": "GroupUser_Delete",
+ "description": "Remove existing user from existing group.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroupsUsers": {
+ "$ref": "./examples/ApiManagementDeleteGroupsUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The user was successfully removed from the group."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "GroupCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Group list representation."
+ },
+ "GroupContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Group entity."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupContractProperties"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "GroupContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description. Can contain HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "builtIn": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://.onmicrosoft.com/groups/; otherwise the value is null."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Developer group."
+ },
+ "GroupCreateParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://.onmicrosoft.com/groups/; otherwise the value is null."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameters supplied to the Create Group operation."
+ },
+ "GroupUpdateParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://.onmicrosoft.com/groups/; otherwise the value is null."
+ }
+ },
+ "description": "Parameters supplied to the Update Group operation."
+ }
+ },
+ "parameters": {
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Group identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimidentityprovider.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimidentityprovider.json
new file mode 100644
index 000000000000..07150f47dbd0
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimidentityprovider.json
@@ -0,0 +1,460 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Identity Provider entity associated with your Azure API Management deployment. Setting up an external Identity Provider for authentication can help you manage the developer portal logins using the OAuth2 flow.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/identityProviders": {
+ "get": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_List",
+ "description": "Lists a collection of Identity Provider configured in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListIdentityproviders": {
+ "$ref": "./examples/ApiManagementListIdentityproviders.json"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-authorize-developer-accounts-using-azure-active-directory"
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Identity Providers.",
+ "schema": {
+ "$ref": "#/definitions/IdentityProviderList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/identityProviders/{identityProviderName}": {
+ "get": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Get",
+ "description": "Gets the configuration details of the identity Provider configured in specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementGetIdentityproviders": {
+ "$ref": "./examples/ApiManagementGetIdentityproviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified IdentityProvider entity configuration details.",
+ "schema": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_CreateOrUpdate",
+ "description": "Creates or Updates the IdentityProvider configuration.",
+ "x-ms-examples": {
+ "ApiManagementPutIdentityproviders": {
+ "$ref": "./examples/ApiManagementPutIdentityproviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "IdentityProvider configuration were successfully created.",
+ "schema": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ }
+ },
+ "200": {
+ "description": "The existing Identity Provider was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "IdentityProviders"
+ ],
+ "operationId": "IdentityProvider_Update",
+ "description": "Updates an existing IdentityProvider configuration.",
+ "x-ms-examples": {
+ "ApiManagementPatchIdentityproviders": {
+ "$ref": "./examples/ApiManagementPatchIdentityproviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IdentityProviderUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the identity provider configuration to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The existing identity provider configuration was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Delete",
+ "description": "Deletes the specified identity provider configuration.",
+ "x-ms-examples": {
+ "ApiManagementDeleteIdentityproviders": {
+ "$ref": "./examples/ApiManagementDeleteIdentityproviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the backend to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The identity provider configuration was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "IdentityProviderContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the identity provider."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderContractProperties"
+ }
+ ],
+ "description": "Identity Provider details."
+ },
+ "IdentityProviderContractProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "required": [
+ "clientId",
+ "clientSecret"
+ ],
+ "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users."
+ },
+ "IdentityProviderList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ },
+ "description": "Identity Provider configuration values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of identity providers"
+ }
+ },
+ "description": "List of all the Identity Providers configured on the service instance."
+ },
+ "IdentityProviderUpdateParameters": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Identity Provider operation."
+ },
+ "IdentityProviderBaseParameters": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier."
+ },
+ "allowedTenants": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Allowed Tenants when configuring Azure Active Directory login."
+ },
+ "signupPolicyName": {
+ "type": "string",
+ "description": "Signup Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "signinPolicyName": {
+ "type": "string",
+ "description": "Signin Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "profileEditingPolicyName": {
+ "type": "string",
+ "description": "Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "passwordResetPolicyName": {
+ "type": "string",
+ "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ }
+ },
+ "description": "Identity Provider Base Parameter Properties."
+ }
+ },
+ "parameters": {
+ "IdentityProviderNameParameter": {
+ "name": "identityProviderName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimloggers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimloggers.json
new file mode 100644
index 000000000000..2458f044ef1d
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimloggers.json
@@ -0,0 +1,407 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on logger entity Azure API Management deployment.The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure EventHub.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/loggers": {
+ "get": {
+ "tags": [
+ "Loggers"
+ ],
+ "operationId": "Logger_List",
+ "description": "Lists a collection of loggers in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListLoggers": {
+ "$ref": "./examples/ApiManagementListLoggers.json"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs"
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Logger entities.",
+ "schema": {
+ "$ref": "#/definitions/LoggerCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/LoggerContract"
+ }
+ },
+ "/loggers/{loggerid}": {
+ "get": {
+ "tags": [
+ "Loggers"
+ ],
+ "operationId": "Logger_Get",
+ "description": "Gets the details of the logger specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetLoggers": {
+ "$ref": "./examples/ApiManagementGetLoggers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Logger entity.",
+ "schema": {
+ "$ref": "#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Loggers"
+ ],
+ "operationId": "Logger_CreateOrUpdate",
+ "description": "Creates or Updates a logger.",
+ "x-ms-examples": {
+ "ApiManagementPutLoggers": {
+ "$ref": "./examples/ApiManagementPutLoggers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/LoggerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LoggerContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Logger was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/LoggerContract"
+ }
+ },
+ "200": {
+ "description": "The existing logger was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/LoggerContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Loggers"
+ ],
+ "operationId": "Logger_Update",
+ "description": "Updates an existing logger.",
+ "x-ms-examples": {
+ "ApiManagementPatchLoggers": {
+ "$ref": "./examples/ApiManagementPatchLoggers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/LoggerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LoggerUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the logger to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The existing logger was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Loggers"
+ ],
+ "operationId": "Logger_Delete",
+ "description": "Deletes the specified logger.",
+ "x-ms-examples": {
+ "ApiManagementDeleteLoggers": {
+ "$ref": "./examples/ApiManagementDeleteLoggers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/LoggerIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the logger to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The logger was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LoggerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoggerContract"
+ },
+ "description": "Logger values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Logger list representation."
+ },
+ "LoggerContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Logger Entity."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/LoggerContractProperties"
+ }
+ ],
+ "description": "Logger details."
+ },
+ "LoggerContractProperties": {
+ "properties": {
+ "loggerType": {
+ "type": "string",
+ "description": "Logger type.",
+ "enum": [
+ "azureEventHub"
+ ],
+ "x-ms-enum": {
+ "name": "LoggerType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azureEventHub",
+ "description": "Azure Event Hub as log destination."
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Logger description.",
+ "maxLength": 256
+ },
+ "credentials": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The name and SendRule connection string of the event hub.",
+ "example": {
+ "name": "apim",
+ "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=..."
+ }
+ },
+ "isBuffered": {
+ "type": "boolean",
+ "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true."
+ }
+ },
+ "required": [
+ "loggerType",
+ "credentials"
+ ],
+ "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs."
+ },
+ "LoggerUpdateContract": {
+ "properties": {
+ "loggerType": {
+ "type": "string",
+ "description": "Logger type.",
+ "enum": [
+ "azureEventHub"
+ ],
+ "x-ms-enum": {
+ "name": "LoggerType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azureEventHub",
+ "description": "Azure Event Hub as log destination."
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Logger description."
+ },
+ "credentials": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Logger credentials."
+ },
+ "isBuffered": {
+ "type": "boolean",
+ "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true."
+ }
+ },
+ "description": "Parameters supplied to the Update Logger operation."
+ }
+ },
+ "parameters": {
+ "LoggerIdParameter": {
+ "name": "loggerid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "description": "Logger identifier. Must be unique in the API Management service instance.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimopenidconnectproviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimopenidconnectproviders.json
new file mode 100644
index 000000000000..dfa5b5d2e14a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimopenidconnectproviders.json
@@ -0,0 +1,371 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on OpenId Connect Provider entity associated with your Azure API Management deployment. API Management allows you to access APIs secured with token from [OpenID Connect Provider ](http://openid.net/connect/) to be accessed from the Developer Console.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/openidConnectProviders": {
+ "get": {
+ "tags": [
+ "OpenIdConnectProviders"
+ ],
+ "operationId": "OpenIdConnectProvider_List",
+ "description": "Lists all OpenID Connect Providers.",
+ "x-ms-examples": {
+ "ApiManagementListOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementListOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of all the OpenId Connect Providers.",
+ "schema": {
+ "$ref": "#/definitions/OpenIdConnectProviderCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "/openidConnectProviders/{opid}": {
+ "get": {
+ "tags": [
+ "OpenIdConnectProviders"
+ ],
+ "operationId": "OpenIdConnectProvider_Get",
+ "description": "Gets specific OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementGetOpenIdConnectProviders": {
+ "$ref": "./examples/ApiManagementGetOpenIdConnectProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified OpenId Connect Provider entity.",
+ "schema": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OpenIdConnectProviders"
+ ],
+ "operationId": "OpenIdConnectProvider_CreateOrUpdate",
+ "description": "Creates or updates the OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementPutOpenIdConnectProviders": {
+ "$ref": "./examples/ApiManagementPutOpenIdConnectProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OpenIdConnect Provider was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "200": {
+ "description": "OpenIdConnect Provider was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OpenIdConnectProviders"
+ ],
+ "operationId": "OpenIdConnectProvider_Update",
+ "description": "Updates the specific OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementPatchOpenIdConnectProviders": {
+ "$ref": "./examples/ApiManagementPatchOpenIdConnectProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OpenidConnectProviderUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the OpenID Connect Provider to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "OpenId Connect Provider was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OpenIdConnectProviders"
+ ],
+ "operationId": "OpenIdConnectProvider_Delete",
+ "description": "Deletes specific OpenID Connect Provider of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteOpenidconnectproviders": {
+ "$ref": "./examples/ApiManagementDeleteOpenIdConnectProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the OpenID Connect Provider to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "OpenId Connect Provider was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OpenIdConnectProviderCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OpenIdProviders list representation."
+ },
+ "OpenidConnectProviderContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the OpenId Connect Provider."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OpenidConnectProviderContractProperties"
+ }
+ ],
+ "description": "OpenId Connect Provider details."
+ },
+ "OpenidConnectProviderContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "required": [
+ "name",
+ "metadataEndpoint",
+ "clientId"
+ ],
+ "description": "OpenID Connect Providers Contract."
+ },
+ "OpenidConnectProviderUpdateContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "description": "Parameters supplied to the Update OpenID Connect Provider operation."
+ }
+ },
+ "parameters": {
+ "OpenIdConnectIdParameter": {
+ "name": "opid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the OpenID Connect Provider.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimportalsettings.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimportalsettings.json
new file mode 100644
index 000000000000..3320105c8d31
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimportalsettings.json
@@ -0,0 +1,478 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on PortalSettings entity associated with your Azure API Management deployment. Using this entity you can manage settings for a Developer Portal.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/portalsettings/signin": {
+ "get": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Get",
+ "description": "Get Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementGetPortalSettingSignIn": {
+ "$ref": "./examples/ApiManagementGetPortalSettingSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-In settings.",
+ "schema": {
+ "$ref": "#/definitions/PortalSigninSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Update",
+ "description": "Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPatchPortalSettingsSignIn": {
+ "$ref": "./examples/ApiManagementPatchPortalSettingsSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PortalSigninSettings"
+ },
+ "description": "Update Sign-In settings."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the property to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-In settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPutPortalSettingsSignIn": {
+ "$ref": "./examples/ApiManagementPutPortalSettingsSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PortalSigninSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-In settings was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PortalSigninSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/portalsettings/signup": {
+ "get": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Get",
+ "description": "Get Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementGetPortalSettingsSignUp": {
+ "$ref": "./examples/ApiManagementGetPortalSettingsSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-Up settings.",
+ "schema": {
+ "$ref": "#/definitions/PortalSignupSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Update",
+ "description": "Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPatchPortalSettingsSignUp": {
+ "$ref": "./examples/ApiManagementPatchPortalSettingsSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PortalSignupSettings"
+ },
+ "description": "Update Sign-Up settings."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the property to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-Up settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPutPortalsettingsSignUp": {
+ "$ref": "./examples/ApiManagementPutPortalsettingsSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PortalSignupSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-Up settings was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PortalSignupSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/portalsettings/delegation": {
+ "get": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Get",
+ "description": "Get Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementGetPortalSettingsDelegation": {
+ "$ref": "./examples/ApiManagementGetPortalSettingsDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delegation settings.",
+ "schema": {
+ "$ref": "#/definitions/PortalDelegationSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Update",
+ "description": "Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPatchPortalSettingsDelegation": {
+ "$ref": "./examples/ApiManagementPatchPortalSettingsDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PortalDelegationSettings"
+ },
+ "description": "Update Delegation settings."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the property to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delegation settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_CreateOrUpdate",
+ "description": "Create or Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPutPortalSettingsDelegation": {
+ "$ref": "./examples/ApiManagementPutPortalSettingsDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PortalDelegationSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delegation settings was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PortalDelegationSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PortalSigninSettings": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Redirect Anonymous users to the Sign-In page."
+ }
+ },
+ "description": "Sign-In settings for the Developer Portal."
+ },
+ "PortalSignupSettings": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Allow users to sign up on a developer portal."
+ },
+ "termsOfService": {
+ "type": "object",
+ "$ref": "#/definitions/TermsOfServiceProperties",
+ "description": "Terms of service contract properties."
+ }
+ },
+ "description": "Sign-up settings contract properties."
+ },
+ "TermsOfServiceProperties": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "A terms of service text."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Display terms of service during a sign-up process."
+ },
+ "consentRequired": {
+ "type": "boolean",
+ "description": "Ask user for consent to the terms of service."
+ }
+ },
+ "description": "Terms of service contract properties."
+ },
+ "PortalDelegationSettings": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A delegation Url."
+ },
+ "validationKey": {
+ "type": "string",
+ "description": "A base64-encoded validation key to validate, that a request is coming from Azure API Management."
+ },
+ "subscriptions": {
+ "$ref": "#/definitions/SubscriptionsDelegationSettingsProperties",
+ "description": "Subscriptions delegation settings."
+ },
+ "userRegistration": {
+ "$ref": "#/definitions/RegistrationDelegationSettingsProperties",
+ "description": "User registration delegation settings."
+ }
+ },
+ "description": "Delegation settings for a developer portal."
+ },
+ "SubscriptionsDelegationSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable delegation for subscriptions."
+ }
+ },
+ "description": "Subscriptions delegation settings properties."
+ },
+ "RegistrationDelegationSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable delegation for user registration."
+ }
+ },
+ "description": "User registration delegation settings properties."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json
new file mode 100644
index 000000000000..8912b14c2c58
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json
@@ -0,0 +1,917 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Product entity associated with your Azure API Management deployment. The Product entity represents a product in API Management. Products include one or more APIs and their associated terms of use. Once a product is published, developers can subscribe to the product and begin to use the product’s APIs.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/products": {
+ "get": {
+ "tags": [
+ "Products"
+ ],
+ "operationId": "Product_List",
+ "description": "Lists a collection of products in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListProducts": {
+ "$ref": "./examples/ApiManagementListProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| terms | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "expandGroups",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "When set to true, the response contains an array of groups that have visibility to the product. The default is false."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Product entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "#/definitions/ProductCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProductContract"
+ }
+ },
+ "/products/{productId}": {
+ "get": {
+ "tags": [
+ "Products"
+ ],
+ "operationId": "Product_Get",
+ "description": "Gets the details of the product specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetProducts": {
+ "$ref": "./examples/ApiManagementGetProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Product entity.",
+ "schema": {
+ "$ref": "#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Products"
+ ],
+ "operationId": "Product_CreateOrUpdate",
+ "description": "Creates or Updates a product.",
+ "x-ms-examples": {
+ "ApiManagementPutProducts": {
+ "$ref": "./examples/ApiManagementPutProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProductContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Product was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ProductContract"
+ }
+ },
+ "200": {
+ "description": "Product was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ProductContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Products"
+ ],
+ "operationId": "Product_Update",
+ "description": "Update product.",
+ "x-ms-examples": {
+ "ApiManagementPatchProducts": {
+ "$ref": "./examples/ApiManagementPatchProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProductUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Product Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content in case of Update Successfull."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Products"
+ ],
+ "operationId": "Product_Delete",
+ "description": "Delete product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProducts": {
+ "$ref": "./examples/ApiManagementDeleteProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "deleteSubscriptions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Delete existing subscriptions to the product or not."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Product Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The product was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/products/{productId}/apis": {
+ "get": {
+ "tags": [
+ "ProductApis"
+ ],
+ "operationId": "ProductApi_ListByProduct",
+ "description": "Lists a collection of the APIs associated with a product.",
+ "x-ms-examples": {
+ "ApiManagementListProductsApis": {
+ "$ref": "./examples/ApiManagementListProductsApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains a collection of Api entities in the product.",
+ "schema": {
+ "$ref": "./apimapis.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimapis.json#/definitions/ApiContract"
+ }
+ },
+ "/products/{productId}/apis/{apiId}": {
+ "put": {
+ "tags": [
+ "ProductApis"
+ ],
+ "operationId": "ProductApi_CreateOrUpdate",
+ "description": "Adds an API to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementPutProductsApis": {
+ "$ref": "./examples/ApiManagementPutProductsApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The API was successfully added to the product.",
+ "schema": {
+ "$ref": "./apimapis.json#/definitions/ApiContract"
+ }
+ },
+ "200": {
+ "description": "The specified API is already added to the product.",
+ "schema": {
+ "$ref": "./apimapis.json#/definitions/ApiContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductApis"
+ ],
+ "operationId": "ProductApi_Delete",
+ "description": "Deletes the specified API from the specified product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductsApis": {
+ "$ref": "./examples/ApiManagementDeleteProductsApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The API was successfully removed from the product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/products/{productId}/groups": {
+ "get": {
+ "tags": [
+ "ProductGroups"
+ ],
+ "operationId": "ProductGroup_ListByProduct",
+ "description": "Lists the collection of developer groups associated with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductsGroups": {
+ "$ref": "./examples/ApiManagementListProductsGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq, ne | N/A |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./apimgroups.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimgroups.json#/definitions/GroupContract"
+ }
+ },
+ "/products/{productId}/groups/{groupId}": {
+ "put": {
+ "tags": [
+ "ProductGroups"
+ ],
+ "operationId": "ProductGroup_CreateOrUpdate",
+ "description": "Adds the association between the specified developer group with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementPutProductsGroups": {
+ "$ref": "./examples/ApiManagementPutProductsGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimgroups.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The group was successfully associated with the product.",
+ "schema": {
+ "$ref": "./apimgroups.json#/definitions/GroupContract"
+ }
+ },
+ "200": {
+ "description": "The specified group is already associated with the product.",
+ "schema": {
+ "$ref": "./apimgroups.json#/definitions/GroupContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductGroups"
+ ],
+ "operationId": "ProductGroup_Delete",
+ "description": "Deletes the association between the specified group and product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductsGroups": {
+ "$ref": "./examples/ApiManagementDeleteProductsGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimgroups.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The group was successfully disassociated with the product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/products/{productId}/subscriptions": {
+ "get": {
+ "tags": [
+ "ProductSubscriptions"
+ ],
+ "operationId": "ProductSubscriptions_List",
+ "description": "Lists the collection of subscriptions to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductsSubscriptions": {
+ "$ref": "./examples/ApiManagementListProductsSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of subscription entities.",
+ "schema": {
+ "$ref": "./apimsubscriptions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimsubscriptions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/products/{productId}/policies": {
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_ListByProduct",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementListProductsPolicies": {
+ "$ref": "./examples/ApiManagementListProductsPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyCollection"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/products/{productId}/policies/{policyId}": {
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Get",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementGetProductsPolicies": {
+ "$ref": "./examples/ApiManagementGetProductsPolicies.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the Product.",
+ "x-ms-examples": {
+ "ApiManagementPutProductsPolicies": {
+ "$ref": "./examples/ApiManagementPutProductsPolicies.json"
+ }
+ },
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ },
+ "required": true,
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Product policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ }
+ },
+ "200": {
+ "description": "Product policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Delete",
+ "description": "Deletes the policy configuration at the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductsPolicies": {
+ "$ref": "./examples/ApiManagementDeleteProductsPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the product policy to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted the policy configuration at the Product level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ProductCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Products list representation."
+ },
+ "ProductContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Product entity."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductContractProperties"
+ }
+ ],
+ "description": "Product details."
+ },
+ "ProductContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Product name.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Product profile."
+ },
+ "ProductEntityBaseParameters": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Product description. May include HTML formatting tags.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "terms": {
+ "type": "string",
+ "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process."
+ },
+ "subscriptionRequired": {
+ "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.",
+ "type": "boolean"
+ },
+ "approvalRequired": {
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "type": "boolean"
+ },
+ "subscriptionsLimit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ },
+ "state": {
+ "type": "string",
+ "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.",
+ "enum": [
+ "notPublished",
+ "published"
+ ],
+ "x-ms-enum": {
+ "name": "ProductState",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Product Entity Base Parameters"
+ },
+ "ProductUpdateParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Product name.",
+ "maxLength": 300,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Product operation."
+ }
+ },
+ "parameters": {
+ "ProductIdParameter": {
+ "name": "productId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Product identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproperties.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproperties.json
new file mode 100644
index 000000000000..a71a112e6815
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproperties.json
@@ -0,0 +1,384 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Property entity associated with your Azure API Management deployment. API Management policies are a powerful capability of the system that allow the publisher to change the behavior of the API through configuration. Policies are a collection of statements that are executed sequentially on the request or response of an API. Policy statements can be constructed using literal text values, policy expressions, and properties. Each API Management service instance has a properties collection of key/value pairs that are global to the service instance. These properties can be used to manage constant string values across all API configuration and policies.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/properties": {
+ "get": {
+ "tags": [
+ "Property"
+ ],
+ "operationId": "Property_List",
+ "description": "Lists a collection of properties defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListProperties": {
+ "$ref": "./examples/ApiManagementListProperties.json"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-properties"
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|-------------------------------------------------------|\n| tags | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Property entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "#/definitions/PropertyCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/PropertyContract"
+ }
+ },
+ "/properties/{propId}": {
+ "get": {
+ "tags": [
+ "Property"
+ ],
+ "operationId": "Property_Get",
+ "description": "Gets the details of the property specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetProperties": {
+ "$ref": "./examples/ApiManagementGetProperties.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PropertyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Property entity.",
+ "schema": {
+ "$ref": "#/definitions/PropertyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Property"
+ ],
+ "operationId": "Property_CreateOrUpdate",
+ "description": "Creates or updates a property.",
+ "x-ms-examples": {
+ "ApiManagementPutProperties": {
+ "$ref": "./examples/ApiManagementPutProperties.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PropertyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PropertyContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Property was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/PropertyContract"
+ }
+ },
+ "200": {
+ "description": "Property was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PropertyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Property"
+ ],
+ "operationId": "Property_Update",
+ "description": "Updates the specific property.",
+ "x-ms-examples": {
+ "ApiManagementPatchProperties": {
+ "$ref": "./examples/ApiManagementPatchProperties.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PropertyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PropertyUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the property to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Property was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Property"
+ ],
+ "operationId": "Property_Delete",
+ "description": "Deletes specific property from the the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProperties": {
+ "$ref": "./examples/ApiManagementDeleteProperties.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PropertyIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the property to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Property was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PropertyCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PropertyContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Property list representation."
+ },
+ "PropertyContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Property."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyContractProperties"
+ }
+ ],
+ "description": "Property details."
+ },
+ "PropertyContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.",
+ "minLength": 1,
+ "maxLength": 4096
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "Property Contract properties."
+ },
+ "PropertyUpdateParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.",
+ "minLength": 1,
+ "maxLength": 4096
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyEntityBaseParameters"
+ }
+ ],
+ "description": "Property Contract properties."
+ },
+ "PropertyEntityBaseParameters": {
+ "properties": {
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "Optional tags that when provided can be used to filter the property list."
+ },
+ "secret": {
+ "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false.",
+ "type": "boolean"
+ }
+ },
+ "description": "Property Entity Base Parameters set."
+ }
+ },
+ "parameters": {
+ "PropertyIdParameter": {
+ "name": "propId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the property.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimquotas.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimquotas.json
new file mode 100644
index 000000000000..5af065078f88
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimquotas.json
@@ -0,0 +1,313 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Quota entity associated with your Azure API Management deployment. To configure call rate limit and quota policies refer to [how to configure call rate limit and quota](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies).",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/quotas/{quotaCounterKey}": {
+ "get": {
+ "tags": [
+ "QuotaByCounterKeys"
+ ],
+ "operationId": "QuotaByCounterKeys_List",
+ "description": "Lists a collection of current quota counter periods associated with the counter-key configured in the policy on the specified service instance. The api does not support paging yet.",
+ "x-ms-examples": {
+ "ApiManagementGetQuotas": {
+ "$ref": "./examples/ApiManagementGetQuotas.json"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies",
+ "description": "Document describing how to configure the quota policies."
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of the quota counter values.",
+ "schema": {
+ "$ref": "#/definitions/QuotaCounterCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QuotaByCounterKeys"
+ ],
+ "operationId": "QuotaByCounterKeys_Update",
+ "description": "Updates all the quota counter values specified with the existing quota counter key to a value in the specified service instance. This should be used for reset of the quota counter values.",
+ "x-ms-examples": {
+ "ApiManagementPatchQuotas": {
+ "$ref": "./examples/ApiManagementPatchQuotas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QuotaCounterValueContractProperties"
+ },
+ "description": "The value of the quota counter to be applied to all quota counter periods."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Quota counter period was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/quotas/{quotaCounterKey}/{quotaPeriodKey}": {
+ "get": {
+ "tags": [
+ "QuotaByPeriodKeys"
+ ],
+ "operationId": "QuotaByPeriodKeys_Get",
+ "description": "Gets the value of the quota counter associated with the counter-key in the policy for the specific period in service instance.",
+ "x-ms-examples": {
+ "ApiManagementGetQuotasByQuotaPeriod": {
+ "$ref": "./examples/ApiManagementGetQuotasByQuotaPeriod.json"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies",
+ "description": "Document describing how to configure the quota policies."
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaPeriodKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Quota counter details for the specified period.",
+ "schema": {
+ "$ref": "#/definitions/QuotaCounterContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QuotaByPeriodKeys"
+ ],
+ "operationId": "QuotaByPeriodKeys_Update",
+ "description": "Updates an existing quota counter value in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementPatchQuotasByQuotaPeriod": {
+ "$ref": "./examples/ApiManagementPatchQuotasByQuotaPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaPeriodKeyParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QuotaCounterValueContractProperties"
+ },
+ "description": "The value of the Quota counter to be applied on the specified period."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The quota counter value was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "QuotaCounterCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QuotaCounterContract"
+ },
+ "description": "Quota counter values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Quota Counter list representation."
+ },
+ "QuotaCounterContract": {
+ "properties": {
+ "counterKey": {
+ "type": "string",
+ "description": "The Key value of the Counter. Must not be empty.",
+ "minLength": 1
+ },
+ "periodKey": {
+ "type": "string",
+ "description": "Identifier of the Period for which the counter was collected. Must not be empty.",
+ "minLength": 1
+ },
+ "periodStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "periodEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "Value": {
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota Value Properties"
+ }
+ },
+ "required": [
+ "counterKey",
+ "periodKey",
+ "periodStartTime",
+ "periodEndTime"
+ ],
+ "description": "Quota counter details."
+ },
+ "QuotaCounterValueContract": {
+ "properties": {
+ "value": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota counter Value Properties."
+ }
+ },
+ "description": "Quota counter value details."
+ },
+ "QuotaCounterValueContractProperties": {
+ "properties": {
+ "callsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times Counter was called."
+ },
+ "kbTransferred": {
+ "type": "number",
+ "format": "double",
+ "description": "Data Transferred in KiloBytes."
+ }
+ },
+ "description": "Quota counter value details."
+ }
+ },
+ "parameters": {
+ "QuotaCounterKeyParameter": {
+ "name": "quotaCounterKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota counter key identifier.This is the result of expression defined in counter-key attribute of the quota-by-key policy.For Example, if you specify counter-key=\"boo\" in the policy, then it’s accessible by \"boo\" counter key. But if it’s defined as counter-key=\"@(\"b\"+\"a\")\" then it will be accessible by \"ba\" key",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaPeriodKeyParameter": {
+ "name": "quotaPeriodKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota period key identifier.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimreports.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimreports.json
new file mode 100644
index 000000000000..f7dae0d437cf
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimreports.json
@@ -0,0 +1,658 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/reports/byApi": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByApi",
+ "description": "Lists report records by API.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByApi": {
+ "$ref": "./examples/ApiManagementGetReportsByApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ReportRecordContract"
+ }
+ },
+ "/reports/byUser": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByUser",
+ "description": "Lists report records by User.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByUser": {
+ "$ref": "./examples/ApiManagementGetReportsByUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ReportRecordContract"
+ }
+ },
+ "/reports/byOperation": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByOperation",
+ "description": "Lists report records by API Operations.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByOperation": {
+ "$ref": "./examples/ApiManagementGetReportsByOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ReportRecordContract"
+ }
+ },
+ "/reports/byProduct": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByProduct",
+ "description": "Lists report records by Product.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByProduct": {
+ "$ref": "./examples/ApiManagementGetReportsByProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ReportRecordContract"
+ }
+ },
+ "/reports/byGeo": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByGeo",
+ "description": "Lists report records by GeoGraphy.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByGeo": {
+ "$ref": "./examples/ApiManagementGetReportsByGeo.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ReportRecordContract"
+ }
+ },
+ "/reports/bySubscription": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListBySubscription",
+ "description": "Lists report records by subscription.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsBySubscription": {
+ "$ref": "./examples/ApiManagementGetReportsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ReportRecordContract"
+ }
+ },
+ "/reports/byTime": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByTime",
+ "description": "Lists report records by Time.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByTime": {
+ "$ref": "./examples/ApiManagementGetReportsByTime.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "interval",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "format": "duration",
+ "description": "By time interval. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, secconds))"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ReportRecordContract"
+ }
+ },
+ "/reports/byRequest": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByRequest",
+ "description": "Lists report records by Request.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByRequest": {
+ "$ref": "./examples/ApiManagementGetReportsByRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "#/definitions/RequestReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-odata": "#/definitions/RequestReportRecordContract"
+ }
+ }
+ },
+ "definitions": {
+ "ReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "ReportRecordContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name depending on report endpoint specifies product, API, operation or developer name."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "interval": {
+ "type": "string",
+ "description": "Length of agregation period. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations)."
+ },
+ "country": {
+ "type": "string",
+ "description": "Country to which this record data is related."
+ },
+ "region": {
+ "type": "string",
+ "description": "Country region to which this record data is related."
+ },
+ "zip": {
+ "type": "string",
+ "description": "Zip code to which this record data is related."
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "API region identifier."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "callCountSuccess": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of succesful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect"
+ },
+ "callCountBlocked": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorize and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests"
+ },
+ "callCountFailed": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600"
+ },
+ "callCountOther": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of other calls."
+ },
+ "callCountTotal": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of calls."
+ },
+ "bandwidth": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bandwidth consumed."
+ },
+ "cacheHitCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times when content was served from cache policy."
+ },
+ "cacheMissCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times content was fetched from backend."
+ },
+ "apiTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request."
+ },
+ "apiTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request."
+ },
+ "apiTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request."
+ },
+ "serviceTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request on backend."
+ },
+ "serviceTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request on backend."
+ },
+ "serviceTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request on backend."
+ }
+ },
+ "description": "Report data."
+ },
+ "RequestReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RequestReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "RequestReportRecordContract": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "method": {
+ "type": "string",
+ "description": "The HTTP method associated with this request.."
+ },
+ "url": {
+ "type": "string",
+ "description": "The full URL associated with this request."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The client IP address associated with this request."
+ },
+ "backendResponseCode": {
+ "type": "string",
+ "description": "The HTTP status code received by the gateway as a result of forwarding this request to the backend."
+ },
+ "responseCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The HTTP status code returned by the gateway."
+ },
+ "responseSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of the response returned by the gateway."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when this request was received by the gateway in ISO 8601 format."
+ },
+ "cache": {
+ "type": "string",
+ "description": "Specifies if response cache was involved in generating the response. If the value is none, the cache was not used. If the value is hit, cached response was returned. If the value is miss, the cache was used but lookup resulted in a miss and request was fullfilled by the backend."
+ },
+ "apiTime": {
+ "type": "number",
+ "format": "double",
+ "description": "The total time it took to process this request."
+ },
+ "serviceTime": {
+ "type": "number",
+ "format": "double",
+ "description": "he time it took to forward this request to the backend and get the response back."
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "Azure region where the gateway that processed this request is located."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "requestId": {
+ "type": "string",
+ "description": "Request Identifier."
+ },
+ "requestSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of this request.."
+ }
+ },
+ "description": "Request Report data."
+ }
+ },
+ "parameters": {}
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimsubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimsubscriptions.json
new file mode 100644
index 000000000000..31100ae142a7
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimsubscriptions.json
@@ -0,0 +1,599 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Subscription entity associated with your Azure API Management deployment. The Subscription entity represents the association between a user and a product in API Management. Products contain one or more APIs, and once a product is published, developers can subscribe to the product and begin to use the product’s APIs.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/subscriptions": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_List",
+ "description": "Lists all subscriptions of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListSubscriptions": {
+ "$ref": "./examples/ApiManagementListSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A collection of the Subscription entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{sid}": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_Get",
+ "description": "Gets the specified Subscription entity.",
+ "x-ms-examples": {
+ "ApiManagementGetSubscriptions": {
+ "$ref": "./examples/ApiManagementGetSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Subscription entity.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_CreateOrUpdate",
+ "description": "Creates or updates the subscription of specified user to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementPutSubscriptions": {
+ "$ref": "./examples/ApiManagementPutSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "description": "Notify the subscriber of the subscription state change to Submitted or Active state.",
+ "type": "string",
+ "enum": [
+ "False",
+ "True"
+ ],
+ "default": "False"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The user was successfully subscribed to the product.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionContract"
+ }
+ },
+ "200": {
+ "description": "The user already subscribed to the product.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_Update",
+ "description": "Updates the details of a subscription specificied by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementPatchSubscriptions": {
+ "$ref": "./examples/ApiManagementPatchSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SubscriptionUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Subscription Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "description": "Notify the subscriber of the subscription state change to Submitted or Active state.",
+ "type": "string",
+ "enum": [
+ "False",
+ "True"
+ ],
+ "default": "False"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The subscription details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_Delete",
+ "description": "Deletes the specified subscription.",
+ "x-ms-examples": {
+ "ApiManagementDeleteSubscriptions": {
+ "$ref": "./examples/ApiManagementDeleteSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Subscription Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The subscription details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{sid}/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_RegeneratePrimaryKey",
+ "description": "Regenerates primary key of existing subscription of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementPostSubscriptionsRegenerateprimarykey": {
+ "$ref": "./examples/ApiManagementPostSubscriptionsRegenerateprimarykey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{sid}/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_RegenerateSecondaryKey",
+ "description": "Regenerates secondary key of existing subscription of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementPostSubscriptionsRegeneratesecondarykey": {
+ "$ref": "./examples/ApiManagementPostSubscriptionsRegeneratesecondarykey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SubscriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionContract"
+ },
+ "description": "Page values."
+ },
+ "count":{
+ "type" : "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Subscriptions list representation."
+ },
+ "SubscriptionContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the Subscription."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubscriptionContractProperties"
+ }
+ ],
+ "description": "Subscription details."
+ },
+ "SubscriptionContractProperties": {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{uid} where {uid} is a user identifier."
+ },
+ "productId": {
+ "type": "string",
+ "description": "The product resource identifier of the subscribed product. The value is a valid relative URL in the format of /products/{productId} where {productId} is a product identifier."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the subscription, or null if the subscription has no name.",
+ "minLength": 0,
+ "maxLength": 100
+ },
+ "state": {
+ "type": "string",
+ "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n",
+ "readOnly": true
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "notificationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Subscription primary key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Subscription secondary key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "stateComment": {
+ "type": "string",
+ "description": "Optional subscription comment added by an administrator."
+ }
+ },
+ "required": [
+ "userId",
+ "productId",
+ "state",
+ "primaryKey",
+ "secondaryKey"
+ ],
+ "description": "Subscription details."
+ },
+ "SubscriptionCreateParameters": {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "User (user id path) for whom subscription is being created in form /users/{uid}"
+ },
+ "productId": {
+ "type": "string",
+ "description": "Product (product id path) for which subscription is being created in form /products/{productid}"
+ },
+ "name": {
+ "type": "string",
+ "description": "Subscription name.",
+ "minLength": 0,
+ "maxLength": 100
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary subscription key. If not specified during request key will be generated automatically.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary subscription key. If not specified during request key will be generated automatically.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "state": {
+ "type": "string",
+ "description": "Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "userId",
+ "productId"
+ ],
+ "description": "Parameters supplied to the Create subscription operation."
+ },
+ "SubscriptionUpdateParameters": {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "User identifier path: /users/{uid}"
+ },
+ "productId": {
+ "type": "string",
+ "description": "Product identifier path: /products/{productId}"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard."
+ },
+ "name": {
+ "type": "string",
+ "description": "Subscription name."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary subscription key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary subscription key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "state": {
+ "type": "string",
+ "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "stateComment": {
+ "type": "string",
+ "description": "Comments describing subscription state change by the administrator."
+ }
+ },
+ "description": "Parameters supplied to the Update subscription operation."
+ }
+ },
+ "parameters": {
+ "SubscriptionEntityIdParameter": {
+ "name": "sid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimtenant.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimtenant.json
new file mode 100644
index 000000000000..369cb628eded
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimtenant.json
@@ -0,0 +1,685 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on tenant entity associated with your Azure API Management deployment. Using this entity you can manage properties and configuration that apply to the entire API Management service instance.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/tenant/{accessName}": {
+ "get": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Get",
+ "description": "Get tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementGetTenant": {
+ "$ref": "./examples/ApiManagementGetTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information.",
+ "schema": {
+ "$ref": "#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Update",
+ "description": "Update tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementPatchTenant": {
+ "$ref": "./examples/ApiManagementPatchTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccessInformationUpdateParameters"
+ },
+ "description": "Parameters supplied to retrieve the Tenant Access Information."
+ },
+ {
+ "$ref": "#/parameters/AccessParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the property to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tenant's access information updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{accessName}/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key.",
+ "x-ms-examples": {
+ "ApiManagementPostTenantRegenerateprimarykey": {
+ "$ref": "./examples/ApiManagementPostTenantRegenerateprimarykey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{accessName}/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key.",
+ "x-ms-examples": {
+ "ApiManagementPostTenantRegeneratesecondarykey": {
+ "$ref": "./examples/ApiManagementPostTenantRegeneratesecondarykey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{accessName}/git": {
+ "get": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_Get",
+ "description": "Gets the Git access configuration for the tenant.",
+ "x-ms-examples": {
+ "ApiManagementListTenantGit": {
+ "$ref": "./examples/ApiManagementListTenantGit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Git Access Information for the Service.",
+ "schema": {
+ "$ref": "#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{accessName}/git/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementPostTenantGit": {
+ "$ref": "./examples/ApiManagementPostTenantGit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{accessName}/git/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementPostTenantGit": {
+ "$ref": "./examples/ApiManagementPostTenantGit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{configurationName}/deploy": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Deploy",
+ "description": "This operation applies changes from the specified Git branch to the configuration database. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementPostTenantDeploy": {
+ "$ref": "./examples/ApiManagementPostTenantDeploy.json"
+ }
+ },
+ "externalDocs": {
+ "description": "To deploy any service configuration changes to the API Management service instance",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-deploy-any-service-configuration-changes-to-the-api-management-service-instance"
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Deploy Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of appplying changes from Git branch to database.",
+ "schema": {
+ "$ref": "#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{configurationName}/save": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Save",
+ "description": "This operation creates a commit with the current configuration snapshot to the specified branch in the repository. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementPostTenantSave": {
+ "$ref": "./examples/ApiManagementPostTenantSave.json"
+ }
+ },
+ "externalDocs": {
+ "description": "To save the service configuration to the Git repository",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-save-the-service-configuration-to-the-git-repository"
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SaveConfigurationParameter"
+ },
+ "description": "Save Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of creating a commit in the repository.",
+ "schema": {
+ "$ref": "#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{configurationName}/validate": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Validate",
+ "description": "This operation validates the changes in the specified Git branch. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementPostTenantValidate": {
+ "$ref": "./examples/ApiManagementPostTenantValidate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Validate Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of validating the changes in the specified Git branch.",
+ "schema": {
+ "$ref": "#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/tenant/{configurationName}/syncState": {
+ "get": {
+ "tags": [
+ "TenantConfigurationSyncState"
+ ],
+ "operationId": "TenantConfiguration_GetSyncState",
+ "description": "Gets the status of the most recent synchronization between the configuration database and the Git repository.",
+ "x-ms-examples": {
+ "ApiManagementListTenantSyncstate": {
+ "$ref": "./examples/ApiManagementListTenantSyncstate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sync state result.",
+ "schema": {
+ "$ref": "#/definitions/TenantConfigurationSyncStateContract"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AccessInformationContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary access key."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary access key."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Tenant access information of the API Management service."
+ }
+ },
+ "description": "Tenant access information contract of the API Management service."
+ },
+ "AccessInformationUpdateParameters": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Tenant access information of the API Management service."
+ }
+ },
+ "description": "Tenant access information update parameters of the API Management service."
+ },
+ "DeployConfigurationParameters": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch from which the configuration is to be deployed to the configuration database."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value enforcing deleting subscriptions to products that are deleted in this update."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Deploy Configuration operation."
+ },
+ "OperationResultContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Operation result identifier."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of an async operation.",
+ "enum": [
+ "Started",
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "AsyncOperationStatus",
+ "modelAsString": false
+ }
+ },
+ "started": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "updated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "resultInfo": {
+ "type": "string",
+ "description": "Optional result info."
+ },
+ "error": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse",
+ "description": "Error Body Contract"
+ },
+ "actionLog": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResultLogItemContract"
+ },
+ "readOnly": true,
+ "description": "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."
+ }
+ },
+ "description": "Operation Result."
+ },
+ "OperationResultLogItemContract": {
+ "properties": {
+ "objectType": {
+ "type": "string",
+ "description": "The type of entity contract."
+ },
+ "action": {
+ "type": "string",
+ "description": "Action like create/update/delete."
+ },
+ "objectKey": {
+ "type": "string",
+ "description": "Identifier of the entity being created/updated/deleted."
+ }
+ },
+ "description": "Log of the entity being created, updated or deleted."
+ },
+ "SaveConfigurationParameter": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch in which to commit the current configuration snapshot."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be overwritten."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Save Tenant Configuration operation."
+ },
+ "TenantConfigurationSyncStateContract": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of Git branch."
+ },
+ "commitId": {
+ "type": "string",
+ "description": "The latest commit Id."
+ },
+ "isExport": {
+ "type": "boolean",
+ "description": "value indicating if last sync was save (true) or deploy (false) operation."
+ },
+ "isSynced": {
+ "type": "boolean",
+ "description": "value indicating if last synchronization was later than the configuration change."
+ },
+ "isGitEnabled": {
+ "type": "boolean",
+ "description": "value indicating whether Git configuration access is enabled."
+ },
+ "syncDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "configurationChangeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "description": "Tenant Configuration Synchronization State."
+ }
+ },
+ "parameters": {
+ "AccessParameter": {
+ "name": "accessName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "access"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AccessIdName"
+ },
+ "description": "The identifier of the Access configuration.",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "configuration"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "configurationIdName"
+ },
+ "description": "The identifier of the Git Configuration Operation.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimusers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimusers.json
new file mode 100644
index 000000000000..b787439ee50d
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimusers.json
@@ -0,0 +1,786 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on User entity in Azure API Management deployment. The User entity in API Management represents the developers that call the APIs of the products to which they are subscribed.",
+ "version": "2017-03-01"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{apimBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "apimBaseUrl",
+ "description": "The management endpoint of the API Management service, for example https://myapimservice.management.azure-api.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "paths": {
+ "/users": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_List",
+ "description": "Lists a collection of registered users in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListUsers": {
+ "$ref": "./examples/ApiManagementListUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|------------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| firstName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| lastName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| email | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | N/A |\n| registrationDate | ge, le, eq, ne, gt, lt | N/A |\n| note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of User entities.",
+ "schema": {
+ "$ref": "#/definitions/UserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/UserContract"
+ }
+ },
+ "/users/{uid}": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_Get",
+ "description": "Gets the details of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetUsers": {
+ "$ref": "./examples/ApiManagementGetUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the specified user entity.",
+ "schema": {
+ "$ref": "#/definitions/UserContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_CreateOrUpdate",
+ "description": "Creates or Updates a user.",
+ "x-ms-examples": {
+ "ApiManagementPutUsers": {
+ "$ref": "./examples/ApiManagementPutUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UserCreateParameters"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "User was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/UserContract"
+ }
+ },
+ "200": {
+ "description": "User was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_Update",
+ "description": "Updates the details of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementPatchUsers": {
+ "$ref": "./examples/ApiManagementPatchUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UserUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the user to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The user details were successfully updated."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 405 Administrator user cannot be modified\n\n * 4XX Error response giving details why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_Delete",
+ "description": "Deletes specific user.",
+ "x-ms-examples": {
+ "ApiManagementDeleteUsers": {
+ "$ref": "./examples/ApiManagementDeleteUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "name": "deleteSubscriptions",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "False",
+ "True"
+ ],
+ "default": "False",
+ "description": "Whether to delete user's subscription or not."
+ },
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "False",
+ "True"
+ ],
+ "default": "False",
+ "description": "Send an Account Closed Email notification to the User."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the user to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The user details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/users/{uid}/generateSsoUrl": {
+ "post": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_GenerateSsoUrl",
+ "description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.",
+ "x-ms-examples": {
+ "ApiManagementPostUsersGeneratessourl": {
+ "$ref": "./examples/ApiManagementPostUsersGeneratessourl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the single sign-on URL.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GenerateSsoUrlResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/users/{uid}/groups": {
+ "get": {
+ "tags": [
+ "UserGroups"
+ ],
+ "operationId": "UserGroup_List",
+ "description": "Lists all user groups.",
+ "x-ms-examples": {
+ "ApiManagementListUsersGroups": {
+ "$ref": "./examples/ApiManagementListUsersGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./apimgroups.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimgroups.json#/definitions/GroupContract"
+ }
+ },
+ "/users/{uid}/subscriptions": {
+ "get": {
+ "tags": [
+ "UserSubscriptions"
+ ],
+ "operationId": "UserSubscription_List",
+ "description": "Lists the collection of subscriptions of the specified user.",
+ "x-ms-examples": {
+ "ApiManagementListUsersSubscriptions": {
+ "$ref": "./examples/ApiManagementListUsersSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Subscription entities.",
+ "schema": {
+ "$ref": "./apimsubscriptions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimsubscriptions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/users/{uid}/identities": {
+ "get": {
+ "tags": [
+ "UserIdentities"
+ ],
+ "operationId": "UserIdentities_List",
+ "description": "Lists all user identities.",
+ "x-ms-examples": {
+ "ApiManagementListUsersIdentities": {
+ "$ref": "./examples/ApiManagementListUsersIdentities.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "Lists of User Identities.",
+ "schema": {
+ "$ref": "#/definitions/UserIdentityCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/users/{uid}/token": {
+ "post": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_GetSharedAccessToken",
+ "description": "Gets the Shared Access Authorization Token for the User.",
+ "x-ms-examples": {
+ "ApiManagementPostUsersToken": {
+ "$ref": "./examples/ApiManagementPostUsersToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UserTokenParameters"
+ },
+ "description": "Create Authorization Token parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the authorization token for the user.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserTokenResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "GenerateSsoUrlResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Redirect Url containing the SSO URL value."
+ }
+ },
+ "description": "Generate SSO Url operations response details."
+ },
+ "UserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of entities"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Users list representation."
+ },
+ "UserContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the entity."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserContractProperties"
+ }
+ ],
+ "description": "User details."
+ },
+ "UserContractProperties": {
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "First name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name."
+ },
+ "email": {
+ "type": "string",
+ "description": "Email address."
+ },
+ "registrationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "groups": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./apimgroups.json#/definitions/GroupContract"
+ },
+ "description": "Collection of groups user is part of."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "description": "User profile."
+ },
+ "UserCreateParameters": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address. Must not be empty and must be unique within the service instance.",
+ "minLength": 1,
+ "maxLength": 254
+ },
+ "firstName": {
+ "type": "string",
+ "description": "First name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "password": {
+ "type": "string",
+ "description": "User Password. If no value is provided, a default password is generated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "email",
+ "firstName",
+ "lastName"
+ ],
+ "description": "Parameters supplied to the Create User operation."
+ },
+ "UserEntityBaseParameters": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active.",
+ "enum": [
+ "active",
+ "blocked"
+ ],
+ "default": "active",
+ "x-ms-enum": {
+ "name": "UserState",
+ "modelAsString": true
+ }
+ },
+ "note": {
+ "type": "string",
+ "description": "Optional note about a user set by the administrator."
+ },
+ "identities": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserIdentityContract"
+ },
+ "description": "Collection of user identities."
+ }
+ },
+ "description": "User Entity Base Parameters set."
+ },
+ "UserIdentityCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserIdentityContract"
+ },
+ "description": "User Identity values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "List of Users Identity list representation."
+ },
+ "UserIdentityContract": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Identity provider name."
+ },
+ "id": {
+ "type": "string",
+ "description": "Identifier value within provider."
+ }
+ },
+ "description": "User identity details."
+ },
+ "UserTokenParameters": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The Key to be used to generate token for user.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "default": "primary",
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "required": [
+ "keyType",
+ "expiry"
+ ],
+ "description": "Parameters supplied to the Get User Token operation."
+ },
+ "UserTokenResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Shared Access Authorization token for the User."
+ }
+ },
+ "description": "Get User Token response details."
+ },
+ "UserUpdateParameters": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address. Must not be empty and must be unique within the service instance.",
+ "minLength": 1,
+ "maxLength": 254
+ },
+ "password": {
+ "type": "string",
+ "description": "User Password."
+ },
+ "firstName": {
+ "type": "string",
+ "description": "First name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name.",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update User operation."
+ }
+ },
+ "parameters": {
+ "UserIdParameter": {
+ "name": "uid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "User identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApis.json
new file mode 100644
index 000000000000..7b11e3d61568
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApis.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bb37a40f7ef2e05bd7f2",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAD08=\""
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisOperations.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisOperations.json
new file mode 100644
index 000000000000..31c7394da928
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisOperations.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bb3ea40f7ef2e05bd937",
+ "operationId": "5a58bb3ea40f7ef2e05bd938",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisOperationsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisOperationsPolicies.json
new file mode 100644
index 000000000000..0b30d8f2c8cf
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisOperationsPolicies.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "apiId": "testapi",
+ "operationId": "testoperation",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisPolicies.json
new file mode 100644
index 000000000000..4384d6bc1063
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisPolicies.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "apiId": "loggerId",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisSchemas.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisSchemas.json
new file mode 100644
index 000000000000..b54384886a28
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteApisSchemas.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bfd4a40f7e104892c4d2",
+ "schemaId": "5a58bfd4a40f7e104892c4d3",
+ "force": "True",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAKhk=\""
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteAuthorizationservers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteAuthorizationservers.json
new file mode 100644
index 000000000000..b6e722a03e8b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteAuthorizationservers.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "authsid": "5a58bebda40f7e104892b414",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAI0Q=\""
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteBackends.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteBackends.json
new file mode 100644
index 000000000000..d38bbb213b24
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteBackends.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "backendid": "5a58bad2a40f7ef2e05bcce3",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteCertificates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteCertificates.json
new file mode 100644
index 000000000000..e4d8d9bd4d12
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteCertificates.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "certificateId": "5a58bb04a40f7ef2e05bd3a6",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteGroups.json
new file mode 100644
index 000000000000..12515325eef0
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteGroups.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "groupId": "5a58bb18a40f7ef2e05bd532",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteGroupsUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteGroupsUsers.json
new file mode 100644
index 000000000000..c74c5b44259d
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteGroupsUsers.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "groupId": "5a58bae8a40f7ef2e05bcda2",
+ "uid": "5a58bae8a40f7ef2e05bcda5",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteIdentityproviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteIdentityproviders.json
new file mode 100644
index 000000000000..53cd338b4348
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteIdentityproviders.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "identityProviderName": "aadB2C",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteLoggers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteLoggers.json
new file mode 100644
index 000000000000..ecbe71349052
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteLoggers.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "loggerid": "5a58bc70a40f7e1048929950",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAF30=\""
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteOpenIdConnectProviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteOpenIdConnectProviders.json
new file mode 100644
index 000000000000..5ec6c1fd1a7b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteOpenIdConnectProviders.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "opid": "templateOpenIdConnect3",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeletePolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeletePolicies.json
new file mode 100644
index 000000000000..e780fc2f904b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeletePolicies.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProducts.json
new file mode 100644
index 000000000000..a9285d4239e4
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProducts.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bb0ea40f7ef2e05bd40e",
+ "deleteSubscriptions": true,
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAADJg=\""
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsApis.json
new file mode 100644
index 000000000000..dbe8939ad726
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsApis.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bd5aa40f7e104892a53c",
+ "apiId": "5a58bd5aa40f7e104892a541",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsGroups.json
new file mode 100644
index 000000000000..1666067c2243
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsGroups.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bbf3a40f7e1048928f67",
+ "groupId": "5a58bbf3a40f7e1048928f6c",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsPolicies.json
new file mode 100644
index 000000000000..c93165f652aa
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProductsPolicies.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "starter",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProperties.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProperties.json
new file mode 100644
index 000000000000..9c5d042400d3
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteProperties.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "propId": "5a58bd51a40f7e104892a4cf",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteSubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteSubscriptions.json
new file mode 100644
index 000000000000..50b19ddd6898
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteSubscriptions.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "sid": "5a58bcd5a40f7e1048929a61",
+ "api-version": "2017-03-01",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteTemplates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteTemplates.json
new file mode 100644
index 000000000000..67ac544b9873
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteTemplates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "templateName": "newIssueNotificationMessage",
+ "api-version": "2017-03-01",
+ "Accept": "application/json",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteUsers.json
new file mode 100644
index 000000000000..1aeb34dea1ea
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteUsers.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "5a58bb00a40f7ef2e05bd23e",
+ "deleteSubscriptions": "False",
+ "notify": "False",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAACqkAAAAAAAAKqw==\""
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApis.json
new file mode 100644
index 000000000000..88da625c288a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApis.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bafaa40f7ef2e05bcfbe",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/apis/5a58bafaa40f7ef2e05bcfbe",
+ "name": "api_5a58bafaa40f7ef2e05bcfbf",
+ "apiRevision": "1",
+ "description": "description_5a58bafaa40f7ef2e05bcfc0",
+ "serviceUrl": "http://contoso/5a58bafaa40f7ef2e05bcfc1",
+ "path": "suffix_5a58bafaa40f7ef2e05bcfc2",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisOperations.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisOperations.json
new file mode 100644
index 000000000000..7a95914344f2
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisOperations.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bac3a40f7ef2e05bc7db",
+ "operationId": "5a58bad9a40f7ef2e05bcd0f",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58bad9a40f7ef2e05bcd0f",
+ "name": "operation_5a58bad9a40f7ef2e05bcd0d",
+ "method": "PATCH",
+ "urlTemplate": "/template_5a58bad9a40f7ef2e05bcd0e",
+ "templateParameters": [],
+ "request": {
+ "queryParameters": [],
+ "headers": [],
+ "representations": []
+ },
+ "responses": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisOperationsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisOperationsPolicies.json
new file mode 100644
index 000000000000..f39a24cde435
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisOperationsPolicies.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bfeea40f7e104892c5b6",
+ "operationId": "5a58bfeea40f7e104892c5c9",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/apis/5a58bfeea40f7e104892c5b6/operations/5a58bfeea40f7e104892c5c9/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisPolicies.json
new file mode 100644
index 000000000000..08606bf71dfc
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisPolicies.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bf63a40f7e104892bdaf",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/apis/5a58bf63a40f7e104892bdaf/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n version\r\n Accept\r\n Accept-Charset\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisSchemas.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisSchemas.json
new file mode 100644
index 000000000000..adcce96edf23
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetApisSchemas.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bde0a40f7e104892ac24",
+ "schemaId": "5a58bde0a40f7e104892ac25",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/apis/5a58bde0a40f7e104892ac24/schemas/5a58bde0a40f7e104892ac25",
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetAuthorizationservers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetAuthorizationservers.json
new file mode 100644
index 000000000000..32797523e36a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetAuthorizationservers.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "authsid": "5a58bd24a40f7e104892a241",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/authorizationServers/5a58bd24a40f7e104892a241",
+ "name": "660e8b6e-baa4-443e-ae8d-208b25ee560b",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": null,
+ "tokenBodyParameters": null,
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetBackends.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetBackends.json
new file mode 100644
index 000000000000..dc3cda87b98b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetBackends.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "backendid": "5a58bb49a40f7ef2e05bd990",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/backends/5a58bb49a40f7ef2e05bd990",
+ "title": null,
+ "description": "Service Fabric Test App: 5a58bb49a40f7ef2e05bd990",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "http://somecluster.com"
+ ],
+ "clientCertificateThumbprint": "C0F0AE5B3D8E1DF7A32FCB0BB1B43C8A704C54FF",
+ "maxPartitionResolutionRetries": 5,
+ "partitionResolutionRequestTimeout": "PT5M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetCertificates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetCertificates.json
new file mode 100644
index 000000000000..6c434b812420
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetCertificates.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "certificateId": "5a58be29a40f7e104892af64",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/certificates/5a58be29a40f7e104892af64",
+ "subject": "CN=localhost",
+ "thumbprint": "F71A638FEC037AA826A30755DF2732DB5A4CB776",
+ "expirationDate": "2019-01-12T00:00:00Z"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetGroups.json
new file mode 100644
index 000000000000..1c5ec7645bab
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetGroups.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "groupId": "5a58baeea40f7ef2e05bcf5a",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/groups/5a58baeea40f7ef2e05bcf5a",
+ "name": "5a58baeea40f7ef2e05bcf5b",
+ "builtIn": false,
+ "type": "custom"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetIdentityproviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetIdentityproviders.json
new file mode 100644
index 000000000000..38fd8cd9769a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetIdentityproviders.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "identityProviderName": "google",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/identityProviders/Google",
+ "clientId": "FOLBTMWPUI",
+ "clientSecret": "GVGOUEEPZYUHRDIATOXM",
+ "type": "google"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetLoggers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetLoggers.json
new file mode 100644
index 000000000000..0f4f821fae75
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetLoggers.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "loggerid": "5a58bc37a40f7e1048929319",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/loggers/5a58bc37a40f7e1048929319",
+ "loggerType": "azureEventHub",
+ "description": "first eventhub logger",
+ "credentials": {
+ "name": "testeventhub3",
+ "connectionString": "{{Logger-Credentials-5a58bc39a40f7e104892931b}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetOpenIdConnectProviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetOpenIdConnectProviders.json
new file mode 100644
index 000000000000..13a4aa65ffd6
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetOpenIdConnectProviders.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "opid": "op1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/openidConnectProviders/op1",
+ "name": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPolicies.json
new file mode 100644
index 000000000000..617809460b2b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/policies/policy",
+ "policyContent": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingSignIn.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingSignIn.json
new file mode 100644
index 000000000000..4a18f66e7227
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingSignIn.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "enabled": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingsDelegation.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingsDelegation.json
new file mode 100644
index 000000000000..871014648d40
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingsDelegation.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingsSignUp.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingsSignUp.json
new file mode 100644
index 000000000000..ab99866f5bd8
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingsSignUp.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service text.",
+ "enabled": true,
+ "consentRequired": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProducts.json
new file mode 100644
index 000000000000..3470cee88594
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProducts.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bac9a40f7ef2e05bcc98",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/products/5a58bac9a40f7ef2e05bcc98",
+ "name": "product_5a58bac9a40f7ef2e05bcc99",
+ "description": "product_description_5a58bac9a40f7ef2e05bcc9a",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProductsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProductsPolicies.json
new file mode 100644
index 000000000000..ba8d81e21b8a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProductsPolicies.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bf61a40f7e104892bda4",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/products/5a58bf61a40f7e104892bda4/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProperties.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProperties.json
new file mode 100644
index 000000000000..c6ca19deb4b0
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetProperties.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "propId": "5a58bd11a40f7e104892a06e",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/properties/5a58bd11a40f7e104892a06e",
+ "name": "5a58bd11a40f7e104892a06f",
+ "value": "ODPGOQTTJSCGQQTOYHHRIENMAFDNJQTUDKSCLBQMBSIGMIRQYOQVIURJPDFIMGKSYIDFYQDWQUQQWHZRONOUAYLJTIMHWIZVIPHEFLRHLTENDANHDNTZRPSAWUMQDVAIVVIGAVMDVGJHTXFSUFDIOZDSXGHKZBDPSWSIRGGIBQDKGKHZPTVYRSUVRQJUNCDUDTOXFWBOYUGXWTMMZIVFFFXABWRBXMVYMIHMWKTSSHAWLWZYDWVFGYOXVNVIFZQLZIKNLZPOOCNYEBOFXTXARPROTJRIPKNSQOXDLLMEGGQDKQTUZPLMBPTKQWTBIGZDPVHPELTLGTULZNEDQWJZZAQBVMNPRLWZGMOPJDQNWZFIVIKCSQKLWAEOEFURYDTUWUFMZPTNGWCZUHFNCKXBALCFIZKDIZPSFKLACYCDXXEAXEUWAHPNGSULRZDAEPEHGKUJWFKDIUECGBHEFNDBKCLMQAIDVBYHSXUNKKAUXLEMOREQRZVQMDXEYHTVWGIGVWJJHUUVNJDYXZYYVSMVGIVPZQPCQEXQDYQSIUIXFADDZZGYJVAEUMANBUKQEREILNUZIGQAKOQFESPAJQTVETVRXDQNKRSOVUSMEHQDEZUFVUIJEJHOXJERRDBFPCPSWCJKZDWCAQQEZQVDVHJBKDQMQAVBGLNCJBJTLXJBNENHSZRBHYJISOHSMWUZHUWPCNUYHBRXXINFPITQJUTHBEJVTQHODKTSIYEEFTTFGMLKABDDCDPNBONYEZEQUDTNOVXRDPLQANBOTZUSNDLZUGRUKGAFPDLDSXVFELANSZMNMZEFEMDRRUSIEDGWOFAXCYWWDONBDXHUTDHLCVADZULYFNBAFDZMYPLOCIBQYCNUNXPAWUUTEXYIMYRPMNVAYUVDRSJUTKEWGRKHYAEKJGHBRDCERMDLHNVSCLJDLZZTTBBVNJRLILQSMUMOQEDHHTPSVSFMRAYJGOIPBGRHURCVWDGHYVNHWSMZMJZVEEUHMHMYMWMJNWMQQTVSLYNW",
+ "tags": null,
+ "secret": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetQuotas.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetQuotas.json
new file mode 100644
index 000000000000..bf8caa1600a8
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetQuotas.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "quotaCounterKey": "ba"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "Value": {
+ "callsCount": 5,
+ "kbTransferred": 2.5830078125
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetQuotasByQuotaPeriod.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetQuotasByQuotaPeriod.json
new file mode 100644
index 000000000000..92a8b6fdc05f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetQuotasByQuotaPeriod.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S",
+ "parameters": {
+ "callsCount": 0,
+ "kbTransferred": 0
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "Value": {
+ "callsCount": 0,
+ "kbTransferred": 2.5625
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByApi.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByApi.json
new file mode 100644
index 000000000000..1f033b2ea44c
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByApi.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Echo API",
+ "apiId": "/apis/5600b59475ff190048040001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "httpbin",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByGeo.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByGeo.json
new file mode 100644
index 000000000000..1dee3861119f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByGeo.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "country": "US",
+ "region": "WA",
+ "zip": "98052",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByOperation.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByOperation.json
new file mode 100644
index 000000000000..0bdced041608
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByOperation.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "get",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "operationId": "/apis/57a03a13e4bbd5119c8b19e9/operations/57a03a1dd8d14f0a780d7d14",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "GetWeatherInformation",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93e",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "GetCityForecastByZIP",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93f",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByProduct.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByProduct.json
new file mode 100644
index 000000000000..ea6eb0765b39
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByProduct.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Starter",
+ "productId": "/products/5600b59475ff190048060001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Unlimited",
+ "productId": "/products/5600b59475ff190048060002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByRequest.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByRequest.json
new file mode 100644
index 000000000000..94665c8dd110
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByRequest.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "GET",
+ "url": "https://apimService1.azure-api.net/echo/resource?param1=sample",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 405,
+ "timestamp": "2017-06-03T00:17:00.1649134Z",
+ "cache": "none",
+ "apiTime": 221.1544,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "63e7119c-26aa-433c-96d7-f6f3267ff52f",
+ "requestSize": 0
+ },
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "POST",
+ "url": "https://apimService1.azure-api.net/echo/resource",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 403,
+ "timestamp": "2017-06-03T00:17:20.5255131Z",
+ "cache": "none",
+ "apiTime": 6.6754000000000007,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "e581b7f7-c9ec-4fc6-8ab9-3855d9b00b04",
+ "requestSize": 0
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsBySubscription.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsBySubscription.json
new file mode 100644
index 000000000000..525482e6831f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsBySubscription.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060001",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060002",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5702e97e5157a50f48dce801",
+ "subscriptionId": "/subscriptions/5702e97e5157a50a9c733303",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByTime.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByTime.json
new file mode 100644
index 000000000000..bbfef44ad637
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByTime.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'",
+ "interval": "PT15M"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timestamp": "2017-06-03T00:15:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 4,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 4,
+ "bandwidth": 3243,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1337.46335,
+ "apiTimeMin": 885.0839000000001,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 1255.917425,
+ "serviceTimeMin": 882.8264,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "timestamp": "2017-06-03T00:30:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 9,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 10,
+ "bandwidth": 7776,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 872.7818777777778,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1093.8407,
+ "serviceTimeAvg": 824.2847111111112,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 973.2262000000001
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByUser.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByUser.json
new file mode 100644
index 000000000000..05e4d066f3fc
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetReportsByUser.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Administrator",
+ "userId": "/users/1",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "Samir Solanki",
+ "userId": "/users/56eaec62baf08b06e46d27fd",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Anonymous",
+ "userId": "/users/54c800b332965a0035030000",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetSubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetSubscriptions.json
new file mode 100644
index 000000000000..e602dd48653c
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetSubscriptions.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "sid": "5a58baf8a40f7ef2e05bcfb7",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5a58baf8a40f7ef2e05bcfb7",
+ "userId": "/users/5a58baf8a40f7ef2e05bcfb1",
+ "productId": "/products/5a58baf7a40f7ef2e05bcfa3",
+ "name": "product_5a58baf7a40f7ef2e05bcfa4 subscription",
+ "state": "active",
+ "createdDate": "2018-01-12T13:41:12.18Z",
+ "startDate": "2018-01-12T00:00:00Z",
+ "primaryKey": "2ce7fde4e2df43a39331f0bc5798e77f",
+ "secondaryKey": "3ddb12a0c41f4eb58540c8903aff3306"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetTemplates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetTemplates.json
new file mode 100644
index 000000000000..fa3cefafd62f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetTemplates.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "templateName": "applicationApprovedNotificationMessage",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/templates/ApplicationApprovedNotificationMessage",
+ "subject": "Your application $AppName is published in the application gallery",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Application gallery submission approved",
+ "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "AppId",
+ "title": "Application id"
+ },
+ {
+ "name": "AppName",
+ "title": "Application name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetTenant.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetTenant.json
new file mode 100644
index 000000000000..7f5202a8b5dc
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetTenant.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "accessName": "access",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "integration",
+ "primaryKey": "paeTVcmdbU9XxH6fPcPlq8Y9D9G3Cdo5Eh2nMSgKj/DWqeSFFXDdmpz5Trv+L2hQNM+nGa704Rf8Z22W9O1jdQ==",
+ "secondaryKey": "z2LSNJ2QMjZcArjlvPWLy+N2dTviiHHTcPljiQTwr9NnFgIi5R7xjKj/UVOL7xW+Te+bNkS7pDv3G3h1D3HfVg==",
+ "enabled": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetUsers.json
new file mode 100644
index 000000000000..630389782c89
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetUsers.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "5a58badfa40f7ef2e05bcd37",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/users/5a58badfa40f7ef2e05bcd37",
+ "firstName": "5a58badfa40f7ef2e05bcd39",
+ "lastName": "5a58badfa40f7ef2e05bcd3a",
+ "email": "5a58badfa40f7ef2e05bcd38@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:47.3Z",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "5a58badfa40f7ef2e05bcd38@contoso.com"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementHeadProductsGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementHeadProductsGroups.json
new file mode 100644
index 000000000000..de6552334855
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementHeadProductsGroups.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58beb3a40f7e104892b3e3",
+ "sid": "developers",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementHeadProductsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementHeadProductsPolicies.json
new file mode 100644
index 000000000000..256486e6c467
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementHeadProductsPolicies.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bf24a40f7e104892b5d2",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApis.json
new file mode 100644
index 000000000000..8156ef4bfbad
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApis.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db",
+ "name": "5a58bac3a40f7ef2e05bc7d7",
+ "apiRevision": "1",
+ "serviceUrl": "https://5a58bac3a40f7ef2e05bc7dc",
+ "path": "suffix_5a58bac3a40f7ef2e05bc7dd",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7de",
+ "name": "5a58bac3a40f7ef2e05bc7d8",
+ "apiRevision": "1",
+ "serviceUrl": "https://5a58bac3a40f7ef2e05bc7df",
+ "path": "suffix_5a58bac3a40f7ef2e05bc7e0",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ },
+ {
+ "id": "/apis/5a58babfa40f7ef2e05bc7bb",
+ "name": "api_5a58babfa40f7ef2e05bc7bc",
+ "apiRevision": "1",
+ "description": "description_5a58babfa40f7ef2e05bc7bd",
+ "serviceUrl": "http://contoso/5a58babfa40f7ef2e05bc7be",
+ "path": "suffix_5a58babfa40f7ef2e05bc7bf",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ ],
+ "count": 71
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisOperations.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisOperations.json
new file mode 100644
index 000000000000..8f77ceae180a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisOperations.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bac3a40f7ef2e05bc7db",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58bad4a40f7ef2e05bccf2",
+ "name": "operation_5a58bad4a40f7ef2e05bcce5",
+ "method": "PUT",
+ "urlTemplate": "/template_5a58bad4a40f7ef2e05bcce7",
+ "description": "description_5a58bad4a40f7ef2e05bcce6"
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58bad9a40f7ef2e05bcd0b",
+ "name": "operation_5a58bad9a40f7ef2e05bcd09",
+ "method": "PATCH",
+ "urlTemplate": "/template_5a58bad9a40f7ef2e05bcd0a"
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58bad9a40f7ef2e05bcd0f",
+ "name": "operation_5a58bad9a40f7ef2e05bcd0d",
+ "method": "PATCH",
+ "urlTemplate": "/template_5a58bad9a40f7ef2e05bcd0e"
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58badaa40f7ef2e05bcd1e",
+ "name": "operation_5a58badaa40f7ef2e05bcd11",
+ "method": "POST",
+ "urlTemplate": "/template_5a58badaa40f7ef2e05bcd13",
+ "description": "description_5a58badaa40f7ef2e05bcd12"
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58badea40f7ef2e05bcd35",
+ "name": "operation_5a58badea40f7ef2e05bcd32",
+ "method": "POST",
+ "urlTemplate": "/template_5a58badea40f7ef2e05bcd34",
+ "description": "description_5a58badea40f7ef2e05bcd33"
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58bb39a40f7ef2e05bd91b",
+ "name": "operation_5a58bb39a40f7ef2e05bd90e",
+ "method": "CONNECT",
+ "urlTemplate": "/template_5a58bb39a40f7ef2e05bd910",
+ "description": "description_5a58bb39a40f7ef2e05bd90f"
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58bb46a40f7ef2e05bd97b",
+ "name": "operation_5a58bb46a40f7ef2e05bd96e",
+ "method": "DELETE",
+ "urlTemplate": "/template_5a58bb46a40f7ef2e05bd970",
+ "description": "description_5a58bb46a40f7ef2e05bd96f"
+ },
+ {
+ "id": "/apis/5a58bac3a40f7ef2e05bc7db/operations/5a58bb5ba40f7ef2e05bdc00",
+ "name": "operation_5a58bb5ba40f7ef2e05bdbf3",
+ "method": "DELETE",
+ "urlTemplate": "/template_5a58bb5ba40f7ef2e05bdbf5",
+ "description": "description_5a58bb5ba40f7ef2e05bdbf4"
+ }
+ ],
+ "count": 8
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisOperationsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisOperationsPolicies.json
new file mode 100644
index 000000000000..7adb32b19488
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisOperationsPolicies.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "apiId": "599e2953193c3c0bd0b3e2fa",
+ "operationId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
+ "policyContent": "\r\n\r\n \r\n \r\n \r\n \r\n xxx\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisPolicies.json
new file mode 100644
index 000000000000..3d183992b8bd
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisPolicies.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "$skip": 0,
+ "$top": 10000,
+ "apiId": "echo-api",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/policies/policy",
+ "policyContent": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisProducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisProducts.json
new file mode 100644
index 000000000000..2becf4cae6a7
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisProducts.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bddea40f7e104892ac12",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/products/5a58bddfa40f7e104892ac18",
+ "name": "product_5a58bddfa40f7e104892ac19",
+ "description": "product_description_5a58bddfa40f7e104892ac1a",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ },
+ {
+ "id": "/products/5a58bddfa40f7e104892ac1d",
+ "name": "product_5a58bddfa40f7e104892ac1e",
+ "description": "product_description_5a58bddfa40f7e104892ac1f",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisSchemas.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisSchemas.json
new file mode 100644
index 000000000000..ff2cf4d7d793
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListApisSchemas.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bde0a40f7e104892ac2c",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [],
+ "count": 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListAuthorizationservers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListAuthorizationservers.json
new file mode 100644
index 000000000000..b56bd7616c58
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListAuthorizationservers.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/authorizationServers/5a58bb95a40f7ef2e05be74b",
+ "name": "2d0057b0-bf3a-4c54-9de7-0e5e39789c1b",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ },
+ {
+ "id": "/authorizationServers/5a58bb37a40f7ef2e05bd7f3",
+ "name": "f3e4a805-3d6e-48e1-839d-05da510d84a5",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListBackends.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListBackends.json
new file mode 100644
index 000000000000..1883567c1dee
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListBackends.json
@@ -0,0 +1,145 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/backends/5a58bb7ea40f7ef2e05be3d5",
+ "title": "5a58bb7ea40f7ef2e05be3d6",
+ "description": "description",
+ "url": "https://5a58bb7ea40f7ef2e05be3d6/",
+ "protocol": "http",
+ "resourceId": "https://manage.azure.com/subscriptions/xxx/blah",
+ "credentials": {
+ "certificate": [
+ "FB085F34A60C2AD8EED59C58B961BD5FBEFC38BE"
+ ],
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ],
+ "se": [
+ "2018-01-12"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ],
+ "x-my-2": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesame"
+ }
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ },
+ {
+ "id": "/backends/5a58bc74a40f7e1048929959",
+ "title": "5a58bc74a40f7e104892995c",
+ "description": "description",
+ "url": "https://5a58bc74a40f7e104892995c/",
+ "protocol": "http",
+ "resourceId": "https://manage.azure.com/subscriptions/xxx/blah",
+ "credentials": {
+ "certificate": [
+ "61EF1C104C1949E219995A2F0628F3D66D595F32"
+ ],
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ],
+ "se": [
+ "2018-01-12"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ],
+ "x-my-2": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesame"
+ }
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ },
+ {
+ "id": "/backends/5a58bc74a40f7e104892995a",
+ "title": "5a58bc74a40f7e104892995d",
+ "description": "description",
+ "url": "https://5a58bc74a40f7e104892995d/",
+ "protocol": "http",
+ "resourceId": "https://manage.azure.com/subscriptions/xxx/blah",
+ "credentials": {
+ "certificate": [
+ "61EF1C104C1949E219995A2F0628F3D66D595F32"
+ ],
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ],
+ "se": [
+ "2018-01-12"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ],
+ "x-my-2": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesame"
+ }
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ },
+ {
+ "id": "/backends/5a58bc74a40f7e104892995b",
+ "title": "httpbin.org",
+ "url": "http://httpbin.org",
+ "protocol": "http"
+ }
+ ],
+ "count": 4
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListCertificates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListCertificates.json
new file mode 100644
index 000000000000..d3eb265009b0
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListCertificates.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/certificates/5a58bad2a40f7ef2e05bcce2",
+ "subject": "CN=localhost",
+ "thumbprint": "C2728598048BE9C8BD559A159BD70525A4EA0367",
+ "expirationDate": "2019-01-12T00:00:00Z"
+ },
+ {
+ "id": "/certificates/5a58bb7ea40f7ef2e05be3d4",
+ "subject": "CN=localhost",
+ "thumbprint": "FB085F34A60C2AD8EED59C58B961BD5FBEFC38BE",
+ "expirationDate": "2019-01-12T00:00:00Z"
+ },
+ {
+ "id": "/certificates/5a58bc74a40f7e1048929958",
+ "subject": "CN=localhost",
+ "thumbprint": "61EF1C104C1949E219995A2F0628F3D66D595F32",
+ "expirationDate": "2019-01-12T00:00:00Z"
+ },
+ {
+ "id": "/certificates/5a58bcd2a40f7e1048929a35",
+ "subject": "CN=localhost",
+ "thumbprint": "E359B9813314091B0EDED4AD804A9163D0FF3B84",
+ "expirationDate": "2019-01-12T00:00:00Z"
+ },
+ {
+ "id": "/certificates/5a58bcd2a40f7e1048929a36",
+ "subject": "CN=localhost",
+ "thumbprint": "0997AAAF7DB834B9F5726F20FED2F3D3D086DA07",
+ "expirationDate": "2019-01-12T00:00:00Z"
+ }
+ ],
+ "count": 5
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListGroups.json
new file mode 100644
index 000000000000..a7e8aa4ec8e8
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListGroups.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "$skip": 0,
+ "$top": 10000,
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/groups/administrators",
+ "name": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ },
+ {
+ "id": "/groups/developers",
+ "name": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ },
+ {
+ "id": "/groups/guests",
+ "name": "Guests",
+ "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ ],
+ "count": 3
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListGroupsUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListGroupsUsers.json
new file mode 100644
index 000000000000..e2a0413d1e5f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListGroupsUsers.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "groupId": "5a58bad0a40f7ef2e05bccca",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/users/5a58bad0a40f7ef2e05bcccd",
+ "firstName": "5a58bad0a40f7ef2e05bcccf",
+ "lastName": "5a58bad0a40f7ef2e05bccd0",
+ "email": "5a58bad0a40f7ef2e05bccce@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:32.81Z",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "5a58bad0a40f7ef2e05bccce@contoso.com"
+ }
+ ]
+ },
+ {
+ "id": "/users/5a58bad0a40f7ef2e05bccd2",
+ "firstName": "5a58bad0a40f7ef2e05bccd4",
+ "lastName": "5a58bad0a40f7ef2e05bccd5",
+ "email": "5a58bad0a40f7ef2e05bccd3@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:32.81Z",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "5a58bad0a40f7ef2e05bccd3@contoso.com"
+ }
+ ]
+ },
+ {
+ "id": "/users/5a58bad0a40f7ef2e05bccd7",
+ "firstName": "5a58bad0a40f7ef2e05bccd9",
+ "lastName": "5a58bad0a40f7ef2e05bccda",
+ "email": "5a58bad0a40f7ef2e05bccd8@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:32.86Z",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "5a58bad0a40f7ef2e05bccd8@contoso.com"
+ }
+ ]
+ }
+ ],
+ "count": 3
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListIdentityproviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListIdentityproviders.json
new file mode 100644
index 000000000000..2592ddf0ffa7
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListIdentityproviders.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [],
+ "count": 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListLoggers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListLoggers.json
new file mode 100644
index 000000000000..33ebb5e70150
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListLoggers.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/loggers/5a58bc28a40f7e10489292a3",
+ "loggerType": "azureEventHub",
+ "description": "first eventhub logger",
+ "credentials": {
+ "name": "testeventhub3",
+ "connectionString": "{{Logger-Credentials-5a58bc31a40f7e10489292a5}}"
+ },
+ "isBuffered": true
+ },
+ {
+ "id": "/loggers/5a58bc37a40f7e1048929319",
+ "loggerType": "azureEventHub",
+ "description": "first eventhub logger",
+ "credentials": {
+ "name": "testeventhub3",
+ "connectionString": "{{Logger-Credentials-5a58bc39a40f7e104892931b}}"
+ },
+ "isBuffered": true
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListOpenIdConnectProvider.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListOpenIdConnectProvider.json
new file mode 100644
index 000000000000..2cb03818b908
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListOpenIdConnectProvider.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/openidConnectProviders/op1",
+ "name": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicies.json
new file mode 100644
index 000000000000..704cec56b036
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicies.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "$skip": 0,
+ "$top": 10000,
+ "api-version": "2017-03-01",
+ "scope": "All",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/policies/policy",
+ "policyContent": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicysnippets.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicysnippets.json
new file mode 100644
index 000000000000..671a51254315
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicysnippets.json
@@ -0,0 +1,248 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "scope": "Api",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "Authenticate with Basic",
+ "content": "",
+ "toolTip": "Authenticate with the backend service using Basic authentication. Use in the inbound section at API scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Authenticate with client certificate",
+ "content": "",
+ "toolTip": "Authenticate with the backend service using a client certificate. Use in the inbound section at API scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Check HTTP header",
+ "content": "\r\n value \r\n",
+ "toolTip": "Check header and return specified HTTP status code if it doesn't exist or match expected value. Works for both response and request headers – policy can be applied in inbound or outbound sections at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Control flow",
+ "content": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n",
+ "toolTip": "Conditionally apply policy statements based on the results of the evaluation of Boolean expressions. Use at any scope in the inbound and outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Convert JSON to XML",
+ "content": "",
+ "toolTip": "Convert request or response body from JSON to XML. Use in the inbound or outbound sections at API or Operation scopes.",
+ "scope": 268435471
+ },
+ {
+ "name": "Convert XML to JSON",
+ "content": "",
+ "toolTip": "Convert request or response body from XML to either \"JSON friendly\" or \"XML faithful\" form of JSON. Use in the inbound or outbound sections at API or Operation scopes.",
+ "scope": 268435471
+ },
+ {
+ "name": "CORS",
+ "content": "\r\n \r\n * \r\n \r\n URI \r\n \r\n \r\n *\r\n \r\n \r\n \r\n \r\n",
+ "toolTip": "CORS stands for cross-origin resource sharing. Add CORS support to an operation or an API to allow cross-domain calls from browser-based clients. Use in the inbound section only.",
+ "scope": 13
+ },
+ {
+ "name": "Find and replace string in body",
+ "content": "",
+ "toolTip": "Find a request or response substring and replace it with a different substring. Use in the inbound and outbound sections at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Forward request to backend service",
+ "content": "",
+ "toolTip": "Forward request to the backend service using information in the context and receive a response, waiting no longer then specified timeout value. Use at any scope in the backend section.",
+ "scope": 268435471
+ },
+ {
+ "name": "Get from cache",
+ "content": "\r\n Accept \r\n Accept-Charset \r\n Authorization \r\n header name \r\n parameter name \r\n",
+ "toolTip": "Perform cache lookup and return a valid cached response when available. Appropriately respond to cache validation requests from callers. Use anywhere in the inbound section at Product, API, or Operation scopes.",
+ "scope": 268435471
+ },
+ {
+ "name": "Get value from cache",
+ "content": "",
+ "toolTip": "Perform cache lookup and returned value under the key, if available, or default. If value is not present and no default is specified, variable will not be set. Use at any scope in any section except .",
+ "scope": 268435471
+ },
+ {
+ "name": "JSONP",
+ "content": "",
+ "toolTip": "Add support for JSONP to an operation or an API to allow cross-domain calls from JavaScript browser-based clients. Use in the outbound section only.",
+ "scope": 268435471
+ },
+ {
+ "name": "Limit call rate per key",
+ "content": "",
+ "toolTip": "Arrest usage spikes by limiting calls and/or bandwidth consumption rate per calculated key. Use in the inbound section at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Limit request processing concurrency level",
+ "content": "\r\n",
+ "toolTip": "Limit how many calls may be processed in parallel for the duration of this policy's body.",
+ "scope": 268435471
+ },
+ {
+ "name": "Log to EventHub",
+ "content": "\r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n ",
+ "toolTip": "Send custom messages to Event Hub. Use at any scope in the inbound or outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Mask URLs in content",
+ "content": "",
+ "toolTip": "Use in the outbound section to re-write response body links and Location header values making them point to the proxy. Use in the inbound section for an opposite effect. Apply at API or Operation scopes.",
+ "scope": 268435471
+ },
+ {
+ "name": "Mock Response",
+ "content": "",
+ "toolTip": "Mock response based on operation responses samples/schemas. Use at any scope in the inbound or outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Output trace information",
+ "content": "\r\n @(context.Request.Url.ToUri().ToString()) \r\n",
+ "toolTip": "Output information into trace logs, if request is executed with tracing enabled.",
+ "scope": 268435471
+ },
+ {
+ "name": "Remove value from cache",
+ "content": "",
+ "toolTip": "Remove value from cache under the key. Use at any scope in any section except .",
+ "scope": 268435471
+ },
+ {
+ "name": "Restrict caller IPs",
+ "content": "\r\n address\r\n \r\n",
+ "toolTip": "Allow calls only from specific IP addresses and/or address ranges. Forbid calls from specific IP addresses and/or address ranges. Use in the inbound section at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Retry",
+ "content": "\r\n \r\n",
+ "toolTip": "Retry execution of the enclosed policy statements, if and until the condition is met. Execution will repeat at the specified time interval, up to the specified count.",
+ "scope": 268435471
+ },
+ {
+ "name": "Return response",
+ "content": "\r\n \r\n \r\n value \r\n\r\n new body value as text\r\n",
+ "toolTip": "Abort pipeline execution and return the specified response directly to the caller. Use at any scope in the inbound and outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Rewrite URL",
+ "content": "",
+ "toolTip": "Convert request URL from its public form to the form expected by the web service. Use anywhere in the inbound section at Operation scope only.",
+ "scope": 14
+ },
+ {
+ "name": "Send one way request",
+ "content": "\r\n service URL to call\r\n GET\r\n \r\n value \r\n \r\n new body value as text\r\n",
+ "toolTip": "Send provided request to the specified URL, without waiting for response. Use at any scope in the inbound and outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Send request",
+ "content": "\r\n service URL to call\r\n GET\r\n \r\n value \r\n \r\n new body value as text\r\n",
+ "toolTip": "Send provided request to the specified URL, waiting no longer then set timeout value. Use at any scope in the inbound and outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set backend service",
+ "content": "",
+ "toolTip": "Change backend service where the incoming calls will be directed. Use in the inbound section only at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set body",
+ "content": "new body value as text",
+ "toolTip": "Set message body to a specific string value. The policy has no effect on the Content-Type header value. Use at any scope in the inbound or outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set context variable",
+ "content": "",
+ "toolTip": "Persist a value in a named context variable for later access from expressions. Use at any scope in the inbound and outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set HTTP header",
+ "content": "\r\n value \r\n",
+ "toolTip": "Add a new header, change the value of an existing header or remove a header. Works for both response and request headers – policy can be applied in inbound or outbound sections at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set http proxy for backend request",
+ "content": "",
+ "toolTip": "Specify http proxy location and credentials.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set query string parameter",
+ "content": "\r\n value \r\n",
+ "toolTip": "Add a new query string parameter, change the value of an existing parameter or remove a parameter. Can be applied in the inbound section at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set request method",
+ "content": "METHOD",
+ "toolTip": "Change HTTP method to the specified value",
+ "scope": 268435471
+ },
+ {
+ "name": "Set status code",
+ "content": "",
+ "toolTip": "Change HTTP status code to the specified value. Use at any scope in the outbound sections.",
+ "scope": 268435471
+ },
+ {
+ "name": "Set usage quota per key",
+ "content": "= 200 && context.Response.StatusCode < 400 ) \"\r\n increment-count=\"expression like @(context.Request.Method == \"POST\" ? 1:0) or a constant integer value. Optional, by default = 1.\"\r\n/>",
+ "toolTip": "Enforce a renewable or lifetime call volume and/or bandwidth quota per calculated key. Use in the inbound section at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Store to cache",
+ "content": "",
+ "toolTip": "Cache responses according to the specified cache configuration. Use anywhere in the outbound section at Product, API, or Operation scopes.",
+ "scope": 268435471
+ },
+ {
+ "name": "Store value in cache",
+ "content": "",
+ "toolTip": "Store value in cache under a key for duration. Use at any scope in any section except .",
+ "scope": 268435471
+ },
+ {
+ "name": "Transform XML using an XSLT",
+ "content": "\r\n\t\t\t@(context.Request.Headers.GetValueOrDefault(\"User-Agent\",\"non-specified\"))\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t",
+ "toolTip": "Transform request or response body using XSLTransform. Use in the inbound, outbound and on-error sections at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Validate JWT",
+ "content": "\r\n \r\n Base64 Encoded Key 1\r\n \r\n \r\n \r\n Audience 1\r\n \r\n \r\n \r\n Issuer 1\r\n \r\n \r\n \r\n \r\n value1\r\n value2\r\n \r\n \r\n \r\n",
+ "toolTip": "Check and validate a JWT in a header or query parameter. Use in the inbound section at any scope.",
+ "scope": 268435471
+ },
+ {
+ "name": "Wait for...",
+ "content": "\r\n \r\n \r\n",
+ "toolTip": "Wait for all or any of the send request policies to complete before proceeding. Use at any scope in the inbound and outbound sections.",
+ "scope": 268435471
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProducts.json
new file mode 100644
index 000000000000..5e4f0410bda5
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProducts.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "$skip": 0,
+ "$top": 10000,
+ "expandGroups": false,
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/products/5a58badca40f7ef2e05bcd24",
+ "name": "product_5a58badca40f7ef2e05bcd25",
+ "description": "product_description_5a58badca40f7ef2e05bcd26",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ },
+ {
+ "id": "/products/5a58bae0a40f7ef2e05bcd3d",
+ "name": "product_5a58bae0a40f7ef2e05bcd3e",
+ "description": "product_description_5a58bae0a40f7ef2e05bcd3f",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsApis.json
new file mode 100644
index 000000000000..ebbbf76813c6
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsApis.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bdf3a40f7e104892acb8",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/apis/5a58bdf3a40f7e104892acbe",
+ "name": "api_5a58bdf3a40f7e104892acbf",
+ "apiRevision": "1",
+ "description": "description_5a58bdf3a40f7e104892acc0",
+ "serviceUrl": "http://contoso/5a58bdf3a40f7e104892acc1",
+ "path": "suffix_5a58bdf3a40f7e104892acc2",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsGroups.json
new file mode 100644
index 000000000000..3007999f88c4
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsGroups.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bafca40f7ef2e05bd22d",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/groups/5a58bafca40f7ef2e05bd232",
+ "name": "5a58bafca40f7ef2e05bd233",
+ "builtIn": false,
+ "type": "custom"
+ },
+ {
+ "id": "/groups/administrators",
+ "name": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsPolicies.json
new file mode 100644
index 000000000000..50badb8f5a22
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsPolicies.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "$skip": 0,
+ "$top": 10000,
+ "productId": "starter",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/policies/policy",
+ "policyContent": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsSubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsSubscriptions.json
new file mode 100644
index 000000000000..28d9af247efc
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProductsSubscriptions.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bb65a40f7ef2e05bdc25",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5a58bb65a40f7ef2e05bdc28",
+ "userId": "/users/1",
+ "productId": "/products/5a58bb65a40f7ef2e05bdc25",
+ "state": "active",
+ "createdDate": "2018-01-12T13:43:01.113Z",
+ "startDate": "2018-01-12T00:00:00Z",
+ "primaryKey": "2f3af2e4d2e64691bc221f8c4b93d7fd",
+ "secondaryKey": "e48feb2c5e9045228cd4edca4ad49bfe"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProperties.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProperties.json
new file mode 100644
index 000000000000..dd094c0e47e4
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListProperties.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "$filter": "tags/any(t: t eq '5a58bd1fa40f7e104892a21f')",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/properties/5a58bd1fa40f7e104892a220",
+ "name": "5a58bd1fa40f7e104892a221",
+ "value": "OZPCHNQMWBOXOTZNUPWFIMZDPXLAQKSR",
+ "tags": [
+ "5a58bd1fa40f7e104892a21f",
+ "b"
+ ],
+ "secret": true
+ },
+ {
+ "id": "/properties/5a58bd1fa40f7e104892a223",
+ "name": "5a58bd1fa40f7e104892a224",
+ "value": "GTBYQGFBBXFAXTMCDOOZQQXBALMJBQWM",
+ "tags": [
+ "5a58bd1fa40f7e104892a21f"
+ ],
+ "secret": true
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListRegions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListRegions.json
new file mode 100644
index 000000000000..d5b5c781f6f3
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListRegions.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "West US",
+ "isMasterRegion": true,
+ "isDeleted": false
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListSubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListSubscriptions.json
new file mode 100644
index 000000000000..3987f4a64cb7
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListSubscriptions.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "$skip": 0,
+ "$top": 10000,
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5a58ba90a40f7e0034070001",
+ "userId": "/users/1",
+ "productId": "/products/starter",
+ "state": "active",
+ "createdDate": "2018-01-12T13:39:28.57Z",
+ "primaryKey": "2D9B138F40C1244CB6B48D0378865469",
+ "secondaryKey": "5163734D7AF0CC4AB5A59345E1B6BF6D"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTemplates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTemplates.json
new file mode 100644
index 000000000000..8484032671b5
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTemplates.json
@@ -0,0 +1,207 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/templates/ApplicationApprovedNotificationMessage",
+ "subject": "Your application $AppName is published in the application gallery",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Application gallery submission approved",
+ "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "AppId",
+ "title": "Application id"
+ },
+ {
+ "name": "AppName",
+ "title": "Application name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ },
+ {
+ "id": "/templates/AccountClosedDeveloper",
+ "subject": "Thank you for using the $OrganizationName API!",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n On behalf of $OrganizationName and our customers we thank you for giving us a try. Your $OrganizationName API account is now closed.\r\n
\r\n Thank you,
\r\n Your $OrganizationName Team
\r\n $DevPortalUrl\r\n \r\n \r\n",
+ "title": "Developer farewell letter",
+ "description": "Developers receive this fairwell email after they close their account.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ },
+ {
+ "id": "/templates/QuotaLimitApproachingDeveloperNotificationMessage",
+ "subject": "You are approaching an API quota limit",
+ "body": "\r\n\r\n \r\n \r\n \r\n \r\n Greetings $DevFirstName $DevLastName!
\r\n \r\n You are approaching the quota limit on you subscription to the $ProdName product (primary key $SubPrimaryKey).\r\n #if ($QuotaResetDate != \"\")\r\n This quota will be renewed on $QuotaResetDate.\r\n #else\r\n This quota will not be renewed.\r\n #end\r\n
\r\n Below are details on quota usage for the subscription:
\r\n \r\n
\r\n \r\n | Quota Scope | \r\n Calls | \r\n Call Quota | \r\n Bandwidth | \r\n Bandwidth Quota | \r\n \r\n \r\n \r\n | Subscription | \r\n \r\n #if ($CallsAlert == true)\r\n $Calls\r\n #else\r\n $Calls\r\n #end\r\n | \r\n $CallQuota | \r\n \r\n #if ($BandwidthAlert == true)\r\n $Bandwidth\r\n #else\r\n $Bandwidth\r\n #end\r\n | \r\n $BandwidthQuota | \r\n
\r\n #foreach ($api in $Apis)\r\n | API: $api.Name | \r\n #if ($api.CallsAlert == true)\r\n $api.Calls\r\n #else\r\n $api.Calls\r\n #end\r\n | $api.CallQuota | \r\n #if ($api.BandwidthAlert == true)\r\n $api.Bandwidth\r\n #else\r\n $api.Bandwidth\r\n #end\r\n | $api.BandwidthQuota |
\r\n #foreach ($operation in $api.Operations)\r\n | Operation: $operation.Name | \r\n #if ($operation.CallsAlert == true)\r\n $operation.Calls\r\n #else\r\n $operation.Calls\r\n #end\r\n | $operation.CallQuota | \r\n #if ($operation.BandwidthAlert == true)\r\n $operation.Bandwidth\r\n #else\r\n $operation.Bandwidth\r\n #end\r\n | $operation.BandwidthQuota |
\r\n #end\r\n #end\r\n \r\n
\r\n
\r\n Thank you,
\r\n $OrganizationName API Team
\r\n $DevPortalUrl\r\n \r\n \r\n",
+ "title": "Developer quota limit approaching notification",
+ "description": "Developers receive this email to alert them when they are approaching a quota limit.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "ProdName",
+ "title": "Product name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "SubPrimaryKey",
+ "title": "Primary Subscription key"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ },
+ {
+ "name": "QuotaResetDate",
+ "title": "Quota reset date"
+ }
+ ]
+ },
+ {
+ "id": "/templates/NewDeveloperNotificationMessage",
+ "subject": "Welcome to the $OrganizationName API!",
+ "body": "\r\n\r\n \r\n \r\n Letter\r\n \r\n \r\n \r\n Welcome to $OrganizationName API!
\r\n Dear $DevFirstName $DevLastName,
\r\n Your $OrganizationName API program registration is completed and we are thrilled to have you as a customer. Here are a few important bits of information for your reference:
\r\n \r\n \r\n #if ($IdentityProvider == \"Basic\")\r\n | \r\n Please use the following username when signing into any of the ${OrganizationName}-hosted developer portals:\r\n | $DevUsername | \r\n #else\r\n \r\n Please use the following $IdentityProvider account when signing into any of the ${OrganizationName}-hosted developer portals:\r\n | $DevUsername | \r\n #end\r\n
\r\n \r\n | \r\n We will direct all communications to the following email address:\r\n | \r\n \r\n \r\n $DevEmail\r\n \r\n | \r\n
\r\n
\r\n Best of luck in your API pursuits!
\r\n $OrganizationName API Team
\r\n \r\n $DevPortalUrl\r\n
\r\n \r\n",
+ "title": "Developer welcome letter",
+ "description": "Developers receive this “welcome” email after they confirm their new account.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "DevUsername",
+ "title": "Developer user name"
+ },
+ {
+ "name": "DevEmail",
+ "title": "Developer email"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ },
+ {
+ "name": "IdentityProvider",
+ "title": "Identity Provider selected by Organization"
+ }
+ ]
+ },
+ {
+ "id": "/templates/EmailChangeIdentityDefault",
+ "subject": "Please confirm the new email associated with your $OrganizationName API account",
+ "body": "\r\n\r\n \r\n \r\n Letter\r\n \r\n \r\n \r\n \r\n | \r\n Dear $DevFirstName $DevLastName, \r\n \r\n You are receiving this email because you made a change to the email address on your $OrganizationName API account. \r\n Please click on the following link to confirm the change: \r\n \r\n \r\n $ConfirmUrl\r\n \r\n \r\n If clicking the link does not work, please copy-and-paste or re-type it into your browser's address bar and hit \"Enter\". \r\n Thank you, \r\n $OrganizationName API Team \r\n \r\n $DevPortalUrl\r\n \r\n | \r\n
\r\n
\r\n \r\n",
+ "title": "Email change confirmation",
+ "description": "Developers receive this email to confirm a new e-mail address after they change their existing one associated with their account.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ },
+ {
+ "name": "ConfirmUrl",
+ "title": "Developer confirmation URL"
+ }
+ ]
+ },
+ {
+ "id": "/templates/InviteUserNotificationMessage",
+ "subject": "You are invited to join the $OrganizationName developer network",
+ "body": "\r\n\r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n Your account has been created. Please follow the link below to visit the $OrganizationName developer portal and claim it:\r\n
\r\n \r\n $ConfirmUrl\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Invite user",
+ "description": "An e-mail invitation to create an account, sent on request by API publishers.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "ConfirmUrl",
+ "title": "Confirmation link"
+ }
+ ]
+ }
+ ],
+ "count": 14
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantGit.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantGit.json
new file mode 100644
index 000000000000..2c5589fe370c
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantGit.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "5600b59375ff190048030003",
+ "primaryKey": "qr5nbjNoZkgtLojXgU+OA/ntYMgko3XPSVyt+ObwR1sqp2ZkM9tGhwxkeEz7bfAuPS5ss61b2S3ZrZmqa9v3Mw==",
+ "secondaryKey": "2dCJv1CasJl286SZiKxyBFDiIYCUdbwM1YrFNDcFMXCjCKbFzomrGkv+exAbnV5E3DEk91VP4jbeJ2eV/qtejA==",
+ "enabled": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantSyncstate.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantSyncstate.json
new file mode 100644
index 000000000000..29f68961d9a4
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantSyncstate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "configurationName": "configuration"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "branch": "master",
+ "commitId": "44c29c27a876372e2ea18d9c381cc493a6a89fc5",
+ "isExport": true,
+ "isSynced": false,
+ "isGitEnabled": true,
+ "syncDate": "2016-10-24T19:17:14.3641403Z",
+ "configurationChangeDate": "2017-06-03T00:41:30.9670873Z"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsers.json
new file mode 100644
index 000000000000..5930e1d8babf
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsers.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "expandGroups": "False",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/users/1",
+ "firstName": "Administrator",
+ "lastName": "",
+ "email": "admin@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:39:28.527Z",
+ "identities": [
+ {
+ "provider": "Azure",
+ "id": "admin@contoso.com"
+ }
+ ]
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersGroups.json
new file mode 100644
index 000000000000..e71577a20a92
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersGroups.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "5a58bae5a40f7ef2e05bcd76",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/groups/developers",
+ "name": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersIdentities.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersIdentities.json
new file mode 100644
index 000000000000..b84717d4779a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersIdentities.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "5a58bb0aa40f7ef2e05bd3c2",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "provider": "Basic",
+ "id": "5a58bb09a40f7ef2e05bd3c1@contoso.com"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersSubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersSubscriptions.json
new file mode 100644
index 000000000000..eca96d9eb737
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListUsersSubscriptions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "1",
+ "$skip": 0,
+ "$top": 10000,
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5a58ba90a40f7e0034070001",
+ "userId": "/users/1",
+ "productId": "/products/starter",
+ "state": "active",
+ "createdDate": "2018-01-12T13:39:28.57Z",
+ "primaryKey": "2D9B138F40C1244CB6B48D0378865469",
+ "secondaryKey": "5163734D7AF0CC4AB5A59345E1B6BF6D"
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchApis.json
new file mode 100644
index 000000000000..b7d6a320e82f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchApis.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bac3a40f7ef2e05bc7db",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAACFc=\"",
+ "parameters": {
+ "serviceUrl": "https://api.apim.net"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchApisOperations.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchApisOperations.json
new file mode 100644
index 000000000000..99ceba48268b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchApisOperations.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bb25a40f7ef2e05bd5b2",
+ "operationId": "5a58bb25a40f7ef2e05bd5c5",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAADfY=\"",
+ "parameters": {
+ "method": "DELETE",
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "description_5a58bb25a40f7ef2e05bd5d1",
+ "representations": [
+ {
+ "contentType": "application/json",
+ "sample": "sample_5a58bb25a40f7ef2e05bd5d2"
+ },
+ {
+ "contentType": "application/xml",
+ "sample": "sample_5a58bb25a40f7ef2e05bd5d3"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchAuthorizationservers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchAuthorizationservers.json
new file mode 100644
index 000000000000..6f2375e0b231
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchAuthorizationservers.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "authsid": "5a58be75a40f7e104892b205",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAIn4=\"",
+ "parameters": {
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth1"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchBackends.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchBackends.json
new file mode 100644
index 000000000000..6e901fb0dfff
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchBackends.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "backendid": "5a58bd45a40f7e104892a3aa",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAHDE=\"",
+ "parameters": {
+ "description": "description5308",
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchGroups.json
new file mode 100644
index 000000000000..9484dff61aa2
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchGroups.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "groupId": "5a58baf9a40f7ef2e05bcfb9",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAACo0=\"",
+ "parameters": {
+ "name": "5a58baf9a40f7ef2e05bcfbc",
+ "description": "some new description"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchIdentityproviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchIdentityproviders.json
new file mode 100644
index 000000000000..1d312d074b0b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchIdentityproviders.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "identityProviderName": "facebook",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "clientId": "BDNYXUKKLB",
+ "clientSecret": "QNFYIDJQVSGXDCXYLECG"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchLoggers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchLoggers.json
new file mode 100644
index 000000000000..29884b6871a5
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchLoggers.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "loggerid": "5a58bd45a40f7e104892a3aa",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAHDE=\"",
+ "parameters": {
+ "credentials": {
+ "connectionString": "{{EventHubConnectionString5a58bd47a40f7e104892a3b0}}",
+ "name": "testeventhub3"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchOpenIdConnectProviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchOpenIdConnectProviders.json
new file mode 100644
index 000000000000..4863b95037bf
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchOpenIdConnectProviders.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "opid": "templateOpenIdConnect2",
+ "If-Match": "*",
+ "parameters": {
+ "clientSecret": "updatedsecret"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsDelegation.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsDelegation.json
new file mode 100644
index 000000000000..fa9513521b72
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsDelegation.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsSignIn.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsSignIn.json
new file mode 100644
index 000000000000..166d3197ef18
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsSignIn.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "enabled": true
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsSignUp.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsSignUp.json
new file mode 100644
index 000000000000..ced4f89deafb
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchPortalSettingsSignUp.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "enabled": true,
+ "termsOfService": {
+ "enabled": true,
+ "text": "Terms of service text.",
+ "consentRequired": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchProducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchProducts.json
new file mode 100644
index 000000000000..ad0d9db29fc5
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchProducts.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58badca40f7ef2e05bcd24",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAACdk=\"",
+ "parameters": {
+ "subscriptionsLimit": 1,
+ "state": "notPublished"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchProperties.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchProperties.json
new file mode 100644
index 000000000000..dd99e050b1c6
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchProperties.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "propId": "5a58bd16a40f7e104892a08d",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAGaY=\"",
+ "parameters": {
+ "name": "5a58bd16a40f7e104892a090",
+ "value": "HDNRYZOJPPKUIVYGMJRDXQGFUDEFQXKORLMIDUKRYQERGDPHKZOIZOVQXHXVVITRFVDWIPDRZZEGMPZQNWVQIBPCPWLVXOWQXMMKASYUVWIZJPDHIGHYNCJDFAHLEIULCOJADOPVYAULSPTATEMQHYDVCIFALMQNCXXVGCEURLZMHYLPGHSZWDDDLNYUIPKLKHIVSXUQZSZVYQNEXPTEUQQYTUKSEJLBBOCZPQXJMBAEEIEUATXTVGQTQKBXNCMPGXTKONOGSKRTQMULPQRKLSGVXIJFOZVKOKXGOUFMFQAKPXDDQQIXKBENRYMFEJSSOGEFPNWVKFFURVFAFFOYRYANGJPQIAHVYIWITXOCTNNEWJWVSMAZUTAQFRZFXGMKXKWJZWGHQLFELVQXNUXWZIAFHGDCYJFNADHMMMVVFTIIOWEKABRDIQKOJRBTTEIHGREIOEKBYBRFZRQLBTBWRBEKSSCVKCBALBCWSWVVRQEHZFOSAQSACLPENUPVCOQVZQTYPUTEXFFAXXKMDJVTKBYZLXJYGATCAIHJLQDGXNDWFPHQJDRTTWLYRUMRLUXWMDAOPBBNFPWXYBUWPSODJAIDXIRRDLUCPGKBOTAICENEAOAQZQCSGUNMVWQHKJJUUTHRRSHVSGBFNEDJIARNJCWVTYGRDTYSUTJHGIYGIGZZSIYRTHYJRWLRWLYTMPSZIJKUUWCACLECCXDKZPYVUOAXHRKVKFUSOAQJXEWXFYHGRJPZINUXRXETIMMCLGPWQLNCGUNUSAQWHUFYCLMXLXBRWXAKSTLYIKPGVMSOZZEQGHLOGNZAUSKTKWFJTCCZPRNXEZDPSYXMTKKOLMDFTLEQZWVZHJUXXFBPTOJHJKIVVYAZLQYGYXFDNXXIDEIIDZOOJVUWDWVJCIUAVWNQLOYAZXBWQADFBZSVJMQQVBDBBVBECWMHRSXPBOOLTYGCTPIDQZRJFWUKKWYEWWTUOWOJCCUUXEWXUBIMNYODFDBUXMEEQKPWFMNXBYAOEWLB",
+ "secret": true
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchQuotas.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchQuotas.json
new file mode 100644
index 000000000000..3f4d9211508f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchQuotas.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "quotaCounterKey": "ba",
+ "parameters": {
+ "callsCount": 0,
+ "kbTransferred": 2.5630078125
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchQuotasByQuotaPeriod.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchQuotasByQuotaPeriod.json
new file mode 100644
index 000000000000..e556747934c9
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchQuotasByQuotaPeriod.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S",
+ "parameters": {
+ "callsCount": 0,
+ "kbTransferred": 0
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchSubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchSubscriptions.json
new file mode 100644
index 000000000000..adf8925d444a
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchSubscriptions.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "sid": "5a58bb26a40f7ef2e05bd5e9",
+ "notify": "False",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAADgQ=\"",
+ "parameters": {
+ "expirationDate": "2019-01-12T13:41:58.5287235Z"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchTemplates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchTemplates.json
new file mode 100644
index 000000000000..953ac905f71d
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchTemplates.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "templateName": "newIssueNotificationMessage",
+ "api-version": "2017-03-01",
+ "Accept": "application/json",
+ "parameters": {
+ "subject": "Your request for $IssueName was successfully received."
+ }
+ },
+ "responses": {
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchTenant.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchTenant.json
new file mode 100644
index 000000000000..f60a5e24a4c6
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchTenant.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "accessName": "access",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAB9cAAAAAAAAAAA==\"",
+ "parameters": {
+ "enabled": true
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchUsers.json
new file mode 100644
index 000000000000..40936e5fc112
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchUsers.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "5a58baf0a40f7ef2e05bcf5e",
+ "api-version": "2017-03-01",
+ "If-Match": "\"AAAAAAAAClEAAAAAAAAKUw==\"",
+ "parameters": {
+ "state": "active"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegenerateprimarykey.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegenerateprimarykey.json
new file mode 100644
index 000000000000..ecdbd8200afd
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegenerateprimarykey.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "sid": "5a58bb98a40f7ef2e05be76e",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegeneratesecondarykey.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegeneratesecondarykey.json
new file mode 100644
index 000000000000..2bddc0c2cc5c
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegeneratesecondarykey.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "sid": "5a58bd09a40f7e1048929de9",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantDeploy.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantDeploy.json
new file mode 100644
index 000000000000..649787289cef
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantDeploy.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "configurationName": "configuration",
+ "parameters": {
+ "branch": "master"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af4ae2a6d2e0b688d7517?api-version=2017-03-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "5a1af4ae2a6d2e0b688d7517",
+ "status": "Failed",
+ "started": "2017-11-26T17:06:54.303Z",
+ "updated": "2017-11-26T17:07:21.777Z",
+ "error": {
+ "code": "ValidationError",
+ "message": "File not found: 'api-management/configuration.json'"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantGit.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantGit.json
new file mode 100644
index 000000000000..409015683d66
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantGit.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "accessName": "access",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegenerateprimarykey.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegenerateprimarykey.json
new file mode 100644
index 000000000000..b4014aa4ffc6
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegenerateprimarykey.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "accessName": "access"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegeneratesecondarykey.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegeneratesecondarykey.json
new file mode 100644
index 000000000000..b4014aa4ffc6
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegeneratesecondarykey.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "accessName": "access"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantSave.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantSave.json
new file mode 100644
index 000000000000..be91d3529295
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantSave.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "configurationName": "configuration",
+ "parameters": {
+ "branch": "master"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af57d2a6d2e0b688d751b?api-version=2017-03-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "5a1af57d2a6d2e0b688d751b",
+ "status": "Succeeded",
+ "started": "2017-11-26T17:10:21.957Z",
+ "updated": "2017-11-26T17:10:36.06Z",
+ "resultInfo": "The configuration was successfully saved to master as commit cdb6878db80159cc0e9a53f5ad38581883882974.",
+ "actionLog": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantValidate.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantValidate.json
new file mode 100644
index 000000000000..d2ea4fef164f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantValidate.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "configurationName": "configuration",
+ "parameters": {
+ "branch": "master"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af64e2a6d2e0b688d751e?api-version=2017-03-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "5a1af64e2a6d2e0b688d751e",
+ "status": "Succeeded",
+ "started": "2017-11-26T17:13:50.787Z",
+ "updated": "2017-11-26T17:13:59.723Z",
+ "resultInfo": "Validation is successfull",
+ "actionLog": [
+ {
+ "objectType": "ApiSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57914cb351f68a16889be190;rev=1"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5768181ea40f7eb6c49f6ac7"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "576819c9a40f7e86289fb3e3"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "576819f1a40f7e86289fb6de"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681a67a40f7e72b4132522"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681a73a40f7e72b413281d"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681a7ea40f7e72b4132b18"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681b88a40f7ea0f017f099"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681b9fa40f7ea0f017f682"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bb5a40f7ea0f017fc6b"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bcaa40f7ea0f0180254"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bdfa40f7ea0f018083d"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681bf5a40f7ea0f0180e26"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681c0ea40f7ea0f018140f"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681c26a40f7ea0f01819f8"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681c83a40f7e85f44db237"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681cb2a40f7e85f44dbcd0"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681ce3a40f7e85f44dc769"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681d1fa40f7e85f44dd202"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681d60a40f7e85f44ddc9b"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681db4a40f7e85f44de735"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681e11a40f7e85f44df1ce"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681e73a40f7e85f44dfc67"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "57681f06a40f7e74ec07785c"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5768211fa40f7e74ec07a74a"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "576823cfa40f7e74ec07d63a"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5600b57e7e8880006a060001"
+ },
+ {
+ "objectType": "ProductSpecificationContract",
+ "action": "Updated",
+ "objectKey": "5600b57e7e8880006a060002"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersGeneratessourl.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersGeneratessourl.json
new file mode 100644
index 000000000000..22659f79b071
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersGeneratessourl.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "5a58bb61a40f7ef2e05bdc0f",
+ "api-version": "2017-03-01",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://portal.apim.net/signin-sso?token=5a58bb61a40f7ef2e05bdc0f%26201801121347%26sR2koAEheTKPKakx88NkU1bZe5xmQ4xhX8Tk1CHFKKGVh4BMvy3ltuoSSt4B38L%2fIRxDs0saqAVc0l9I4Z8nLg%3d%3d"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersToken.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersToken.json
new file mode 100644
index 000000000000..296d4472dc06
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersToken.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "1",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "keyType": "primary",
+ "expiry": "2017-05-13T10:39:35Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "57f2af53bb17172280f44057&201705131039&***************************/tJVExvjA=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApis.json
new file mode 100644
index 000000000000..4a90635aa761
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApis.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bab6a40f7ef2e05bc769",
+ "apiType": "Http",
+ "api-version": "2017-03-01",
+ "Accept": "application/json",
+ "parameters": {
+ "name": "api_5a58bab6a40f7ef2e05bc76a",
+ "description": "description_5a58bab6a40f7ef2e05bc76b",
+ "serviceUrl": "http://contoso/5a58bab6a40f7ef2e05bc76c",
+ "path": "suffix_5a58bab6a40f7ef2e05bc76d",
+ "protocols": [
+ "https"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/apis/5a58bab6a40f7ef2e05bc769",
+ "name": "api_5a58bab6a40f7ef2e05bc76a",
+ "apiRevision": "1",
+ "description": "description_5a58bab6a40f7ef2e05bc76b",
+ "serviceUrl": "http://contoso/5a58bab6a40f7ef2e05bc76c",
+ "path": "suffix_5a58bab6a40f7ef2e05bc76d",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/apis/5a58bab6a40f7ef2e05bc769",
+ "name": "api_5a58bab6a40f7ef2e05bc76a",
+ "apiRevision": "1",
+ "description": "description_5a58bab6a40f7ef2e05bc76b",
+ "serviceUrl": "http://contoso/5a58bab6a40f7ef2e05bc76c",
+ "path": "suffix_5a58bab6a40f7ef2e05bc76d",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisOperations.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisOperations.json
new file mode 100644
index 000000000000..b179ce737ca7
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisOperations.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bab8a40f7ef2e05bc7a1",
+ "operationId": "5a58bab8a40f7ef2e05bc7aa",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "name": "operation_5a58bab8a40f7ef2e05bc7a7",
+ "method": "PATCH",
+ "urlTemplate": "template_5a58bab8a40f7ef2e05bc7a9",
+ "description": "description_5a58bab8a40f7ef2e05bc7a8"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/apis/5a58bab8a40f7ef2e05bc7a1/operations/5a58bab8a40f7ef2e05bc7aa",
+ "name": "operation_5a58bab8a40f7ef2e05bc7a7",
+ "method": "PATCH",
+ "urlTemplate": "/template_5a58bab8a40f7ef2e05bc7a9",
+ "templateParameters": [],
+ "description": "description_5a58bab8a40f7ef2e05bc7a8",
+ "request": {
+ "queryParameters": [],
+ "headers": [],
+ "representations": []
+ },
+ "responses": []
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/apis/5a58bab8a40f7ef2e05bc7a1/operations/5a58bab8a40f7ef2e05bc7aa",
+ "name": "operation_5a58bab8a40f7ef2e05bc7a7",
+ "method": "PATCH",
+ "urlTemplate": "/template_5a58bab8a40f7ef2e05bc7a9",
+ "templateParameters": [],
+ "description": "description_5a58bab8a40f7ef2e05bc7a8",
+ "request": {
+ "queryParameters": [],
+ "headers": [],
+ "representations": []
+ },
+ "responses": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisOperationsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisOperationsPolicies.json
new file mode 100644
index 000000000000..1e43f5d2dbba
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisOperationsPolicies.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bc94a40f7e10489299ac",
+ "operationId": "5a58bc94a40f7e10489299bf",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/apis/5a58bc94a40f7e10489299ac/operations/5a58bc94a40f7e10489299bf/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/apis/5a58bc94a40f7e10489299ac/operations/5a58bc94a40f7e10489299bf/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisPolicies.json
new file mode 100644
index 000000000000..c640281d9161
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisPolicies.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bd43a40f7e104892a398",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "policyContent": "\r\n \r\n \r\n \r\n version\r\n Accept\r\n Accept-Charset\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/apis/5a58bd43a40f7e104892a398/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n version\r\n Accept\r\n Accept-Charset\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/apis/5a58bd43a40f7e104892a398/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n version\r\n Accept\r\n Accept-Charset\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisSchemas.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisSchemas.json
new file mode 100644
index 000000000000..604caa10e2c7
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutApisSchemas.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "apiId": "5a58bdf5a40f7e104892acda",
+ "schemaId": "5a58bdf5a40f7e104892ace0",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/apis/5a58bdf5a40f7e104892acda/schemas/5a58bdf5a40f7e104892ace0",
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/apis/5a58bdf5a40f7e104892acda/schemas/5a58bdf5a40f7e104892ace0",
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutAuthorizationservers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutAuthorizationservers.json
new file mode 100644
index 000000000000..83ccd5572b24
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutAuthorizationservers.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "authsid": "5a58bb1ca40f7ef2e05bd557",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "name": "68d89b6f-a724-4035-bc3c-a7ab17d849d8",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/authorizationServers/5a58bb1ca40f7ef2e05bd557",
+ "name": "68d89b6f-a724-4035-bc3c-a7ab17d849d8",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/authorizationServers/5a58bb1ca40f7ef2e05bd557",
+ "name": "68d89b6f-a724-4035-bc3c-a7ab17d849d8",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutBackends.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutBackends.json
new file mode 100644
index 000000000000..5eb83112b3d1
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutBackends.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "backendid": "5a58bb16a40f7ef2e05bd52d",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "description": "Service Fabric Test App: 5a58bb16a40f7ef2e05bd52d",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateThumbprint": "C0F0AE5B3D8E1DF7A32FCB0BB1B43C8A704C54FF",
+ "serverCertificateThumbprints": [
+ "abcxyz123"
+ ],
+ "maxPartitionResolutionRetries": 5,
+ "partitionResolutionRequestTimeout": "PT5M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/backends/5a58bb16a40f7ef2e05bd52d",
+ "description": "Service Fabric Test App: 5a58bb16a40f7ef2e05bd52d",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateThumbprint": "C0F0AE5B3D8E1DF7A32FCB0BB1B43C8A704C54FF",
+ "serverCertificateThumbprints": [
+ "abcxyz123"
+ ],
+ "maxPartitionResolutionRetries": 5,
+ "partitionResolutionRequestTimeout": "PT5M"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/backends/5a58bb16a40f7ef2e05bd52d",
+ "description": "Service Fabric Test App: 5a58bb16a40f7ef2e05bd52d",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateThumbprint": "C0F0AE5B3D8E1DF7A32FCB0BB1B43C8A704C54FF",
+ "serverCertificateThumbprints": [
+ "abcxyz123"
+ ],
+ "maxPartitionResolutionRetries": 5,
+ "partitionResolutionRequestTimeout": "PT5M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutCertificates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutCertificates.json
new file mode 100644
index 000000000000..de18a3bdb296
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutCertificates.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "certificateId": "5a58bad2a40f7ef2e05bcce2",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "data": "Based 64 Encoded Certificate string",
+ "password": "whatever"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/certificates/5a58bad2a40f7ef2e05bcce2",
+ "subject": "CN=localhost",
+ "thumbprint": "C2728598048BE9C8BD559A159BD70525A4EA0367",
+ "expirationDate": "2019-01-12T08:00:00Z"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/certificates/5a58bad2a40f7ef2e05bcce2",
+ "subject": "CN=localhost",
+ "thumbprint": "C2728598048BE9C8BD559A159BD70525A4EA0367",
+ "expirationDate": "2019-01-12T08:00:00Z"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutGroups.json
new file mode 100644
index 000000000000..d54da68cf82b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutGroups.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "groupId": "5a58babda40f7ef2e05bc7b6",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "name": "5a58babda40f7ef2e05bc7b7",
+ "type": "custom"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/groups/5a58babda40f7ef2e05bc7b6",
+ "name": "5a58babda40f7ef2e05bc7b7",
+ "builtIn": false,
+ "type": "custom"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/groups/5a58babda40f7ef2e05bc7b6",
+ "name": "5a58babda40f7ef2e05bc7b7",
+ "builtIn": false,
+ "type": "custom"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutGroupsUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutGroupsUsers.json
new file mode 100644
index 000000000000..2a0134b9374e
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutGroupsUsers.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "groupId": "5a58bacfa40f7ef2e05bccc6",
+ "uid": "5a58bacfa40f7ef2e05bccc0",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/users/5a58bacfa40f7ef2e05bccc0",
+ "firstName": "5a58bacfa40f7ef2e05bccc2",
+ "lastName": "5a58bacfa40f7ef2e05bccc3",
+ "email": "5a58bacfa40f7ef2e05bccc1@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:31.663Z",
+ "groups": [],
+ "identities": []
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/users/5a58bacfa40f7ef2e05bccc0",
+ "firstName": "5a58bacfa40f7ef2e05bccc2",
+ "lastName": "5a58bacfa40f7ef2e05bccc3",
+ "email": "5a58bacfa40f7ef2e05bccc1@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:31.663Z",
+ "groups": [],
+ "identities": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutIdentityproviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutIdentityproviders.json
new file mode 100644
index 000000000000..8dc430e24945
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutIdentityproviders.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "identityProviderName": "facebook",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "clientId": "BDNYXUKKLB",
+ "clientSecret": "QNFYIDJQVSGXDCXYLECG",
+ "type": "facebook"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/identityProviders/Facebook",
+ "clientId": "BDNYXUKKLB",
+ "clientSecret": "QNFYIDJQVSGXDCXYLECG",
+ "type": "facebook"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/identityProviders/Facebook",
+ "clientId": "BDNYXUKKLB",
+ "clientSecret": "QNFYIDJQVSGXDCXYLECG",
+ "type": "facebook"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutLoggers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutLoggers.json
new file mode 100644
index 000000000000..34ad18e0c387
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutLoggers.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "loggerid": "5a58bc28a40f7e10489292a3",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "loggerType": "azureEventHub",
+ "description": "first eventhub logger",
+ "credentials": {
+ "name": "testeventhub3",
+ "connectionString": "Endpoint=sb://contoso.servicebus.windows.net/;SharedAccessKeyName=SendPolicy;SharedAccessKey=sdfsdfdf"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/loggers/5a58bc28a40f7e10489292a3",
+ "loggerType": "azureEventHub",
+ "description": "first eventhub logger",
+ "credentials": {
+ "name": "testeventhub3",
+ "connectionString": "{{Logger-Credentials-5a58bc31a40f7e10489292a5}}"
+ },
+ "isBuffered": true
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/loggers/5a58bc28a40f7e10489292a3",
+ "loggerType": "azureEventHub",
+ "description": "first eventhub logger",
+ "credentials": {
+ "name": "testeventhub3",
+ "connectionString": "{{Logger-Credentials-5a58bc31a40f7e10489292a5}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutOpenIdConnectProviders.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutOpenIdConnectProviders.json
new file mode 100644
index 000000000000..524637bc4a97
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutOpenIdConnectProviders.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "opid": "op1",
+ "parameters": {
+ "name": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/openidConnectProviders/op1",
+ "name": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/openidConnectProviders/op1",
+ "name": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPolicies.json
new file mode 100644
index 000000000000..a5f754476b46
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPolicies.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "policyContent": "\r\n \r\n \r\n \r\n bbyby\r\n \r\n \r\n \r\n xxbbcczc\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n bbyby\r\n \r\n \r\n \r\n xxbbcczc\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n bbyby\r\n \r\n \r\n \r\n xxbbcczc\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalSettingsDelegation.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalSettingsDelegation.json
new file mode 100644
index 000000000000..fa9513521b72
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalSettingsDelegation.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalSettingsSignIn.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalSettingsSignIn.json
new file mode 100644
index 000000000000..166d3197ef18
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalSettingsSignIn.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "api-version": "2017-03-01",
+ "If-Match": "*",
+ "parameters": {
+ "enabled": true
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalsettingsSignUp.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalsettingsSignUp.json
new file mode 100644
index 000000000000..57f3eed1836f
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalsettingsSignUp.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "portalsettings": "signup",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "terms of service text",
+ "enabled": true,
+ "consentRequired": false
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProducts.json
new file mode 100644
index 000000000000..3efaac5a53e7
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProducts.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bab1a40f7ef2e05bc75f",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "name": "product_5a58bab1a40f7ef2e05bc760",
+ "description": "product_description_5a58bab1a40f7ef2e05bc761",
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/products/5a58bab1a40f7ef2e05bc75f",
+ "name": "product_5a58bab1a40f7ef2e05bc760",
+ "description": "product_description_5a58bab1a40f7ef2e05bc761",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/products/5a58bab1a40f7ef2e05bc75f",
+ "name": "product_5a58bab1a40f7ef2e05bc760",
+ "description": "product_description_5a58bab1a40f7ef2e05bc761",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsApis.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsApis.json
new file mode 100644
index 000000000000..1c0b96ee8068
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsApis.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bac7a40f7ef2e05bcafb",
+ "apiId": "5a58bac7a40f7ef2e05bcb05",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/apis/5a58bac7a40f7ef2e05bcb05",
+ "name": "api_5a58bac7a40f7ef2e05bcb06",
+ "apiRevision": "1",
+ "description": "description_5a58bac7a40f7ef2e05bcb07",
+ "serviceUrl": "http://contoso/5a58bac7a40f7ef2e05bcb08",
+ "path": "suffix_5a58bac7a40f7ef2e05bcb09",
+ "isCurrent": true
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/apis/5a58bac7a40f7ef2e05bcb05",
+ "name": "api_5a58bac7a40f7ef2e05bcb06",
+ "apiRevision": "1",
+ "description": "description_5a58bac7a40f7ef2e05bcb07",
+ "serviceUrl": "http://contoso/5a58bac7a40f7ef2e05bcb08",
+ "path": "suffix_5a58bac7a40f7ef2e05bcb09",
+ "isCurrent": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsGroups.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsGroups.json
new file mode 100644
index 000000000000..85762ab57306
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsGroups.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58bac8a40f7ef2e05bcc5e",
+ "groupId": "5a58bac8a40f7ef2e05bcc63",
+ "api-version": "2017-03-01"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/groups/5a58bac8a40f7ef2e05bcc63",
+ "name": "5a58bac8a40f7ef2e05bcc64",
+ "builtIn": false,
+ "type": "custom"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/groups/5a58bac8a40f7ef2e05bcc63",
+ "name": "5a58bac8a40f7ef2e05bcc64",
+ "builtIn": false,
+ "type": "custom"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsPolicies.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsPolicies.json
new file mode 100644
index 000000000000..efc723e4547c
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProductsPolicies.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "productId": "5a58be7ba40f7e104892b23a",
+ "policyId": "policy",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/products/5a58be7ba40f7e104892b23a/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/products/5a58be7ba40f7e104892b23a/policies/policy",
+ "policyContent": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProperties.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProperties.json
new file mode 100644
index 000000000000..fde984c3033b
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutProperties.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "propId": "5a58bc49a40f7e10489293ad",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "name": "cacheDuration5a58bc49a40f7e10489293ae",
+ "value": "10",
+ "secret": true
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/properties/5a58bc49a40f7e10489293ad",
+ "name": "cacheDuration5a58bc49a40f7e10489293ae",
+ "value": "10",
+ "secret": true
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/properties/5a58bc49a40f7e10489293ad",
+ "name": "cacheDuration5a58bc49a40f7e10489293ae",
+ "value": "10",
+ "secret": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutSubscriptions.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutSubscriptions.json
new file mode 100644
index 000000000000..a2ceb1e045e4
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutSubscriptions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "sid": "%20%E2%99%A5john.5a58bae0a40f7ef2e05bcd51@gmail.com000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "notify": "False",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "userId": "/users/5a58bae0a40f7ef2e05bcd4b",
+ "productId": "/products/5a58bae0a40f7ef2e05bcd3d"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ ♥john.5a58bae0a40f7ef2e05bcd51@gmail.com000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "userId": "/users/5a58bae0a40f7ef2e05bcd4b",
+ "productId": "/products/5a58bae0a40f7ef2e05bcd3d",
+ "name": "product_5a58bae0a40f7ef2e05bcd3e subscription",
+ "state": "active",
+ "createdDate": "2018-01-12T13:40:48.276514Z",
+ "startDate": "2018-01-12T00:00:00Z",
+ "primaryKey": "84269e1cb0634af796bcf60e366a03bd",
+ "secondaryKey": "b5225c62265f44088aaaae1ac7185e93"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ ♥john.5a58bae0a40f7ef2e05bcd51@gmail.com000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "userId": "/users/5a58bae0a40f7ef2e05bcd4b",
+ "productId": "/products/5a58bae0a40f7ef2e05bcd3d",
+ "name": "product_5a58bae0a40f7ef2e05bcd3e subscription",
+ "state": "active",
+ "createdDate": "2018-01-12T13:40:48.276514Z",
+ "startDate": "2018-01-12T00:00:00Z",
+ "primaryKey": "84269e1cb0634af796bcf60e366a03bd",
+ "secondaryKey": "b5225c62265f44088aaaae1ac7185e93"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutTemplates.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutTemplates.json
new file mode 100644
index 000000000000..5ac2b90477c2
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutTemplates.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "templateName": "newIssueNotificationMessage",
+ "api-version": "2017-03-01",
+ "Accept": "application/json",
+ "parameters": {
+ "subject": "Your request for $IssueName was successfully received."
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/templates/ApplicationApprovedNotificationMessage",
+ "subject": "Your application $AppName is published in the application gallery",
+ "body": "\r\n\r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Application gallery submission approved",
+ "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.",
+ "isDefault": false,
+ "parameters": [
+ {
+ "name": "AppId",
+ "title": "Application id"
+ },
+ {
+ "name": "AppName",
+ "title": "Application name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/templates/ApplicationApprovedNotificationMessage",
+ "subject": "Your application $AppName is published in the application gallery",
+ "body": "\r\n\r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Application gallery submission approved",
+ "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.",
+ "isDefault": false,
+ "parameters": [
+ {
+ "name": "AppId",
+ "title": "Application id"
+ },
+ {
+ "name": "AppName",
+ "title": "Application name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutUsers.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutUsers.json
new file mode 100644
index 000000000000..bea1bbd05f65
--- /dev/null
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutUsers.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "apimBaseUrl": "apimservice1.management.azure-api.net",
+ "uid": "5a58bac2a40f7ef2e05bc7d0",
+ "api-version": "2017-03-01",
+ "parameters": {
+ "email": "5a58bac2a40f7ef2e05bc7d1@contoso.com",
+ "password": "5a58bac2a40f7ef2e05bc7d4",
+ "firstName": "5a58bac2a40f7ef2e05bc7d2",
+ "lastName": "5a58bac2a40f7ef2e05bc7d3"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/users/5a58bac2a40f7ef2e05bc7d0",
+ "firstName": "5a58bac2a40f7ef2e05bc7d2",
+ "lastName": "5a58bac2a40f7ef2e05bc7d3",
+ "email": "5a58bac2a40f7ef2e05bc7d1@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:18.223Z",
+ "groups": [
+ {
+ "id": "/groups/developers",
+ "name": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ ],
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "5a58bac2a40f7ef2e05bc7d1@contoso.com"
+ }
+ ]
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/users/5a58bac2a40f7ef2e05bc7d0",
+ "firstName": "5a58bac2a40f7ef2e05bc7d2",
+ "lastName": "5a58bac2a40f7ef2e05bc7d3",
+ "email": "5a58bac2a40f7ef2e05bc7d1@contoso.com",
+ "state": "active",
+ "registrationDate": "2018-01-12T13:40:18.223Z",
+ "groups": [
+ {
+ "id": "/groups/developers",
+ "name": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ ],
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "5a58bac2a40f7ef2e05bc7d1@contoso.com"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/control-plane/readme.md b/specification/apimanagement/control-plane/readme.md
new file mode 100644
index 000000000000..6712a256565d
--- /dev/null
+++ b/specification/apimanagement/control-plane/readme.md
@@ -0,0 +1,56 @@
+# API Management Direct Control Plane Client
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Direct Control Plane SDK for API Management.
+
+
+
+---
+## Getting Started
+To build the SDK for API Management, 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 API Management Direct Control Plane API.
+
+``` yaml
+openapi-type: default
+tag: package-2017-03
+```
+
+### Tag: package-2017-03
+
+These settings apply only when `--tag=package-2017-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-03'
+input-file:
+- Microsoft.ApiManagement/preview/2017-03-01/apimanagement.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimapis.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimauthorizationservers.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimbackends.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimcertificates.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimemailtemplate.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimgroups.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimidentityprovider.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimloggers.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimopenidconnectproviders.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimportalsettings.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimproperties.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimquotas.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimreports.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimsubscriptions.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimtenant.json
+- Microsoft.ApiManagement/preview/2017-03-01/apimusers.json
+```
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
index fefd15e77f62..202622d61791 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
@@ -100,6 +100,11 @@
"$ref": "./examples/ApiManagementGetPolicy.json"
}
},
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "#/parameters/ResourceGroupNameParameter"
@@ -149,6 +154,11 @@
"$ref": "./examples/ApiManagementCreatePolicy.json"
}
},
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "#/parameters/ResourceGroupNameParameter"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
index d4ab729c1174..946149377a59 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
@@ -74,11 +74,19 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "expandApiVersionSet",
+ "in": "query",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "Include full ApiVersionSet resource in response"
}
],
"responses": {
"200": {
- "description": "Paged Result reponse of Apis.",
+ "description": "Paged Result response of Apis.",
"schema": {
"$ref": "#/definitions/ApiCollection"
}
@@ -97,6 +105,52 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "Api_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApi": {
+ "$ref": "./examples/ApiManagementHeadApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"Apis"
@@ -108,6 +162,12 @@
"$ref": "./examples/ApiManagementGetApiContract.json"
}
},
+ "produces": [
+ "application/json",
+ "application/vnd.sun.wadl+xml",
+ "application/vnd.swagger.doc+json",
+ "application/wsdl+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -116,7 +176,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -166,6 +226,12 @@
"$ref": "./examples/ApiManagementCreateApi.json"
}
},
+ "consumes": [
+ "application/json",
+ "application/vnd.sun.wadl+xml",
+ "application/vnd.swagger.doc+json",
+ "application/wsdl+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -174,7 +240,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"name": "parameters",
@@ -251,7 +317,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"name": "parameters",
@@ -307,7 +373,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"name": "If-Match",
@@ -336,6 +402,290 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions": {
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Revisions"
+ ],
+ "operationId": "ApiRevisions_List",
+ "description": "Lists all revisions of an API.",
+ "x-ms-examples": {
+ "ApiManagementListApiRevisions": {
+ "$ref": "./examples/ApiManagementListApiRevisions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a list of revision details.",
+ "schema": {
+ "$ref": "#/definitions/ApiRevisionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ApiRevisionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases": {
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Releases"
+ ],
+ "operationId": "ApiRelease_List",
+ "description": "Lists all releases of an API. An API release is created when making an API Revision current. Releases are also used to rollback to previous revisions. Results will be paged and can be constrained by the $top and $skip parameters.",
+ "x-ms-examples": {
+ "ApiManagementListApiReleases": {
+ "$ref": "./examples/ApiManagementListApiReleases.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n|notes|ge le eq ne gt lt|substringof contains startswith endswith|"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a list of API Releases.",
+ "schema": {
+ "$ref": "#/definitions/ApiReleaseCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ApiReleaseContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}": {
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "releaseId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Release identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Releases"
+ ],
+ "operationId": "ApiRelease_Get",
+ "description": "Returns the details of an API release.",
+ "x-ms-examples": {
+ "ApiManagementGetApiRelease": {
+ "$ref": "./examples/ApiManagementGetApiRelease.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "The operation returns the details of an API Release.",
+ "schema": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Releases"
+ ],
+ "operationId": "ApiRelease_Create",
+ "description": "Creates a new Release for the API.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiRelease": {
+ "$ref": "./examples/ApiManagementCreateApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ },
+ "description": "Create parameters."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Release was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ }
+ },
+ "200": {
+ "description": "Release was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the release failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Releases"
+ ],
+ "operationId": "ApiRelease_Update",
+ "description": "Updates the details of the release of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiRelease": {
+ "$ref": "./examples/ApiManagementUpdateApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ },
+ "description": "API Release Update parameters."
+ },
+ {
+ "$ref": "#/parameters/IfMatch"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The operation was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Releases"
+ ],
+ "operationId": "ApiRelease_Delete",
+ "description": "Deletes the specified release in the API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiRelease": {
+ "$ref": "./examples/ApiManagementDeleteApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/IfMatch"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The release was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations": {
"get": {
"tags": [
@@ -356,7 +706,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"name": "$filter",
@@ -399,6 +749,55 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": {
+ "head": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ApiOperation_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API operation specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperation": {
+ "$ref": "./examples/ApiManagementHeadApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API operation entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"Operations"
@@ -418,7 +817,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "#/parameters/OperationIdParameter"
@@ -470,7 +869,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "#/parameters/OperationIdParameter"
@@ -531,7 +930,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "#/parameters/OperationIdParameter"
@@ -590,7 +989,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "#/parameters/OperationIdParameter"
@@ -634,6 +1033,54 @@
"$ref": "./examples/ApiManagementListApiOperationPolicies.json"
}
},
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Operations Policy Collection.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ApiOperationPolicies"
+ ],
+ "operationId": "ApiOperationPolicy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API operation policy specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementHeadApiOperationPolicy.json"
+ }
+ },
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -647,6 +1094,9 @@
{
"$ref": "#/parameters/OperationIdParameter"
},
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -656,9 +1106,12 @@
],
"responses": {
"200": {
- "description": "Api Operations Policy Collection.",
- "schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyCollection"
+ "description": "Specified API operation policy entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -668,9 +1121,7 @@
}
}
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}": {
+ },
"get": {
"tags": [
"ApiOperationPolicies"
@@ -682,6 +1133,11 @@
"$ref": "./examples/ApiManagementGetApiOperationPolicy.json"
}
},
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -690,7 +1146,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "#/parameters/OperationIdParameter"
@@ -737,6 +1193,11 @@
"$ref": "./examples/ApiManagementCreateApiOperationPolicy.json"
}
},
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -745,7 +1206,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "#/parameters/OperationIdParameter"
@@ -965,6 +1426,55 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiPolicy": {
+ "$ref": "./examples/ApiManagementHeadApiPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API Policy entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"ApiPolicy"
@@ -976,6 +1486,11 @@
"$ref": "./examples/ApiManagementGetApiPolicy.json"
}
},
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -984,7 +1499,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1028,6 +1543,11 @@
"$ref": "./examples/ApiManagementCreateApiPolicy.json"
}
},
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -1036,7 +1556,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1104,7 +1624,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1191,6 +1711,55 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": {
+ "head": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the schema specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiSchema": {
+ "$ref": "./examples/ApiManagementHeadApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified schema entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"ApiSchema"
@@ -1361,6 +1930,59 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags": {
+ "get": {
+ "tags": [
+ "ApisByTags"
+ ],
+ "operationId": "Api_ListByTags",
+ "description": "Lists a collection of apis associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListApisByTags": {
+ "$ref": "./examples/ApiManagementListApisByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| aid | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| isCurrent | eq | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./apimtagresources.json#/definitions/TagResourceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimtagresources.json#/definitions/TagResourceContract"
+ }
}
},
"x-ms-paths": {
@@ -1539,7 +2161,7 @@
},
{
"value": "swagger-json",
- "description": "The contents are inline and Content Type if a OpenApi 2.0 Document."
+ "description": "The contents are inline and Content Type is a OpenApi 2.0 Document."
},
{
"value": "swagger-link-json",
@@ -1557,7 +2179,6 @@
}
},
"wsdlSelector": {
- "type": "object",
"description": "Criteria to limit import of WSDL to a subset of the document.",
"properties": {
"wsdlServiceName": {
@@ -1612,6 +2233,9 @@
}
},
"description": "Describes on which protocols the operations in this API can be invoked."
+ },
+ "apiVersionSet" : {
+ "$ref" : "./apimversionsets.json#/definitions/ApiVersionSetContract"
}
},
"allOf": [
@@ -1710,17 +2334,188 @@
"minLength": 1,
"maxLength": 100
},
+ "apiVersion": {
+ "type": "string",
+ "description": "Indicates the Version identifier of the API if the API is versioned",
+ "maxLength": 100
+ },
"isCurrent": {
"type": "boolean",
- "description": "Indicates if API revision is current api revision."
+ "description": "Indicates if API revision is current api revision.",
+ "readOnly": true
},
"isOnline": {
"type": "boolean",
- "description": "Indicates if API revision is accessible via the gateway."
+ "description": "Indicates if API revision is accessible via the gateway.",
+ "readOnly": true
+ },
+ "apiVersionSetId": {
+ "type": "string",
+ "description": "A resource identifier for the related ApiVersionSet."
}
},
"description": "API base contract details."
},
+ "ApiRevisionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiRevisionContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Api Revision list representation."
+ },
+ "ApiRevisionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiRevisionContractProperties",
+ "description": "Properties of the Api Revision Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api Revision details."
+ },
+ "ApiRevisionContractProperties": {
+ "properties": {
+ "apiId": {
+ "type":"string",
+ "readOnly": true,
+ "description": "Identifier of the API Revision."
+ },
+ "apiRevision": {
+ "type":"string",
+ "minLength": 1,
+ "maxLength": 100,
+ "readOnly": true,
+ "description": "Revision number of API."
+ },
+ "createdDateTime": {
+ "type":"string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type":"string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "maxLength": 256,
+ "description": "Description of the API Revision."
+ },
+ "privateUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gateway URL for accessing the non-current API Revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is the current api revision."
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is accessible via the gateway."
+ }
+ },
+ "description": "Summary of revision metadata."
+ },
+ "ApiRevisionInfoContract" : {
+ "description": "Object used to create an API Revision or Version based on an existing API Revision",
+ "properties": {
+ "sourceApiId": {
+ "type": "string",
+ "description": "Resource identifier of API to be used to create the revision from."
+ },
+ "apiVersionName": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Version identifier for the new API Version."
+ },
+ "apiRevisionDescription": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "Description of new API Revision."
+ },
+ "apiVersionSet" : {
+ "description": "Version set details",
+ "$ref" : "./apimversionsets.json#/definitions/ApiVersionSetContractProperties"
+ }
+ }
+ },
+ "ApiReleaseCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Api Revision list representation."
+ },
+ "ApiReleaseContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiReleaseContractProperties",
+ "description": "Properties of the Api Release Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api Release details."
+ },
+ "ApiReleaseContractProperties": {
+ "description": "API Release details",
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "Identifier of the API the release belongs to."
+ },
+ "createdDateTime": {
+ "type":"string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type":"string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API release was updated."
+ },
+ "notes": {
+ "type": "string",
+ "description": "Release Notes"
+ }
+ }
+ },
"AuthenticationSettingsContract": {
"properties": {
"oAuth2": {
@@ -2054,7 +2849,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "./apimanagement.json#/definitions/Resource"
}
],
"description": "Schema Contract details."
@@ -2098,6 +2893,17 @@
"pattern": "^[^*#&+:<>?]+$",
"x-ms-parameter-location": "method"
},
+ "ApiIdRevParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
"OperationIdParameter": {
"name": "operationId",
"in": "path",
@@ -2109,6 +2915,14 @@
"pattern": "^[^*#&+:<>?]+$",
"x-ms-parameter-location": "method"
},
+ "IfMatch": {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"SchemaIdParameter": {
"name": "schemaId",
"in": "path",
@@ -2121,4 +2935,4 @@
"x-ms-parameter-location": "method"
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
index 40b361026079..d37946b973d7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
@@ -88,6 +88,52 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}": {
+ "head": {
+ "tags": [
+ "AuthorizationServers"
+ ],
+ "operationId": "AuthorizationServer_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the authorizationServer specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadAuthorizationServer": {
+ "$ref": "./examples/ApiManagementHeadAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified authorization server entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"AuthorizationServers"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
index cebe44ba7161..499f708cade8 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
@@ -94,7 +94,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}": {
- "get": {
+ "head": {
+ "tags": [
+ "Backends"
+ ],
+ "operationId": "Backend_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the backend specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadBackend": {
+ "$ref": "./examples/ApiManagementHeadBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified backend entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Backends"
],
@@ -307,6 +353,57 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect": {
+ "post": {
+ "tags": [
+ "Backends"
+ ],
+ "operationId": "Backend_Reconnect",
+ "description": "Notifies the APIM proxy to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.",
+ "x-ms-examples": {
+ "ApiManagementBackendReconnect": {
+ "$ref": "./examples/ApiManagementBackendReconnect.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/BackendReconnectContract"
+ },
+ "description": "Reconnect request parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Reconnect request accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -632,6 +729,33 @@
}
],
"description": "Parameters supplied to the Update Backend operation."
+ },
+ "BackendReconnectContract": {
+ "properties": {
+ "properties":{
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendReconnectProperties",
+ "description": "Reconnect request properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Reconnect request parameters."
+ },
+ "BackendReconnectProperties": {
+ "properties": {
+ "after": {
+ "type": "string",
+ "format": "duration",
+ "description": "Duration in ISO8601 format after which reconnect will be initiated.",
+ "minLength": 1,
+ "maxLength": 2000
+ }
+ },
+ "description": "Properties to control reconnect requests."
}
},
"parameters": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
index fe26e7222162..57c6c10526cf 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
@@ -94,7 +94,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": {
- "get": {
+ "head": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadCertificate": {
+ "$ref": "./examples/ApiManagementHeadCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified certificate entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Certificates"
],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json
new file mode 100644
index 000000000000..7fa0b87ecc4d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json
@@ -0,0 +1,622 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Diagnostic entity associated with your Azure API Management deployment. Diagnostics are used to log requests/responses in the APIM proxy.",
+ "version": "2017-03-01"
+ },
+ "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.ApiManagement/service/{serviceName}/diagnostics": {
+ "get": {
+ "tags": [
+ "Diagnostics"
+ ],
+ "operationId": "Diagnostic_ListByService",
+ "description": "Lists all diagnostics of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListDiagnostics": {
+ "$ref": "./examples/ApiManagementListDiagnostics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result reponse of diagnostics.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DiagnosticContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}": {
+ "head": {
+ "tags": [
+ "Diagnostics"
+ ],
+ "operationId": "Diagnostic_Head",
+ "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadDiagnostic": {
+ "$ref": "./examples/ApiManagementHeadDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Diagnostics"
+ ],
+ "operationId": "Diagnostic_Get",
+ "description": "Gets the details of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetDiagnostic": {
+ "$ref": "./examples/ApiManagementGetDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Diagnostic entity.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Diagnostics"
+ ],
+ "operationId": "Diagnostic_CreateOrUpdate",
+ "description": "Creates a new Diagnostic or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateDiagnostic": {
+ "$ref": "./examples/ApiManagementCreateDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "ETag of the Diagnostic Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Diagnostic was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticContract"
+ }
+ },
+ "200": {
+ "description": "Diagnostic was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Diagnostics"
+ ],
+ "operationId": "Diagnostic_Update",
+ "description": "Updates the details of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateDiagnostic": {
+ "$ref": "./examples/ApiManagementUpdateDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticContract"
+ },
+ "description": "Diagnostic Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Diagnostic Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Diagnostic was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Diagnostics"
+ ],
+ "operationId": "Diagnostic_Delete",
+ "description": "Deletes the specified Diagnostic.",
+ "x-ms-examples": {
+ "ApiManagementDeleteDiagnostic": {
+ "$ref": "./examples/ApiManagementDeleteDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Diagnostic Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Diagnostic was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers": {
+ "get": {
+ "tags": [
+ "DiagnosticLoggers"
+ ],
+ "operationId": "DiagnosticLogger_ListByService",
+ "description": "Lists all loggers assosiated with the specified Diagnostic of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListDiagnosticLoggers": {
+ "$ref": "./examples/ApiManagementListDiagnosticLoggers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| type | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result reponse of loggers assigned to the specified Diagnostic.",
+ "schema": {
+ "$ref": "./apimloggers.json#/definitions/LoggerCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimloggers.json#/definitions/LoggerContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}": {
+ "head": {
+ "tags": [
+ "DiagnosticLoggers"
+ ],
+ "operationId": "DiagnosticLogger_CheckEntityExists",
+ "description": "Checks that logger entity specified by identifier is associated with the diagnostics entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadDiagnosticLogger": {
+ "$ref": "./examples/ApiManagementHeadDiagnosticLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimloggers.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DiagnosticLoggers"
+ ],
+ "operationId": "DiagnosticLogger_CreateOrUpdate",
+ "description": "Attaches a logger to a dignostic.",
+ "x-ms-examples": {
+ "ApiManagementCreateDiagnosticLogger": {
+ "$ref": "./examples/ApiManagementCreateDiagnosticLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimloggers.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Logger was successfully attached to Diagnostic.",
+ "schema": {
+ "$ref": "./apimloggers.json#/definitions/LoggerContract"
+ }
+ },
+ "200": {
+ "description": "Logger to Diagnostic link was successfully updated.",
+ "schema": {
+ "$ref": "./apimloggers.json#/definitions/LoggerContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiagnosticLoggers"
+ ],
+ "operationId": "DiagnosticLogger_Delete",
+ "description": "Deletes the specified Logger from Diagnostic.",
+ "x-ms-examples": {
+ "ApiManagementDeleteDiagnosticLogger": {
+ "$ref": "./examples/ApiManagementDeleteDiagnosticLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Logger was successfully detached from Diagnostic."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DiagnosticCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Diagnostic list representation."
+ },
+ "DiagnosticContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiagnosticContractProperties",
+ "description": "Diagnostic entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Diagnostic details."
+ },
+ "DiagnosticContractProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates whether a diagnostic should receive data or not."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "Diagnostic Entity Properties"
+ }
+ },
+ "parameters": {
+ "DiagnosticIdParameter": {
+ "name": "diagnosticId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
index 2ed63cdf6ec6..0cd80e168e70 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
@@ -80,7 +80,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}": {
- "get": {
+ "head": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the email template specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadEmailTemplate": {
+ "$ref": "./examples/ApiManagementHeadEmailTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified email template entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"EmailTemplates"
],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
index 16f33e071dc0..6a4a7b319333 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
@@ -91,7 +91,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}": {
- "get": {
+ "head": {
+ "tags": [
+ "Groups"
+ ],
+ "operationId": "Group_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadGroup": {
+ "$ref": "./examples/ApiManagementHeadGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified group entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Groups"
],
@@ -368,7 +414,50 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}": {
- "put": {
+ "head": {
+ "tags": [
+ "GroupUsers"
+ ],
+ "operationId": "GroupUser_CheckEntityExists",
+ "description": "Checks that user entity specified by identifier is associated with the group entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGroupUser": {
+ "$ref": "./examples/ApiManagementHeadGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
"tags": [
"GroupUsers"
],
@@ -536,7 +625,7 @@
"required": [
"displayName"
],
- "description": "Developer group."
+ "description": "Group contract Properties."
},
"GroupCreateParameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
index 4f1febced193..7d9a7735275e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
@@ -80,7 +80,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}": {
- "get": {
+ "head": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the identityProvider specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadIdentityProvider": {
+ "$ref": "./examples/ApiManagementHeadIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified identity provider entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"IdentityProvider"
],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
index d071eaabda38..67393ec50893 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
@@ -97,7 +97,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}": {
- "get": {
+ "head": {
+ "tags": [
+ "Loggers"
+ ],
+ "operationId": "Logger_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the logger specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadLogger": {
+ "$ref": "./examples/ApiManagementHeadLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified logger entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Loggers"
],
@@ -153,8 +199,11 @@
"operationId": "Logger_CreateOrUpdate",
"description": "Creates or Updates a logger.",
"x-ms-examples": {
- "ApiManagementCreateLogger": {
- "$ref": "./examples/ApiManagementCreateLogger.json"
+ "ApiManagementCreateEHLogger": {
+ "$ref": "./examples/ApiManagementCreateEHLogger.json"
+ },
+ "ApiManagementCreateAILogger": {
+ "$ref": "./examples/ApiManagementCreateAILogger.json"
}
},
"parameters": [
@@ -352,7 +401,8 @@
"type": "string",
"description": "Logger type.",
"enum": [
- "azureEventHub"
+ "azureEventHub",
+ "applicationInsights"
],
"x-ms-enum": {
"name": "LoggerType",
@@ -361,6 +411,10 @@
{
"value": "azureEventHub",
"description": "Azure Event Hub as log destination."
+ },
+ {
+ "value": "applicationInsights",
+ "description": "Azure Application Insights as log destination."
}
]
}
@@ -375,7 +429,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "The name and SendRule connection string of the event hub.",
+ "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.",
"example": {
"name": "apim",
"connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=..."
@@ -408,7 +462,8 @@
"type": "string",
"description": "Logger type.",
"enum": [
- "azureEventHub"
+ "azureEventHub",
+ "applicationInsights"
],
"x-ms-enum": {
"name": "LoggerType",
@@ -417,6 +472,10 @@
{
"value": "azureEventHub",
"description": "Azure Event Hub as log destination."
+ },
+ {
+ "value": "applicationInsights",
+ "description": "Azure Application Insights as log destination."
}
]
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json
new file mode 100644
index 000000000000..4ece25c081e4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json
@@ -0,0 +1,756 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on who is going to receive notifications associated with your Azure API Management deployment.",
+ "version": "2017-03-01"
+ },
+ "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.ApiManagement/service/{serviceName}/notifications": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_ListByService",
+ "description": "Lists a collection of properties defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListNotification": {
+ "$ref": "./examples/ApiManagementListNotifications.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Notification for the specified API Management service instance.",
+ "schema": {
+ "$ref": "#/definitions/NotificationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_Get",
+ "description": "Gets the details of the Notification specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetNotification": {
+ "$ref": "./examples/ApiManagementGetNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Notification.",
+ "schema": {
+ "$ref": "#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_CreateOrUpdate",
+ "description": "Updates an Notification.",
+ "x-ms-examples": {
+ "ApiManagementGetNotification": {
+ "$ref": "./examples/ApiManagementGetNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Notification was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "NotificationRecipientUser_ListByNotification",
+ "description": "Gets the list of the Notification Recipient User subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient User collection for the notification.",
+ "schema": {
+ "$ref": "#/definitions/RecipientUserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_Get",
+ "description": "Determine if the Notification Recipient User is subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The User is subscribed to receive the notification."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_CreateOrUpdate",
+ "description": "Adds the API Management User to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateRecipientUser": {
+ "$ref": "./examples/ApiManagementCreateRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient User was successfully added to the notification list.",
+ "schema": {
+ "$ref": "#/definitions/RecipientUserContract"
+ }
+ },
+ "200": {
+ "description": "Recipient User is already part of the notification list.",
+ "schema": {
+ "$ref": "#/definitions/RecipientUserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_Delete",
+ "description": "Removes the API Management user from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Recipient User was successfully removed from the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails": {
+ "get": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_ListByNotification",
+ "description": "Gets the list of the Notification Recipient Emails subscribed to a notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient Email collection subscribed to the notification.",
+ "schema": {
+ "$ref": "#/definitions/RecipientEmailCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_Get",
+ "description": "Determine if Notification Recipient Email subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Users is subscribed to receive the notification."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_CreateOrUpdate",
+ "description": "Adds the Email address to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateRecipientEmail": {
+ "$ref": "./examples/ApiManagementCreateRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient Email was successfully added to the notification list.",
+ "schema": {
+ "$ref": "#/definitions/RecipientEmailContract"
+ }
+ },
+ "200": {
+ "description": "Recipient Email is already part of the notification list.",
+ "schema": {
+ "$ref": "#/definitions/RecipientEmailContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_Delete",
+ "description": "Removes the email from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Recipient Email was successfully removed to the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotificationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Notification list representation."
+ },
+ "NotificationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NotificationContractProperties",
+ "description": "Notification entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Notification details."
+ },
+ "NotificationContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Title of the Notification.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Notification."
+ },
+ "recipients": {
+ "$ref": "#/definitions/RecipientsContractProperties",
+ "description": "Recipient Parameter values."
+ }
+ },
+ "required": [
+ "title"
+ ],
+ "description": "Notification Contract properties."
+ },
+ "RecipientsContractProperties": {
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Emails subscribed for the notification."
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Users subscribed for the notification."
+ }
+ },
+ "description": "Notification Parameter contract."
+ },
+ "RecipientUserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientUserContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientUserContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientUsersContractProperties",
+ "description": "Recipient User entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient User details."
+ },
+ "RecipientUsersContractProperties": {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "API Management UserId subscribed to notification."
+ }
+ },
+ "description": "Recipient User Contract Properties."
+ },
+ "RecipientEmailCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientEmailContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientEmailContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientEmailContractProperties",
+ "description": "Recipient Email contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient Email details."
+ },
+ "RecipientEmailContractProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User Email subscribed to notification."
+ }
+ },
+ "description": "Recipient Email Contract Properties."
+ }
+ },
+ "parameters": {
+ "NotificationNameParameter": {
+ "name": "notificationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "RequestPublisherNotificationMessage",
+ "PurchasePublisherNotificationMessage",
+ "NewApplicationNotificationMessage",
+ "BCC",
+ "NewIssuePublisherNotificationMessage",
+ "AccountClosedPublisher",
+ "QuotaLimitApproachingPublisherNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "NotificationName",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "RequestPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval."
+ },
+ {
+ "value": "PurchasePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions."
+ },
+ {
+ "value": "NewApplicationNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery."
+ },
+ {
+ "value": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers."
+ },
+ {
+ "value": "NewIssuePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal."
+ },
+ {
+ "value": "AccountClosedPublisher",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account."
+ },
+ {
+ "value": "QuotaLimitApproachingPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota."
+ }
+ ]
+ },
+ "description": "Notification Name Identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "EmailParameter": {
+ "name": "email",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Email identifier.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
index c1969b43296a..cce29db19336 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
@@ -88,7 +88,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}": {
- "get": {
+ "head": {
+ "tags": [
+ "OpenIdConnectProviders"
+ ],
+ "operationId": "OpenIdConnectProvider_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the openIdConnectProvider specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementHeadOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified openidConnectProvider entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"OpenIdConnectProviders"
],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
index 7bd9b813e26f..510e636edf18 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
@@ -35,6 +35,49 @@
},
"paths": {
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin": {
+ "head": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Head",
+ "description": "Gets the entity state (Etag) version of the SignInSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignInSettings": {
+ "$ref": "./examples/ApiManagementHeadSignInSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"SignInSettings"
@@ -179,6 +222,49 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup": {
+ "head": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Head",
+ "description": "Gets the entity state (Etag) version of the SignUpSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignUpSettings": {
+ "$ref": "./examples/ApiManagementHeadSignUpSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"SignUpSettings"
@@ -323,6 +409,49 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation": {
+ "head": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Head",
+ "description": "Gets the entity state (Etag) version of the DelegationSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadDelegationSettings": {
+ "$ref": "./examples/ApiManagementHeadDelegationSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"DelegationSettings"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
index c9e9f6b431ba..b3f3e8516b5c 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
@@ -101,7 +101,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}": {
- "get": {
+ "head": {
+ "tags": [
+ "Products"
+ ],
+ "operationId": "Product_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the product specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProduct": {
+ "$ref": "./examples/ApiManagementHeadProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Product entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Products"
],
@@ -382,7 +428,50 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": {
- "put": {
+ "head": {
+ "tags": [
+ "ProductApis"
+ ],
+ "operationId": "ProductApi_CheckEntityExists",
+ "description": "Checks that API entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductApi": {
+ "$ref": "./examples/ApiManagementHeadProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
"tags": [
"ProductApis"
],
@@ -541,7 +630,50 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": {
- "put": {
+ "head": {
+ "tags": [
+ "ProductGroups"
+ ],
+ "operationId": "ProductGroup_CheckEntityExists",
+ "description": "Checks that Group entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductGroup": {
+ "$ref": "./examples/ApiManagementHeadProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimgroups.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
"tags": [
"ProductGroups"
],
@@ -762,6 +894,11 @@
"$ref": "./examples/ApiManagementGetProductPolicy.json"
}
},
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -814,6 +951,11 @@
"$ref": "./examples/ApiManagementCreateProductPolicy.json"
}
},
+ "consumes": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
index b3245da2fd50..c41100469738 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
@@ -91,7 +91,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}": {
- "get": {
+ "head": {
+ "tags": [
+ "Property"
+ ],
+ "operationId": "Property_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the property specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProperty": {
+ "$ref": "./examples/ApiManagementHeadProperty.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PropertyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Property entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Property"
],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimreports.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
index c746fd85ed14..ae13e6a85779 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApiId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi": {
"get": {
"tags": [
"Reports"
@@ -87,7 +87,7 @@
"x-ms-odata": "#/definitions/ReportRecordContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUserId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser": {
"get": {
"tags": [
"Reports"
@@ -140,7 +140,7 @@
"x-ms-odata": "#/definitions/ReportRecordContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperationId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation": {
"get": {
"tags": [
"Reports"
@@ -193,7 +193,7 @@
"x-ms-odata": "#/definitions/ReportRecordContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProductId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct": {
"get": {
"tags": [
"Reports"
@@ -246,7 +246,7 @@
"x-ms-odata": "#/definitions/ReportRecordContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeoId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo": {
"get": {
"tags": [
"Reports"
@@ -299,7 +299,7 @@
"x-ms-odata": "#/definitions/ReportRecordContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscriptionId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription": {
"get": {
"tags": [
"Reports"
@@ -352,7 +352,7 @@
"x-ms-odata": "#/definitions/ReportRecordContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTimeId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime": {
"get": {
"tags": [
"Reports"
@@ -413,7 +413,7 @@
"x-ms-odata": "#/definitions/ReportRecordContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequestId": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest": {
"get": {
"tags": [
"Reports"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
index 996e5bb20c3b..730df28f501c 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
@@ -94,7 +94,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}": {
- "get": {
+ "head": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscription_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the apimanagement subscription specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadSubscription": {
+ "$ref": "./examples/ApiManagementHeadSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified apimanagement subscription entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Subscriptions"
],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json
new file mode 100644
index 000000000000..5f7a83abed39
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json
@@ -0,0 +1,205 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for queuering APIs. Operations and Products by tags in your Azure API Management deployment.",
+ "version": "2017-03-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ ],
+ "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.ApiManagement/service/{serviceName}/tagResources": {
+ "get": {
+ "tags": [
+ "TagResources"
+ ],
+ "operationId": "TagResource_ListByService",
+ "description": "Lists a collection of resources associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListTagResources": {
+ "$ref": "./examples/ApiManagementListTagResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| aid | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| terms | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| isCurrent | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "#/definitions/TagResourceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {
+ "TagResourceCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagResourceContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagResourceContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagResourceContractProperties",
+ "description": "TagResource entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "TagResourceContractProperties": {
+ "properties": {
+ "tag": {
+ "$ref": "./apimtags.json#/definitions/TagContract",
+ "description": "Tag associated with the resource."
+ },
+ "api": {
+ "$ref": "./apimapis.json#/definitions/ApiContract",
+ "description": "Api associated with the tag."
+ },
+ "operation": {
+ "$ref": "#/definitions/OperationEntityContract",
+ "description": "Api associated with the tag."
+ },
+ "product": {
+ "$ref": "./apimproducts.json#/definitions/ProductContract",
+ "description": "Product associated with the tag."
+ }
+ },
+ "description": "TagResource contract properties."
+ },
+ "OperationEntityContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationEntityContractProperties",
+ "description": "Operation entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Operation Entity Contract Properties."
+ },
+ "OperationEntityContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Operation name.",
+ "readOnly": true
+ },
+ "apiName": {
+ "type": "string",
+ "description": "Api Name.",
+ "readOnly": true
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "Api Revision.",
+ "readOnly": true
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "Api Version.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation Description.",
+ "readOnly": true
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ },
+ "readOnly": true
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "readOnly": true
+ }
+ },
+ "description": "Operation Entity contract Properties."
+ }
+ },
+ "parameters": {
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimtags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimtags.json
new file mode 100644
index 000000000000..346d32b09b51
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimtags.json
@@ -0,0 +1,1671 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Tag entity in your Azure API Management deployment. Tags can be assigned to APIs, Operations and Products.",
+ "version": "2017-03-01"
+ },
+ "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.ApiManagement/service/{serviceName}/tags": {
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tag_ListByService",
+ "description": "Lists a collection of tags defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListTags": {
+ "$ref": "./examples/ApiManagementListTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Tag entities.",
+ "schema": {
+ "$ref": "#/definitions/TagCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tag_GetEntityState",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetTag": {
+ "$ref": "./examples/ApiManagementHeadTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tag_Get",
+ "description": "Gets the details of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetTag": {
+ "$ref": "./examples/ApiManagementGetTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Tag entity.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tag_CreateOrUpdate",
+ "description": "Creates a tag.",
+ "x-ms-examples": {
+ "ApiManagementCreateTag": {
+ "$ref": "./examples/ApiManagementCreateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was created succesfully.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag already exists.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tag_Update",
+ "description": "Updates the details of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateTag": {
+ "$ref": "./examples/ApiManagementUpdateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Tag Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The tag details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tag_Delete",
+ "description": "Deletes specific tag of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteTag": {
+ "$ref": "./examples/ApiManagementDeleteTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Tag Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The tag was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags": {
+ "get": {
+ "tags": [
+ "ApiTags"
+ ],
+ "operationId": "Tag_ListByApi",
+ "description": "Lists all Tags associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementGetTagsForApi": {
+ "$ref": "./examples/ApiManagementGetTagsForApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Api entity.",
+ "schema": {
+ "$ref": "#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ApiTags"
+ ],
+ "operationId": "Tag_GetEntityStateByApi",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTag": {
+ "$ref": "./examples/ApiManagementHeadApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTags"
+ ],
+ "operationId": "Tag_GetByApi",
+ "description": "Get tag associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementGetApiTag": {
+ "$ref": "./examples/ApiManagementGetApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTags"
+ ],
+ "operationId": "Tag_AssignToApi",
+ "description": "Assign tag to the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTag": {
+ "$ref": "./examples/ApiManagementCreateApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "The entity state (Etag) version of the Tag to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Api.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Api.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTags"
+ ],
+ "operationId": "Tag_DetachFromApi",
+ "description": "Detach the tag from the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTag": {
+ "$ref": "./examples/ApiManagementDeleteApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully detached the tag from the Api."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions": {
+ "get": {
+ "tags": [
+ "ApiTagDescriptions"
+ ],
+ "operationId": "TagDescription_ListByApi",
+ "description": "Lists all Tags descriptions in scope of API. Model similar to swagger - tagDescription is defined on API level but tag may be assigned to the Operations",
+ "x-ms-examples": {
+ "ApiManagementGetTagDescriptionsForApi": {
+ "$ref": "./examples/ApiManagementGetTagDescriptionsForApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tagDescriptions associated with the Api entity.",
+ "schema": {
+ "$ref": "#/definitions/TagDescriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/TagDescriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}": {
+ "head": {
+ "tags": [
+ "ApiTagDescriptions"
+ ],
+ "operationId": "TagDescription_GetEntityState",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTagDescription": {
+ "$ref": "./examples/ApiManagementHeadApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTagDescriptions"
+ ],
+ "operationId": "TagDescription_Get",
+ "description": "Get tag associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementGetApiTagDescription": {
+ "$ref": "./examples/ApiManagementGetApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the description of the tag specified by its identifier in scope if the Api.",
+ "schema": {
+ "$ref": "#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTagDescriptions"
+ ],
+ "operationId": "TagDescription_CreateOrUpdate",
+ "description": "Create/Update tag fescription in scope of the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTagDescription": {
+ "$ref": "./examples/ApiManagementCreateApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagDescriptionCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "The entity state (Etag) version of the Tag to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag Description was created for the Api.",
+ "schema": {
+ "$ref": "#/definitions/TagDescriptionContract"
+ }
+ },
+ "200": {
+ "description": "Tag Description was updated for the Api.",
+ "schema": {
+ "$ref": "#/definitions/TagDescriptionContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTagDescriptions"
+ ],
+ "operationId": "TagDescription_Delete",
+ "description": "Delete tag description for the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTagDescription": {
+ "$ref": "./examples/ApiManagementDeleteApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully deleted tag description for the Api."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags": {
+ "get": {
+ "tags": [
+ "OperationTags"
+ ],
+ "operationId": "Tag_ListByOperation",
+ "description": "Lists all Tags associated with the Operation.",
+ "x-ms-examples": {
+ "ApiManagementGetTagsForOperation": {
+ "$ref": "./examples/ApiManagementGetTagsForOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Operation entity.",
+ "schema": {
+ "$ref": "#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "OperationTags"
+ ],
+ "operationId": "Tag_GetEntityStateByOperation",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadOperationTag": {
+ "$ref": "./examples/ApiManagementHeadOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "OperationTags"
+ ],
+ "operationId": "Tag_GetByOperation",
+ "description": "Get tag associated with the Operation.",
+ "x-ms-examples": {
+ "ApiManagementGetOperationTag": {
+ "$ref": "./examples/ApiManagementGetOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OperationTags"
+ ],
+ "operationId": "Tag_AssignToOperation",
+ "description": "Assign tag to the Operation.",
+ "x-ms-examples": {
+ "ApiManagementCreateOperationTag": {
+ "$ref": "./examples/ApiManagementCreateOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "The entity state (Etag) version of the Tag to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Operation.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Operation.",
+ "schema": {
+ "$ref": "#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OperationTags"
+ ],
+ "operationId": "Tag_DetachFromOperation",
+ "description": "Detach the tag from the Operation.",
+ "x-ms-examples": {
+ "ApiManagementDeleteOperationTag": {
+ "$ref": "./examples/ApiManagementDeleteOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully detached the tag from the Operation."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags": {
+ "get": {
+ "tags": [
+ "OperationsByTags"
+ ],
+ "operationId": "Operation_ListByTags",
+ "description": "Lists a collection of operations associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListOperationsByTags": {
+ "$ref": "./examples/ApiManagementListOperationsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimapis.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./apimtagresources.json#/definitions/TagResourceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimtagresources.json#/definitions/TagResourceContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": {
+ "get": {
+ "tags": [
+ "ProductTags"
+ ],
+ "operationId": "Tag_ListByProduct",
+ "description": "Lists all Tags associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementGetTagsForProduct": {
+ "$ref": "./examples/ApiManagementGetTagsForProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Product entity.",
+ "schema": {
+ "$ref": "./apimtags.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimtags.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ProductTags"
+ ],
+ "operationId": "Tag_GetEntityStateByProduct",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductTag": {
+ "$ref": "./examples/ApiManagementHeadProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProductTags"
+ ],
+ "operationId": "Tag_GetByProduct",
+ "description": "Get tag associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementGetProductTag": {
+ "$ref": "./examples/ApiManagementGetProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./apimtags.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductTags"
+ ],
+ "operationId": "Tag_AssignToProduct",
+ "description": "Assign tag to the Product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductTag": {
+ "$ref": "./examples/ApiManagementCreateProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "The entity state (Etag) version of the Tag to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Product.",
+ "schema": {
+ "$ref": "./apimtags.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Product.",
+ "schema": {
+ "$ref": "./apimtags.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductTags"
+ ],
+ "operationId": "Tag_DetachFromProduct",
+ "description": "Detach the tag from the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductTag": {
+ "$ref": "./examples/ApiManagementDeleteProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TagIdParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+
+ },
+ "definitions": {
+ "TagCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Tag entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Tag Contract details."
+ },
+ "TagContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Tag contract Properties."
+ },
+ "TagCreateUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Properties supplied to Create Tag operation."
+ }
+ },
+ "description": "Parameters supplied to Create/Update Tag operations."
+ },
+ "TagDescriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagDescriptionContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged TagDescription list representation."
+ },
+ "TagDescriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionContractProperties",
+ "description": "TagDescription entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "TagDescriptionContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TagDescriptionBaseProperties"
+ }
+ ],
+ "description": "TagDescription contract Properties."
+ },
+ "TagDescriptionCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionBaseProperties",
+ "description": "Properties supplied to Create TagDescription operation."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ },
+ "TagDescriptionBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the Tag."
+ },
+ "externalDocsUrl": {
+ "type": "string",
+ "description": "Absolute URL of external resources describing the tag.",
+ "maxLength": 2000
+ },
+ "externalDocsDescription": {
+ "type": "string",
+ "description": "Description of the external resources describing the tag."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ }
+ },
+ "parameters": {
+ "TagIdParameter": {
+ "name": "tagId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Tag identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
index 53d8180ddde8..cd68db086810 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
@@ -94,7 +94,53 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}": {
- "get": {
+ "head": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadUser": {
+ "$ref": "./examples/ApiManagementHeadUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified user entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
"tags": [
"Users"
],
@@ -692,6 +738,28 @@
"password": {
"type": "string",
"description": "User Password. If no value is provided, a default password is generated."
+ },
+ "confirmation": {
+ "type": "string",
+ "description": "Determines the type of confirmation e-mail that will be sent to the newly created user.",
+ "enum": [
+ "signup",
+ "invite"
+ ],
+ "x-ms-enum": {
+ "name": "Confirmation",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "signup",
+ "description": "Send an e-mail to the user confirming they have successfully signed up."
+ },
+ {
+ "value": "invite",
+ "description": "Send an e-mail inviting the user to sign-up and complete registration."
+ }
+ ]
+ }
}
},
"allOf": [
@@ -713,12 +781,32 @@
"description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active.",
"enum": [
"active",
- "blocked"
+ "blocked",
+ "pending",
+ "deleted"
],
"default": "active",
"x-ms-enum": {
"name": "UserState",
- "modelAsString": true
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "active",
+ "description": "User state is active."
+ },
+ {
+ "value": "blocked",
+ "description": "User is blocked. Blocked users cannot authenticate at developer portal or call API."
+ },
+ {
+ "value": "pending",
+ "description": "User account is pending. Requires identity confirmation before it can be made active."
+ },
+ {
+ "value": "deleted",
+ "description": "User account is closed. All identities and related entities are removed."
+ }
+ ]
}
},
"note": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json
new file mode 100644
index 000000000000..c103e1150e12
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json
@@ -0,0 +1,467 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on the ApiVersionSet entity associated with your Azure API Management deployment. Using this entity you create and manage API Version Sets that are used to group APIs for consistent versioning.",
+ "version": "2017-03-01"
+ },
+ "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.ApiManagement/service/{serviceName}/api-version-sets": {
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_ListByService",
+ "description": "Lists a collection of API Version Sets in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListApiVersionSets": {
+ "$ref": "./examples/ApiManagementListApiVersionSets.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|------------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| firstName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| lastName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| email | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | N/A |\n| registrationDate | ge, le, eq, ne, gt, lt | N/A |\n| note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Api Version Set entities.",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ApiVersionSetContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}": {
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionSetIdParameter"
+ }
+ ],
+ "head": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Api Version Set specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiVersionSet": {
+ "$ref": "./examples/ApiManagementHeadApiVersionSet.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Specified Api Version Set entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_Get",
+ "description": "Gets the details of the Api Version Set specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiVersionSet": {
+ "$ref": "./examples/ApiManagementGetApiVersionSet.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Gets the specified Api Version Set entity.",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_CreateOrUpdate",
+ "description": "Creates or Updates a Api Version Set.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiVersionSet": {
+ "$ref": "./examples/ApiManagementCreateApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "The entity state (Etag) version of the user to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Version Set was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ }
+ },
+ "201": {
+ "description": "Api Version Set was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_Update",
+ "description": "Updates the details of the Api VersionSet specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiVersionSet": {
+ "$ref": "./examples/ApiManagementUpdateApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the user to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Api Version Set details were successfully updated."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 4XX Error response giving details why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_Delete",
+ "description": "Deletes specific Api Version Set.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiVersionSet": {
+ "$ref": "./examples/ApiManagementDeleteApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "The entity state (Etag) version of the Api Version Set to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApiVersionSetCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Api Version Set list representation."
+ },
+ "ApiVersionSetEntityBase": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of API Version Set."
+ },
+ "versionQueryName": {
+ "type": "string",
+ "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versionHeaderName": {
+ "type": "string",
+ "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ }
+ },
+ "ApiVersionSetContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "required": [
+ "displayName",
+ "versioningScheme"
+ ],
+ "description": "Properties of an API Version Set."
+ },
+ "ApiVersionSetContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetContractProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api Version Set Contract details."
+ },
+ "ApiVersionSetUpdateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "description": "Properties used to create or update an API Version Set."
+ },
+ "ApiVersionSetUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetUpdateParametersProperties",
+ "description": "Parameters to update or create an Api Version Set Contract."
+ }
+ },
+ "description": "Parameters to update or create an Api Version Set Contract."
+ }
+ },
+ "parameters": {
+ "ApiVersionSetIdParameter": {
+ "name": "versionSetId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Api Version Set identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementBackendReconnect.json
new file mode 100644
index 000000000000..7d9cfc569fdd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementBackendReconnect.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "backendid": "proxybackend",
+ "parameters": {
+ "properties": {
+ "after" : "PT3S"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateAILogger.json
new file mode 100644
index 000000000000..5e5abb8f80b6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateAILogger.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "loggerid": "loggerId",
+ "parameters": {
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "adding a new logger",
+ "credentials": {
+ "instrumentationKey": "11................a1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiRelease.json
new file mode 100644
index 000000000000..3f8d61b0f891
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiRelease.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiTag.json
new file mode 100644
index 000000000000..4d8e0343241d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiTag.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiTagDescription.json
new file mode 100644
index 000000000000..ee404b0137f6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiTagDescription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1",
+ "parameters": {
+ "properties": {
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsUrl": "http://some.url/additionaldoc",
+ "externalDocsDescription": "Description of the external docs resource"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1",
+ "description": null,
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1",
+ "description": null,
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiVersionSet.json
new file mode 100644
index 000000000000..d1af443aac44
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateApiVersionSet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "versionSetId": "api1",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateDiagnostic.json
new file mode 100644
index 000000000000..ebe34a4529e0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateDiagnostic.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/default",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "default",
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/default",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "default",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateDiagnosticLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateDiagnosticLogger.json
new file mode 100644
index 000000000000..9d74857a5f29
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateDiagnosticLogger.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default",
+ "loggerid": "applicationinsights",
+ "parameters": { }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/default/loggers/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics/loggers",
+ "name": "applicationinsights",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/default/loggers/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics/loggers",
+ "name": "applicationinsights",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateEHLogger.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateLogger.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateEHLogger.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateOperationTag.json
new file mode 100644
index 000000000000..672e3774f58c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateOperationTag.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "operationId": "5931a75ae4bbd512a88c680a",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateProductTag.json
new file mode 100644
index 000000000000..675c7f6b7c16
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateProductTag.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateRecipientEmail.json
new file mode 100644
index 000000000000..6fbf6926c8d3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateRecipientEmail.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "foobar@live.com"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateRecipientUser.json
new file mode 100644
index 000000000000..2ad74d01b905
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateRecipientUser.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "uid": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateTag.json
new file mode 100644
index 000000000000..840a4a655512
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateTag.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "tagId": "tagId1",
+ "parameters": {
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateUserBasic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateUserBasic.json
index b6ee1844555b..f15f5c0ae0b4 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateUserBasic.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementCreateUserBasic.json
@@ -9,14 +9,15 @@
"properties": {
"firstName": "foo",
"lastName": "bar",
- "email": "foobar@outlook.com"
+ "email": "foobar@outlook.com",
+ "confirmation": "signup"
}
}
},
"responses": {
"201": {
"body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
"type": "Microsoft.ApiManagement/service/users",
"name": "5931a75ae4bbd512288c680b",
"properties": {
@@ -24,7 +25,7 @@
"lastName": "bar",
"email": "foobar@outlook.com",
"state": "active",
- "registrationDate": "2017-06-02T18:22:12.98Z",
+ "registrationDate": "2018-01-07T21:21:29.16Z",
"groups": [],
"identities": [
{
@@ -37,7 +38,7 @@
},
"200": {
"body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
"type": "Microsoft.ApiManagement/service/users",
"name": "5931a75ae4bbd512288c680b",
"properties": {
@@ -45,7 +46,7 @@
"lastName": "bar",
"email": "foobar@outlook.com",
"state": "active",
- "registrationDate": "2017-06-02T18:22:12.98Z",
+ "registrationDate": "2018-01-07T21:21:29.16Z",
"groups": [],
"identities": [
{
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiRelease.json
new file mode 100644
index 000000000000..ecdd5c67d2bd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiRelease.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "5a5fcc09124a7fa9b89f2f1d",
+ "releaseId": "testrev",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiTag.json
new file mode 100644
index 000000000000..a1325e35cc65
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiTag.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiTagDescription.json
new file mode 100644
index 000000000000..a1325e35cc65
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiTagDescription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiVersionSet.json
new file mode 100644
index 000000000000..ba801cceeb2c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteApiVersionSet.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "versionSetId": "a1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteDiagnostic.json
new file mode 100644
index 000000000000..9d19c52b375f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteDiagnostic.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteDiagnosticLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteDiagnosticLogger.json
new file mode 100644
index 000000000000..fca5918fae40
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteDiagnosticLogger.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default",
+ "loggerid": "applicationinsights",
+ "parameters": { }
+ },
+ "responses": {
+ "204": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteNotificationRecipientEmail.json
new file mode 100644
index 000000000000..d1dfd0d2d7b2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteNotificationRecipientEmail.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteNotificationRecipientUser.json
new file mode 100644
index 000000000000..aa45a19fe01e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteNotificationRecipientUser.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "uid": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteOperationTag.json
new file mode 100644
index 000000000000..387c69dec790
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteOperationTag.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "operationId": "59d5b28d1f7fab116c282651",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteProduct.json
index 861e4799627d..e42074c92f2c 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteProduct.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteProduct.json
@@ -5,10 +5,10 @@
"api-version": "2017-03-01",
"subscriptionId": "subid",
"productId": "testproduct",
- "deleteSubscriptions": "true",
+ "deleteSubscriptions": true,
"If-Match": "*"
},
"responses": {
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteProductTag.json
new file mode 100644
index 000000000000..ef8fe4c18062
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteProductTag.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "59d5b28d1f7fab116c282650",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteTag.json
new file mode 100644
index 000000000000..e7dc93aa5572
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementDeleteTag.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "tagId": "tagId1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiRelease.json
new file mode 100644
index 000000000000..5f812ff44aee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiRelease.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiTag.json
new file mode 100644
index 000000000000..d848a359e959
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiTagDescription.json
new file mode 100644
index 000000000000..f1c4dcea328e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiTagDescription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1",
+ "description": null,
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiVersionSet.json
new file mode 100644
index 000000000000..d5d525d7b00a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetApiVersionSet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName" : "Version Set 1",
+ "versioningScheme" : "Segment",
+ "description" : "Version configuration"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetDiagnostic.json
new file mode 100644
index 000000000000..f2853f287cc2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetDiagnostic.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/default",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "default",
+ "properties": {
+ "enabled": false
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetNotification.json
new file mode 100644
index 000000000000..84641b77882e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetNotification.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetOperationTag.json
new file mode 100644
index 000000000000..10dea824df51
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetOperationTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetProductTag.json
new file mode 100644
index 000000000000..31b38d38475a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetProductTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTag.json
new file mode 100644
index 000000000000..e996a2b50ef9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagDescriptionsForApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagDescriptionsForApi.json
new file mode 100644
index 000000000000..21c457cd89e5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagDescriptionsForApi.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1",
+ "description": null,
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForApi.json
new file mode 100644
index 000000000000..bf01a40320be
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForApi.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForOperation.json
new file mode 100644
index 000000000000..11f36ef3aab1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForOperation.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0888cba3f6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForProduct.json
new file mode 100644
index 000000000000..0bed111f55ca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementGetTagsForProduct.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "57d2ef278aa04f0888cba3f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApi.json
new file mode 100644
index 000000000000..448078ea3416
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApi.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiOperation.json
new file mode 100644
index 000000000000..0a0dd14aecb5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiOperation.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiOperationPolicy.json
new file mode 100644
index 000000000000..5f0ae6f42efc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiOperationPolicy.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiPolicy.json
new file mode 100644
index 000000000000..3e9722dd523c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiPolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiSchema.json
new file mode 100644
index 000000000000..1b5542986398
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiSchema.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiTag.json
new file mode 100644
index 000000000000..e1783f4b1260
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiTagDescription.json
new file mode 100644
index 000000000000..e1783f4b1260
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiTagDescription.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiVersionSet.json
new file mode 100644
index 000000000000..7998c33a1416
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadApiVersionSet.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadAuthorizationServer.json
new file mode 100644
index 000000000000..7d4732b448b7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadAuthorizationServer.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadBackend.json
new file mode 100644
index 000000000000..56024bbfc5f9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadBackend.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "backendid": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadCertificate.json
new file mode 100644
index 000000000000..ba4bf5dc1f17
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadCertificate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDelegationSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDelegationSettings.json
new file mode 100644
index 000000000000..a4f15cb2c8a7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDelegationSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDiagnostic.json
new file mode 100644
index 000000000000..49156a96b0db
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDiagnostic.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDiagnosticLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDiagnosticLogger.json
new file mode 100644
index 000000000000..4e52d880e773
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadDiagnosticLogger.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default",
+ "loggerid": "templateLogger"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadEmailTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadEmailTemplate.json
new file mode 100644
index 000000000000..b4318439709f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadEmailTemplate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadGroup.json
new file mode 100644
index 000000000000..bdccd5726435
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadGroupUser.json
new file mode 100644
index 000000000000..8cadc401e33b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadGroupUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9",
+ "uid": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadIdentityProvider.json
new file mode 100644
index 000000000000..20c141c0eb46
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadIdentityProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadLogger.json
new file mode 100644
index 000000000000..d123817e011b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadLogger.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "loggerid": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadNotificationRecipientEmail.json
new file mode 100644
index 000000000000..c1975521c12a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadNotificationRecipientEmail.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadNotificationRecipientUser.json
new file mode 100644
index 000000000000..8c11740b3f78
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadNotificationRecipientUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "uid": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadOpenIdConnectProvider.json
new file mode 100644
index 000000000000..c5ce345b70c1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadOpenIdConnectProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadOperationTag.json
new file mode 100644
index 000000000000..cbfd8d40ef65
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadOperationTag.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProduct.json
new file mode 100644
index 000000000000..8b30f43ef649
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProduct.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductApi.json
new file mode 100644
index 000000000000..4c1e998542fe
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductApi.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "apiId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductGroup.json
new file mode 100644
index 000000000000..6dec4b991447
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductTag.json
new file mode 100644
index 000000000000..cee1e485086a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProductTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "productId": "59306a29e4bbd510dc24e5f8",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProperty.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProperty.json
new file mode 100644
index 000000000000..e79bc40865dd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadProperty.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "propId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSignInSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSignInSettings.json
new file mode 100644
index 000000000000..a4f15cb2c8a7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSignInSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSignUpSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSignUpSettings.json
new file mode 100644
index 000000000000..a4f15cb2c8a7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSignUpSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSubscription.json
new file mode 100644
index 000000000000..67829b28afee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadSubscription.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadTag.json
new file mode 100644
index 000000000000..6b643a6fb5e1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadTag.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadUser.json
new file mode 100644
index 000000000000..431c684bd56c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementHeadUser.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "uid": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiReleases.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiReleases.json
new file mode 100644
index 000000000000..584aa8ab73ed
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiReleases.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiRevisions.json
new file mode 100644
index 000000000000..ac317c119be8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiRevisions.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/revisions/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/revisions",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1;rev=1",
+ "apiRevision": "1",
+ "createdDateTime": "2018-02-01T22:21:20.467Z",
+ "updatedDateTime": "2018-02-01T22:21:20.467Z",
+ "isOnline": true,
+ "isCurrent": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiVersionSets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiVersionSets.json
new file mode 100644
index 000000000000..18d0216cdf23
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApiVersionSets.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/vs2",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs2",
+ "properties": {
+ "displayName": "api set 2",
+ "versioningScheme": "Query",
+ "description": "Version configuration 2"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApis.json
index 4212f5fcb181..90d5b4e30687 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApis.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApis.json
@@ -9,6 +9,39 @@
"200": {
"body": {
"value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "a1",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a73933b8f27f7cc82a2d533",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v1",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
"type": "Microsoft.ApiManagement/service/apis",
@@ -21,25 +54,23 @@
"protocols": [
"https"
],
- "isCurrent": true,
- "isOnline": true
+ "isCurrent": true
}
},
{
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a7390baa5816a110435aee0",
"type": "Microsoft.ApiManagement/service/apis",
- "name": "PetStoreTemplate2",
+ "name": "5a7390baa5816a110435aee0",
"properties": {
- "displayName": "Swagger Petstore",
+ "displayName": "Swagger Petstore Extensive",
"apiRevision": "1",
- "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
- "serviceUrl": "http://petstore.swagger.io/v2",
- "path": "petstore2",
+ "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "vvv",
"protocols": [
- "http"
+ "https"
],
- "isCurrent": true,
- "isOnline": true
+ "isCurrent": true
}
}
],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApisByTags.json
new file mode 100644
index 000000000000..e9f833e72527
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListApisByTags.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": { "displayName": "tag2" }
+ },
+ "api": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": { "displayName": "tag2" }
+ },
+ "api": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api2",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api2",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": { "displayName": "tag1" }
+ },
+ "api": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListDiagnosticLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListDiagnosticLoggers.json
new file mode 100644
index 000000000000..745ff10aa22e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListDiagnosticLoggers.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/default/loggers/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics/loggers",
+ "name": "applicationinsights",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListDiagnostics.json
new file mode 100644
index 000000000000..381df3afa911
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListDiagnostics.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/default",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "default",
+ "properties": {
+ "enabled": false
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotificationRecipientEmail.json
new file mode 100644
index 000000000000..7073b3267da3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotificationRecipientEmail.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "contoso@live.com",
+ "properties": {
+ "email": "contoso@live.com"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar!live",
+ "properties": {
+ "email": "foobar!live"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotificationRecipientUser.json
new file mode 100644
index 000000000000..e286dee424b2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotificationRecipientUser.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotifications.json
new file mode 100644
index 000000000000..afa236fc3761
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListNotifications.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/PurchasePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "PurchasePublisherNotificationMessage",
+ "properties": {
+ "title": "New subscriptions",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewApplicationNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewApplicationNotificationMessage",
+ "properties": {
+ "title": "Application gallery requests",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/BCC",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "BCC",
+ "properties": {
+ "title": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers.",
+ "recipients": {
+ "emails": [],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewIssuePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewIssuePublisherNotificationMessage",
+ "properties": {
+ "title": "New issue or comment",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/AccountClosedPublisher",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "AccountClosedPublisher",
+ "properties": {
+ "title": "Close account message",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/QuotaLimitApproachingPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "QuotaLimitApproachingPublisherNotificationMessage",
+ "properties": {
+ "title": "Approaching subscription quota limit",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListOperationsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListOperationsByTags.json
new file mode 100644
index 000000000000..3ea1fdcf596d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListOperationsByTags.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": { "displayName": "tag1" }
+ },
+ "operation": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiId1/operations/opid1",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "opid1",
+ "properties": {
+ "apiName": "api1",
+ "apiRevision": "1",
+ "apiVersion": null,
+ "displayName": "apiop1",
+ "method": "GET",
+ "urlTemplate": "/op1",
+ "description": "some operation"
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": { "displayName": "tag1" }
+ },
+ "operation": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiId1/operations/opid2",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "opid2",
+ "properties": {
+ "apiName": "api1",
+ "apiRevision": "1",
+ "apiVersion": null,
+ "displayName": "apiop2",
+ "method": "GET",
+ "urlTemplate": "/op2",
+ "description": "some operation"
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListTagResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListTagResources.json
new file mode 100644
index 000000000000..f6f5a38416ab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListTagResources.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": { "displayName": "tag1" }
+ },
+ "operation": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiId1/operations/opid1",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "opid1",
+ "properties": {
+ "apiName": "api1",
+ "apiRevision": "1",
+ "apiVersion": null,
+ "displayName": "apiop1",
+ "method": "GET",
+ "urlTemplate": "/op1",
+ "description": "some operation"
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": { "displayName": "tag1" }
+ },
+ "operation": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiId1/operations/opid2",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "opid2",
+ "properties": {
+ "apiName": "api1",
+ "apiRevision": "1",
+ "apiVersion": null,
+ "displayName": "apiop2",
+ "method": "GET",
+ "urlTemplate": "/op2",
+ "description": "some operation"
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": { "displayName": "tag2" }
+ },
+ "api": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ },
+ {
+ "properties": {
+ "tag": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": { "displayName": "tag2" }
+ },
+ "product": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "starter",
+ "properties": {
+ "displayName": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "nextLink": ""
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListTags.json
new file mode 100644
index 000000000000..99e0191f3024
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementListTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "tag1"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "tag2"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateApiRelease.json
new file mode 100644
index 000000000000..e81981a1f73e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateApiRelease.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateApiVersionSet.json
new file mode 100644
index 000000000000..4e8931405308
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateApiVersionSet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "versionSetId": "api1",
+ "If-Match":"*",
+ "parameters": {
+ "properties": {
+ "displayName" : "api set 1",
+ "versioningScheme" : "Segment",
+ "description" : "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "204": { }
+ }
+ }
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateDiagnostic.json
new file mode 100644
index 000000000000..95720097492c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateDiagnostic.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "default",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": false
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateTag.json
new file mode 100644
index 000000000000..5b925d576bab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/examples/ApiManagementUpdateTag.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-03-01",
+ "subscriptionId": "subid",
+ "tagId": "temptag",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp tag"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index e1cf7eca5ba7..6f8eb8b5f1e0 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -31,6 +31,16 @@ openapi-type: arm
tag: package-2017-03
```
+## Suppression
+``` yaml
+directive:
+ - suppress: R3016
+ reason: existing properties, can't be changed without breaking API.
+ #where:
+ # - $.definitions.ApiManagementServiceUploadCertificateParameters.properties.certificate_password
+ # - $.definitions.QuotaCounterContract.properties.Value
+
+```
### Tag: package-2017-03
@@ -44,10 +54,12 @@ input-file:
- Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
- Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
- Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json
- Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
- Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
- Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
- Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json
- Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json
- Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
- Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
@@ -56,8 +68,11 @@ input-file:
- Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json
- Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
- Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimtags.json
- Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json
- Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json
```
@@ -101,6 +116,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -127,6 +153,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-03
+ - tag: package-2016-10
+ - tag: package-2016-07
+```
+
### Tag: package-2017-03 and go
These settings apply only when `--tag=package-2017-03 --go` is specified on the command line.
@@ -153,3 +188,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.apimanagement
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-apimanagement
+```
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/AppInsights.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/AppInsights.json
new file mode 100644
index 000000000000..33eb998d04f8
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/AppInsights.json
@@ -0,0 +1,2093 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v1",
+ "title": "Application Insights Data Plane",
+ "description": "This API exposes AI metric & event information and associated metadata",
+ "termsOfService": "https://dev.applicationinsights.io/tos",
+ "contact": {
+ "name": "AIAPI Team",
+ "url": "https://dev.applicationinsights.io/support",
+ "email": "aiapi@microsoft.com"
+ },
+ "license": {
+ "name": "Microsoft",
+ "url": "https://dev.applicationinsights.io/license"
+ }
+ },
+ "host": "api.applicationinsights.io",
+ "basePath": "/v1",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "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"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "paths": {
+ "/apps/{appId}/metrics/{metricId}": {
+ "get": {
+ "operationId": "GetMetric",
+ "summary": "Retrieve metric data",
+ "description": "Gets data for a single metric.",
+ "x-ms-examples": {
+ "simpleMetric": {
+ "$ref": "examples/metric-get.json"
+ },
+ "intervaledMetric": {
+ "$ref": "examples/metric-get-full.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ },
+ {
+ "$ref": "#/parameters/metricId"
+ },
+ {
+ "$ref": "#/parameters/metricsTimespan"
+ },
+ {
+ "$ref": "#/parameters/metricsInterval"
+ },
+ {
+ "$ref": "#/parameters/metricsAggregation"
+ },
+ {
+ "$ref": "#/parameters/metricsSegment"
+ },
+ {
+ "$ref": "#/parameters/metricsTop"
+ },
+ {
+ "$ref": "#/parameters/metricsOrderBy"
+ },
+ {
+ "$ref": "#/parameters/metricsFilter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/metricsResult"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apps/{appId}/metrics": {
+ "post": {
+ "operationId": "GetMetrics",
+ "summary": "Retrieve metric data",
+ "description": "Gets metric values for multiple metrics",
+ "x-ms-examples": {
+ "postMetric": {
+ "$ref": "examples/metric-post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ },
+ {
+ "$ref": "#/parameters/metricsPostBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/metricsResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apps/{appId}/metrics/metadata": {
+ "get": {
+ "operationId": "GetMetricsMetadata",
+ "summary": "Retrieve metric metatadata",
+ "description": "Gets metadata describing the available metrics",
+ "x-ms-examples": {
+ "metricMetadata": {
+ "$ref": "examples/metrics-get-metadata.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apps/{appId}/events/{eventType}": {
+ "get": {
+ "operationId": "GetEvents",
+ "summary": "Execute OData query",
+ "description": "Executes an OData query for events",
+ "x-ms-examples": {
+ "eventByType": {
+ "$ref": "examples/events-get-by-type.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ },
+ {
+ "$ref": "#/parameters/eventType"
+ },
+ {
+ "$ref": "#/parameters/eventsTimespan"
+ },
+ {
+ "$ref": "#/parameters/eventsFilter"
+ },
+ {
+ "$ref": "#/parameters/eventsSearch"
+ },
+ {
+ "$ref": "#/parameters/eventsOrderBy"
+ },
+ {
+ "$ref": "#/parameters/eventsSelect"
+ },
+ {
+ "$ref": "#/parameters/eventsSkip"
+ },
+ {
+ "$ref": "#/parameters/eventsTop"
+ },
+ {
+ "$ref": "#/parameters/eventsFormat"
+ },
+ {
+ "$ref": "#/parameters/eventsCount"
+ },
+ {
+ "$ref": "#/parameters/eventsApply"
+ }
+ ],
+ "produces": [
+ "application/json;odata=none",
+ "application/json;odata=minimal",
+ "application/json;odata=full"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/eventsResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apps/{appId}/events/{eventType}/{eventId}": {
+ "get": {
+ "operationId": "GetEvent",
+ "summary": "Get an event",
+ "description": "Gets the data for a single event",
+ "x-ms-examples": {
+ "eventById": {
+ "$ref": "examples/events-get-by-id.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ },
+ {
+ "$ref": "#/parameters/eventType"
+ },
+ {
+ "$ref": "#/parameters/eventsTimespan"
+ },
+ {
+ "$ref": "#/parameters/eventId"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "application/json;odata=none",
+ "application/json;odata=minimal",
+ "application/json;odata=full"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/eventsResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apps/{appId}/events/$metadata": {
+ "get": {
+ "operationId": "GetEventsMetadataOData",
+ "summary": "Get OData metadata",
+ "description": "Gets OData EDMX metadata describing the event data model",
+ "x-ms-examples": {
+ "eventMetadata": {
+ "$ref": "examples/events-get-metadata.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ }
+ ],
+ "produces": [
+ "application/xml;charset=utf-8"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apps/{appId}/query": {
+ "get": {
+ "operationId": "GetQuery",
+ "summary": "Execute an Analytics query",
+ "description": "Executes an Analytics query for data",
+ "x-ms-examples": {
+ "queryGet": {
+ "$ref": "examples/query-get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ },
+ {
+ "$ref": "#/parameters/queryParam"
+ },
+ {
+ "$ref": "#/parameters/queryTimespan"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/queryResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "Query",
+ "summary": "Execute an Analytics query",
+ "description": "Executes an Analytics query for data. [Here](/documentation/2-Using-the-API/Query) is an example for using POST with an Analytics query.",
+ "x-ms-examples": {
+ "queryPost": {
+ "$ref": "examples/query-post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ },
+ {
+ "$ref": "#/parameters/queryBody"
+ },
+ {
+ "$ref": "#/parameters/queryTimespan"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/queryResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/apps/{appId}/query/schema": {
+ "get": {
+ "operationId": "GetQuerySchema",
+ "summary": "Get Analytics query metadata",
+ "description": "Gets Analytics query schema describing the data model",
+ "x-ms-examples": {
+ "querySchema": {
+ "$ref": "examples/query-schema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful responses",
+ "schema": {
+ "$ref": "#/definitions/queryResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "appId": {
+ "name": "appId",
+ "description": "ID of the application. This is Application ID from the API Access settings blade in the Azure portal.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "metricId": {
+ "name": "metricId",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "ID of the metric. This is either a standard AI metric, or an application-specific custom metric.",
+ "type": "string",
+ "enum": [
+ "requests/count",
+ "requests/duration",
+ "requests/failed",
+ "users/count",
+ "users/authenticated",
+ "pageViews/count",
+ "pageViews/duration",
+ "client/processingDuration",
+ "client/receiveDuration",
+ "client/networkDuration",
+ "client/sendDuration",
+ "client/totalDuration",
+ "dependencies/count",
+ "dependencies/failed",
+ "dependencies/duration",
+ "exceptions/count",
+ "exceptions/browser",
+ "exceptions/server",
+ "sessions/count",
+ "performanceCounters/requestExecutionTime",
+ "performanceCounters/requestsPerSecond",
+ "performanceCounters/requestsInQueue",
+ "performanceCounters/memoryAvailableBytes",
+ "performanceCounters/exceptionsPerSecond",
+ "performanceCounters/processCpuPercentage",
+ "performanceCounters/processIOBytesPerSecond",
+ "performanceCounters/processPrivateBytes",
+ "performanceCounters/processorCpuPercentage",
+ "availabilityResults/availabilityPercentage",
+ "availabilityResults/duration",
+ "billing/telemetryCount",
+ "customEvents/count"
+ ]
+ },
+ "metricsTimespan": {
+ "name": "timespan",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "The timespan over which to retrieve metric values. This is an ISO8601 time period value. If timespan is omitted, a default time range of `PT12H` (\"last 12 hours\") is used. The actual timespan that is queried may be adjusted by the server based. In all cases, the actual time span used for the query is included in the response.",
+ "type": "string",
+ "format": "duration"
+ },
+ "metricsAggregation": {
+ "name": "aggregation",
+ "in": "query",
+ "collectionFormat": "csv",
+ "x-ms-parameter-location": "method",
+ "description": "The aggregation to use when computing the metric values. To retrieve more than one aggregation at a time, separate them with a comma. If no aggregation is specified, then the default aggregation for the metric is used.",
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "string",
+ "enum": [
+ "min",
+ "max",
+ "avg",
+ "sum",
+ "count"
+ ]
+ }
+ },
+ "metricsInterval": {
+ "name": "interval",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "The time interval to use when retrieving metric values. This is an ISO8601 duration. If interval is omitted, the metric value is aggregated across the entire timespan. If interval is supplied, the server may adjust the interval to a more appropriate size based on the timespan used for the query. In all cases, the actual interval used for the query is included in the response.",
+ "type": "string",
+ "format": "duration"
+ },
+ "metricsSegment": {
+ "name": "segment",
+ "in": "query",
+ "collectionFormat": "csv",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the dimension to segment the metric values by. This dimension must be applicable to the metric you are retrieving. To segment by more than one dimension at a time, separate them with a comma (,). In this case, the metric data will be segmented in the order the dimensions are listed in the parameter.",
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "string",
+ "enum": [
+ "applicationBuild",
+ "applicationVersion",
+ "authenticatedOrAnonymousTraffic",
+ "browser",
+ "browserVersion",
+ "city",
+ "cloudRoleName",
+ "cloudServiceName",
+ "continent",
+ "countryOrRegion",
+ "deploymentId",
+ "deploymentUnit",
+ "deviceType",
+ "environment",
+ "hostingLocation",
+ "instanceName"
+ ]
+ }
+ },
+ "metricsTop": {
+ "name": "top",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "The number of segments to return. This value is only valid when segment is specified.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "metricsOrderBy": {
+ "name": "orderby",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "The aggregation function and direction to sort the segments by. This value is only valid when segment is specified.",
+ "type": "string"
+ },
+ "metricsFilter": {
+ "name": "filter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "An expression used to filter the results. This value should be a valid OData filter expression where the keys of each clause should be applicable dimensions for the metric you are retrieving.",
+ "type": "string"
+ },
+ "metricsPostBody": {
+ "name": "body",
+ "description": "The batched metrics query.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/metricsPostBody"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "eventType": {
+ "name": "eventType",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "The type of events to query; either a standard event type (`traces`, `customEvents`, `pageViews`, `requests`, `dependencies`, `exceptions`, `availabilityResults`) or `$all` to query across all event types.",
+ "type": "string",
+ "enum": [
+ "$all",
+ "traces",
+ "customEvents",
+ "pageViews",
+ "browserTimings",
+ "requests",
+ "dependencies",
+ "exceptions",
+ "availabilityResults",
+ "performanceCounters",
+ "customMetrics"
+ ],
+ "x-ms-enum": {
+ "name": "EventType",
+ "modelAsString": false
+ }
+ },
+ "eventId": {
+ "name": "eventId",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "ID of event.",
+ "type": "string"
+ },
+ "eventsTimespan": {
+ "name": "timespan",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "Optional. The timespan over which to retrieve events. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the Odata expression.",
+ "type": "string",
+ "format": "duration"
+ },
+ "eventsFilter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "An expression used to filter the returned events",
+ "type": "string"
+ },
+ "eventsSearch": {
+ "name": "$search",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "A free-text search expression to match for whether a particular event should be returned",
+ "type": "string"
+ },
+ "eventsOrderBy": {
+ "name": "$orderby",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "A comma-separated list of properties with \\\"asc\\\" (the default) or \\\"desc\\\" to control the order of returned events",
+ "type": "string"
+ },
+ "eventsSelect": {
+ "name": "$select",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "Limits the properties to just those requested on each returned event",
+ "type": "string"
+ },
+ "eventsSkip": {
+ "name": "$skip",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "The number of items to skip over before returning events",
+ "type": "integer",
+ "format": "int32"
+ },
+ "eventsTop": {
+ "name": "$top",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "The number of events to return",
+ "type": "integer",
+ "format": "int32"
+ },
+ "eventsFormat": {
+ "name": "$format",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "Format for the returned events",
+ "type": "string"
+ },
+ "eventsCount": {
+ "name": "$count",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "Request a count of matching items included with the returned events",
+ "type": "boolean"
+ },
+ "eventsApply": {
+ "name": "$apply",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "An expression used for aggregation over returned events",
+ "type": "string"
+ },
+ "queryTimespan": {
+ "name": "timespan",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "Optional. The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the query expression.",
+ "type": "string",
+ "format": "duration"
+ },
+ "queryParam": {
+ "name": "query",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "The Analytics query. Learn more about the [Analytics query syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/)",
+ "type": "string"
+ },
+ "queryBody": {
+ "name": "body",
+ "in": "body",
+ "description": "The Analytics query. Learn more about the [Analytics query syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/)",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/queryBody"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "metricId": {
+ "description": "ID of the metric. This is either a standard AI metric, or an application-specific custom metric.",
+ "type": "string",
+ "enum": [
+ "requests/count",
+ "requests/duration",
+ "requests/failed",
+ "users/count",
+ "users/authenticated",
+ "pageViews/count",
+ "pageViews/duration",
+ "client/processingDuration",
+ "client/receiveDuration",
+ "client/networkDuration",
+ "client/sendDuration",
+ "client/totalDuration",
+ "dependencies/count",
+ "dependencies/failed",
+ "dependencies/duration",
+ "exceptions/count",
+ "exceptions/browser",
+ "exceptions/server",
+ "sessions/count",
+ "performanceCounters/requestExecutionTime",
+ "performanceCounters/requestsPerSecond",
+ "performanceCounters/requestsInQueue",
+ "performanceCounters/memoryAvailableBytes",
+ "performanceCounters/exceptionsPerSecond",
+ "performanceCounters/processCpuPercentage",
+ "performanceCounters/processIOBytesPerSecond",
+ "performanceCounters/processPrivateBytes",
+ "performanceCounters/processorCpuPercentage",
+ "availabilityResults/availabilityPercentage",
+ "availabilityResults/duration",
+ "billing/telemetryCount",
+ "customEvents/count"
+ ]
+ },
+ "metricsTimespan": {
+ "description": "The timespan over which to retrieve metric values. This is an ISO8601 time period value. If timespan is omitted, a default time range of `PT12H` (\"last 12 hours\") is used. The actual timespan that is queried may be adjusted by the server based. In all cases, the actual time span used for the query is included in the response.",
+ "type": "string",
+ "format": "duration"
+ },
+ "metricsAggregation": {
+ "description": "The aggregation to use when computing the metric values. To retrieve more than one aggregation at a time, separate them with a comma. If no aggregation is specified, then the default aggregation for the metric is used.",
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "string",
+ "enum": [
+ "min",
+ "max",
+ "avg",
+ "sum",
+ "count"
+ ]
+ }
+ },
+ "metricsInterval": {
+ "description": "The time interval to use when retrieving metric values. This is an ISO8601 duration. If interval is omitted, the metric value is aggregated across the entire timespan. If interval is supplied, the server may adjust the interval to a more appropriate size based on the timespan used for the query. In all cases, the actual interval used for the query is included in the response.",
+ "type": "string",
+ "format": "duration"
+ },
+ "metricsSegment": {
+ "description": "The name of the dimension to segment the metric values by. This dimension must be applicable to the metric you are retrieving. To segment by more than one dimension at a time, separate them with a comma (,). In this case, the metric data will be segmented in the order the dimensions are listed in the parameter.",
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "type": "string",
+ "enum": [
+ "applicationBuild",
+ "applicationVersion",
+ "authenticatedOrAnonymousTraffic",
+ "browser",
+ "browserVersion",
+ "city",
+ "cloudRoleName",
+ "cloudServiceName",
+ "continent",
+ "countryOrRegion",
+ "deploymentId",
+ "deploymentUnit",
+ "deviceType",
+ "environment",
+ "hostingLocation",
+ "instanceName"
+ ]
+ }
+ },
+ "metricsTop": {
+ "description": "The number of segments to return. This value is only valid when segment is specified.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "metricsOrderBy": {
+ "description": "The aggregation function and direction to sort the segments by. This value is only valid when segment is specified.",
+ "type": "string"
+ },
+ "metricsFilter": {
+ "description": "An expression used to filter the results. This value should be a valid OData filter expression where the keys of each clause should be applicable dimensions for the metric you are retrieving.",
+ "type": "string"
+ },
+ "metricsPostBody": {
+ "description": "Metrics request body",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metricsPostBodySchema"
+ }
+ },
+ "metricsPostBodySchema": {
+ "description": "A metric request",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "An identifier for this query. Must be unique within the post body of the request. This identifier will be the 'id' property of the response object representing this query."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "The parameters for a single metrics query",
+ "properties": {
+ "metricId": {
+ "$ref": "#/definitions/metricId"
+ },
+ "timespan": {
+ "$ref": "#/definitions/metricsTimespan"
+ },
+ "aggregation": {
+ "$ref": "#/definitions/metricsAggregation"
+ },
+ "interval": {
+ "$ref": "#/definitions/metricsInterval"
+ },
+ "segment": {
+ "$ref": "#/definitions/metricsSegment"
+ },
+ "top": {
+ "$ref": "#/definitions/metricsTop"
+ },
+ "orderby": {
+ "$ref": "#/definitions/metricsOrderBy"
+ },
+ "filter": {
+ "$ref": "#/definitions/metricsFilter"
+ }
+ },
+ "required": [
+ "metricId"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "parameters"
+ ]
+ },
+ "metricsResults": {
+ "description": "A set of metric results.",
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "description": "The specified ID for this metric.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The HTTP status code of this metric query.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "body": {
+ "description": "The results of this metric query.",
+ "$ref": "#/definitions/metricsResult"
+ }
+ },
+ "required": [
+ "id",
+ "status",
+ "body"
+ ]
+ }
+ },
+ "metricsResult": {
+ "description": "A metric result.",
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/metricsResultInfo"
+ }
+ }
+ },
+ "metricsResultInfo": {
+ "description": "A metric result data.",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start time of the metric.",
+ "type": "string",
+ "format": "date_time"
+ },
+ "end": {
+ "description": "Start time of the metric.",
+ "type": "string",
+ "format": "date_time"
+ },
+ "interval": {
+ "description": "The interval used to segment the metric data.",
+ "type": "string",
+ "format": "duration"
+ },
+ "segments": {
+ "description": "Segmented metric data (if segmented).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metricsSegmentInfo"
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "metricsSegmentInfo": {
+ "description": "A metric segment",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start time of the metric segment (only when an interval was specified).",
+ "type": "string",
+ "format": "date_time"
+ },
+ "end": {
+ "description": "Start time of the metric segment (only when an interval was specified).",
+ "type": "string",
+ "format": "date_time"
+ },
+ "segments": {
+ "description": "Segmented metric data (if further segmented).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metricsSegmentInfo"
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "eventType": {
+ "description": "The type of events to query; either a standard event type (`traces`, `customEvents`, `pageViews`, `requests`, `dependencies`, `exceptions`, `availabilityResults`) or `$all` to query across all event types.",
+ "type": "string",
+ "enum": [
+ "$all",
+ "traces",
+ "customEvents",
+ "pageViews",
+ "browserTimings",
+ "requests",
+ "dependencies",
+ "exceptions",
+ "availabilityResults",
+ "performanceCounters",
+ "customMetrics"
+ ],
+ "x-ms-enum": {
+ "name": "EventType",
+ "modelAsString": false
+ }
+ },
+ "eventId": {
+ "description": "ID of event.",
+ "type": "string"
+ },
+ "eventsTimespan": {
+ "description": "Optional. The timespan over which to retrieve events. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the Odata expression.",
+ "type": "string",
+ "format": "duration"
+ },
+ "eventsFilter": {
+ "description": "An expression used to filter the returned events",
+ "type": "string"
+ },
+ "eventsSearch": {
+ "description": "A free-text search expression to match for whether a particular event should be returned",
+ "type": "string"
+ },
+ "eventsOrderBy": {
+ "description": "A comma-separated list of properties with \\\"asc\\\" (the default) or \\\"desc\\\" to control the order of returned events",
+ "type": "string"
+ },
+ "eventsSelect": {
+ "description": "Limits the properties to just those requested on each returned event",
+ "type": "string"
+ },
+ "eventsSkip": {
+ "description": "The number of items to skip over before returning events",
+ "type": "integer",
+ "format": "int32"
+ },
+ "eventsTop": {
+ "description": "The number of events to return",
+ "type": "integer",
+ "format": "int32"
+ },
+ "eventsFormat": {
+ "description": "Format for the returned events",
+ "type": "string"
+ },
+ "eventsCount": {
+ "description": "Request a count of matching items included with the returned events",
+ "type": "boolean"
+ },
+ "eventsApply": {
+ "description": "An expression used for aggregation over returned events",
+ "type": "string"
+ },
+ "eventsResults": {
+ "description": "An events query result.",
+ "type": "object",
+ "properties": {
+ "@odata.context": {
+ "description": "OData context metadata endpoint for this response",
+ "type": "string"
+ },
+ "@ai.messages": {
+ "description": "OData messages for this response.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/errorInfo"
+ }
+ },
+ "value": {
+ "description": "Contents of the events query result.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/eventsResultData"
+ }
+ }
+ }
+ },
+ "eventsResult": {
+ "description": "An event query result.",
+ "type": "object",
+ "properties": {
+ "@ai.messages": {
+ "description": "OData messages for this response.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/errorInfo"
+ }
+ },
+ "value": {
+ "$ref": "#/definitions/eventsResultData"
+ }
+ }
+ },
+ "eventsResultData": {
+ "description": "Events query result data.",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "id": {
+ "description": "The unique ID for this event.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of event.",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "trace"
+ },
+ {
+ "value": "customEvent"
+ },
+ {
+ "value": "pageView"
+ },
+ {
+ "value": "browserTiming"
+ },
+ {
+ "value": "request"
+ },
+ {
+ "value": "dependency"
+ },
+ {
+ "value": "exception"
+ },
+ {
+ "value": "availabilityResult"
+ },
+ {
+ "value": "performanceCounter"
+ },
+ {
+ "value": "customMetric"
+ }
+ ]
+ }
+ },
+ "count": {
+ "description": "Count of the event",
+ "type": "integer",
+ "format": "int64"
+ },
+ "timestamp": {
+ "description": "Timestamp of the event",
+ "type": "string",
+ "format": "date-time"
+ },
+ "customDimensions": {
+ "description": "Custom dimensions of the event",
+ "type": "object",
+ "properties": {
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ },
+ "customMeasurements": {
+ "description": "Custom measurements of the event",
+ "type": "object",
+ "properties": {
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ },
+ "operation": {
+ "description": "Operation info of the event",
+ "$ref": "#/definitions/eventsOperationInfo"
+ },
+ "session": {
+ "description": "Session info of the event",
+ "$ref": "#/definitions/eventsSessionInfo"
+ },
+ "user": {
+ "description": "User info of the event",
+ "$ref": "#/definitions/eventsUserInfo"
+ },
+ "cloud": {
+ "description": "Cloud info of the event",
+ "$ref": "#/definitions/eventsCloudInfo"
+ },
+ "ai": {
+ "description": "AI info of the event",
+ "$ref": "#/definitions/eventsAiInfo"
+ },
+ "application": {
+ "description": "Application info of the event",
+ "$ref": "#/definitions/eventsApplicationInfo"
+ },
+ "client": {
+ "description": "Client info of the event",
+ "$ref": "#/definitions/eventsClientInfo"
+ }
+ }
+ },
+ "eventsTraceResult": {
+ "x-ms-discriminator-value": "trace",
+ "description": "A trace result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "trace": {
+ "$ref": "#/definitions/eventsTraceInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsTraceInfo": {
+ "description": "The trace information",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "The trace message",
+ "type": "string"
+ },
+ "severityLevel": {
+ "description": "The trace severity level",
+ "type": "integer"
+ }
+ }
+ },
+ "eventsCustomEventResult": {
+ "x-ms-discriminator-value": "customEvent",
+ "description": "A custom event result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "customEvent": {
+ "$ref": "#/definitions/eventsCustomEventInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsCustomEventInfo": {
+ "description": "The custom event information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the custom event",
+ "type": "string"
+ }
+ }
+ },
+ "eventsPageViewResult": {
+ "x-ms-discriminator-value": "pageView",
+ "description": "A page view result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "pageView": {
+ "$ref": "#/definitions/eventsPageViewInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsPageViewInfo": {
+ "description": "The page view information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the page",
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL of the page",
+ "type": "string"
+ },
+ "duration": {
+ "description": "The duration of the page view",
+ "type": "string"
+ },
+ "performanceBucket": {
+ "description": "The performance bucket of the page view",
+ "type": "string"
+ }
+ }
+ },
+ "eventsBrowserTimingResult": {
+ "x-ms-discriminator-value": "browserTiming",
+ "description": "A browser timing result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "browserTiming": {
+ "$ref": "#/definitions/eventsBrowserTimingInfo"
+ },
+ "clientPerformance": {
+ "$ref": "#/definitions/eventsClientPerformanceInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsBrowserTimingInfo": {
+ "description": "The browser timing information",
+ "type": "object",
+ "properties": {
+ "urlPath": {
+ "description": "The path of the URL",
+ "type": "string"
+ },
+ "urlHost": {
+ "description": "The host of the URL",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the page",
+ "type": "string"
+ },
+ "url": {
+ "description": "The url of the page",
+ "type": "string"
+ },
+ "totalDuration": {
+ "description": "The total duration of the load",
+ "type": "integer",
+ "format": "int64"
+ },
+ "performanceBucket": {
+ "description": "The performance bucket of the load",
+ "type": "string"
+ },
+ "networkDuration": {
+ "description": "The network duration of the load",
+ "type": "integer",
+ "format": "int64"
+ },
+ "sendDuration": {
+ "description": "The send duration of the load",
+ "type": "integer",
+ "format": "int64"
+ },
+ "receiveDuration": {
+ "description": "The receive duration of the load",
+ "type": "integer",
+ "format": "int64"
+ },
+ "processingDuration": {
+ "description": "The processing duration of the load",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "eventsClientPerformanceInfo": {
+ "description": "Client performance information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the client performance",
+ "type": "string"
+ }
+ }
+ },
+ "eventsRequestResult": {
+ "x-ms-discriminator-value": "request",
+ "description": "A request result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "request": {
+ "$ref": "#/definitions/eventsRequestInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsRequestInfo": {
+ "description": "The request info",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the request",
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL of the request",
+ "type": "string"
+ },
+ "success": {
+ "description": "Indicates if the request was successful",
+ "type": "string"
+ },
+ "duration": {
+ "description": "The duration of the request",
+ "type": "number",
+ "format": "double"
+ },
+ "performanceBucket": {
+ "description": "The performance bucket of the request",
+ "type": "string"
+ },
+ "resultCode": {
+ "description": "The result code of the request",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source of the request",
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the request",
+ "type": "string"
+ }
+ }
+ },
+ "eventsDependencyResult": {
+ "x-ms-discriminator-value": "dependency",
+ "description": "A dependency result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "dependency": {
+ "$ref": "#/definitions/eventsDependencyInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsDependencyInfo": {
+ "description": "The dependency info",
+ "type": "object",
+ "properties": {
+ "target": {
+ "description": "The target of the dependency",
+ "type": "string"
+ },
+ "data": {
+ "description": "The data of the dependency",
+ "type": "string"
+ },
+ "success": {
+ "description": "Indicates if the dependency was successful",
+ "type": "string"
+ },
+ "duration": {
+ "description": "The duration of the dependency",
+ "type": "integer",
+ "format": "int64"
+ },
+ "performanceBucket": {
+ "description": "The performance bucket of the dependency",
+ "type": "string"
+ },
+ "resultCode": {
+ "description": "The result code of the dependency",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the dependency",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the dependency",
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the dependency",
+ "type": "string"
+ }
+ }
+ },
+ "eventsExceptionResult": {
+ "x-ms-discriminator-value": "exception",
+ "description": "An exception result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "exception": {
+ "$ref": "#/definitions/eventsExceptionInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsExceptionInfo": {
+ "description": "The exception info",
+ "type": "object",
+ "properties": {
+ "severityLevel": {
+ "description": "The severity level of the exception",
+ "type": "integer"
+ },
+ "problemId": {
+ "description": "The problem ID of the exception",
+ "type": "string"
+ },
+ "handledAt": {
+ "description": "Indicates where the exception was handled at",
+ "type": "string"
+ },
+ "assembly": {
+ "description": "The assembly which threw the exception",
+ "type": "string"
+ },
+ "method": {
+ "description": "The method that threw the exception",
+ "type": "string"
+ },
+ "message": {
+ "description": "The message of the exception",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the exception",
+ "type": "string"
+ },
+ "outerType": {
+ "description": "The outer type of the exception",
+ "type": "string"
+ },
+ "outerMethod": {
+ "description": "The outer method of the exception",
+ "type": "string"
+ },
+ "outerAssembly": {
+ "description": "The outer assmebly of the exception",
+ "type": "string"
+ },
+ "outerMessage": {
+ "description": "The outer message of the exception",
+ "type": "string"
+ },
+ "innermostType": {
+ "description": "The inner most type of the exception",
+ "type": "string"
+ },
+ "innermostMessage": {
+ "description": "The inner most message of the exception",
+ "type": "string"
+ },
+ "innermostMethod": {
+ "description": "The inner most method of the exception",
+ "type": "string"
+ },
+ "innermostAssembly": {
+ "description": "The inner most assembly of the exception",
+ "type": "string"
+ },
+ "details": {
+ "description": "The details of the exception",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/eventsExceptionDetail"
+ }
+ }
+ }
+ },
+ "eventsExceptionDetail": {
+ "description": "Exception details",
+ "type": "object",
+ "properties": {
+ "severityLevel": {
+ "description": "The severity level of the exception detail",
+ "type": "string"
+ },
+ "outerId": {
+ "description": "The outer ID of the exception detail",
+ "type": "string"
+ },
+ "message": {
+ "description": "The message of the exception detail",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the exception detail",
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the exception detail",
+ "type": "string"
+ },
+ "parsedStack": {
+ "description": "The parsed stack",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/eventsExceptionDetailsParsedStack"
+ }
+ }
+ }
+ },
+ "eventsExceptionDetailsParsedStack": {
+ "description": "A parsed stack entry",
+ "type": "object",
+ "properties": {
+ "assembly": {
+ "description": "The assembly of the stack entry",
+ "type": "string"
+ },
+ "method": {
+ "description": "The method of the stack entry",
+ "type": "string"
+ },
+ "level": {
+ "description": "The level of the stack entry",
+ "type": "integer",
+ "format": "int64"
+ },
+ "line": {
+ "description": "The line of the stack entry",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "eventsAvailabilityResultResult": {
+ "x-ms-discriminator-value": "availabilityResult",
+ "description": "An availability result result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "availabilityResult": {
+ "$ref": "#/definitions/eventsAvailabilityResultInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsAvailabilityResultInfo": {
+ "description": "The availability result info",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the availability result",
+ "type": "string"
+ },
+ "success": {
+ "description": "Indicates if the availability result was successful",
+ "type": "string"
+ },
+ "duration": {
+ "description": "The duration of the availability result",
+ "type": "integer",
+ "format": "int64"
+ },
+ "performanceBucket": {
+ "description": "The performance bucket of the availability result",
+ "type": "string"
+ },
+ "message": {
+ "description": "The message of the availability result",
+ "type": "string"
+ },
+ "location": {
+ "description": "The location of the availability result",
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the availability result",
+ "type": "string"
+ },
+ "size": {
+ "description": "The size of the availability result",
+ "type": "string"
+ }
+ }
+ },
+ "eventsPerformanceCounterResult": {
+ "x-ms-discriminator-value": "performanceCounter",
+ "description": "A performance counter result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "performanceCounter": {
+ "$ref": "#/definitions/eventsPerformanceCounterInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsPerformanceCounterInfo": {
+ "description": "The performance counter info",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of the performance counter",
+ "type": "integer",
+ "format": "int64"
+ },
+ "name": {
+ "description": "The name of the performance counter",
+ "type": "string"
+ },
+ "category": {
+ "description": "The category of the performance counter",
+ "type": "string"
+ },
+ "counter": {
+ "description": "The counter of the performance counter",
+ "type": "string"
+ },
+ "instanceName": {
+ "description": "The instance name of the performance counter",
+ "type": "string"
+ },
+ "instance": {
+ "description": "The instance of the performance counter",
+ "type": "string"
+ }
+ }
+ },
+ "eventsCustomMetricResult": {
+ "x-ms-discriminator-value": "customMetric",
+ "description": "A custom metric result",
+ "allOf": [
+ {
+ "$ref": "#/definitions/eventsResultData"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "customMetric": {
+ "$ref": "#/definitions/eventsCustomMetricInfo"
+ }
+ }
+ }
+ ]
+ },
+ "eventsCustomMetricInfo": {
+ "description": "The custom metric info",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the custom metric",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the custom metric",
+ "type": "number",
+ "format": "double"
+ },
+ "valueSum": {
+ "description": "The sum of the custom metric",
+ "type": "number",
+ "format": "double"
+ },
+ "valueCount": {
+ "description": "The count of the custom metric",
+ "type": "number",
+ "format": "double"
+ },
+ "valueMin": {
+ "description": "The minimum value of the custom metric",
+ "type": "number",
+ "format": "double"
+ },
+ "valueMax": {
+ "description": "The maximum value of the custom metric",
+ "type": "number",
+ "format": "double"
+ },
+ "valueStdDev": {
+ "description": "The standard deviation of the custom metric",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "eventsOperationInfo": {
+ "description": "Operation info for an event result",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "id": {
+ "description": "ID of the operation",
+ "type": "string"
+ },
+ "parentId": {
+ "description": "Parent ID of the operation",
+ "type": "string"
+ },
+ "syntheticSource": {
+ "description": "Synthetic source of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "eventsSessionInfo": {
+ "description": "Session info for an event result",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "ID of the session",
+ "type": "string"
+ }
+ }
+ },
+ "eventsUserInfo": {
+ "description": "User info for an event result",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "ID of the user",
+ "type": "string"
+ },
+ "accountId": {
+ "description": "Account ID of the user",
+ "type": "string"
+ },
+ "authenticatedId": {
+ "description": "Authenticated ID of the user",
+ "type": "string"
+ }
+ }
+ },
+ "eventsCloudInfo": {
+ "description": "Cloud info for an event result",
+ "type": "object",
+ "properties": {
+ "roleName": {
+ "description": "Role name of the cloud",
+ "type": "string"
+ },
+ "roleInstance": {
+ "description": "Role instance of the cloud",
+ "type": "string"
+ }
+ }
+ },
+ "eventsAiInfo": {
+ "description": "AI related application info for an event result",
+ "type": "object",
+ "properties": {
+ "iKey": {
+ "description": "iKey of the app",
+ "type": "string"
+ },
+ "appName": {
+ "description": "Name of the application",
+ "type": "string"
+ },
+ "appId": {
+ "description": "ID of the application",
+ "type": "string"
+ },
+ "sdkVersion": {
+ "description": "SDK version of the application",
+ "type": "string"
+ }
+ }
+ },
+ "eventsApplicationInfo": {
+ "description": "Application info for an event result",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Version of the application",
+ "type": "string"
+ }
+ }
+ },
+ "eventsClientInfo": {
+ "description": "Client info for an event result",
+ "type": "object",
+ "properties": {
+ "model": {
+ "description": "Model of the client",
+ "type": "string"
+ },
+ "os": {
+ "description": "Operating system of the client",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the client",
+ "type": "string"
+ },
+ "browser": {
+ "description": "Browser of the client",
+ "type": "string"
+ },
+ "ip": {
+ "description": "IP address of the client",
+ "type": "string"
+ },
+ "city": {
+ "description": "City of the client",
+ "type": "string"
+ },
+ "stateOrProvince": {
+ "description": "State or province of the client",
+ "type": "string"
+ },
+ "countryOrRegion": {
+ "description": "Country or region of the client",
+ "type": "string"
+ }
+ }
+ },
+ "queryParam": {
+ "description": "The Analytics query. Learn more about the [Analytics query syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/)",
+ "type": "string"
+ },
+ "queryTimespan": {
+ "description": "Optional. The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the query expression.",
+ "type": "string",
+ "format": "duration"
+ },
+ "applicationsParam": {
+ "description": "Application IDs to include in cross-application queries.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "queryBody": {
+ "description": "Query request body",
+ "type": "object",
+ "properties": {
+ "query": {
+ "description": "The query to execute.",
+ "$ref": "#/definitions/queryParam"
+ },
+ "timespan": {
+ "description": "Optional. The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the query expression.",
+ "$ref": "#/definitions/queryTimespan"
+ },
+ "applications": {
+ "description": "A list of applications that are included in the query.",
+ "$ref": "#/definitions/applicationsParam"
+ }
+ },
+ "required": [
+ "query"
+ ]
+ },
+ "queryResults": {
+ "title": "A query response.",
+ "description": "Contains the tables, columns & rows resulting from a query.",
+ "type": "object",
+ "properties": {
+ "tables": {
+ "description": "The list of tables, columns and rows.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/table"
+ }
+ }
+ },
+ "required": [
+ "tables"
+ ]
+ },
+ "table": {
+ "title": "A query response table.",
+ "description": "Contains the columns and rows for one table in a query response.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the table.",
+ "type": "string"
+ },
+ "columns": {
+ "description": "The list of columns in this table.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/column"
+ }
+ },
+ "rows": {
+ "description": "The resulting rows from this query.",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {}
+ }
+ },
+ "primaryTimeStampColumn": {
+ "description": "name of column in database containing primary"
+ }
+ },
+ "required": [
+ "name",
+ "columns",
+ "rows"
+ ]
+ },
+ "column": {
+ "title": "A table column.",
+ "description": "A column in a table.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of this column.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The data type of this column.",
+ "type": "string"
+ }
+ }
+ },
+ "errorDetail": {
+ "title": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error's code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Indicates which value in 'target' is responsible for the error.",
+ "type": "string"
+ },
+ "resources": {
+ "description": "Indicates resources which were responsible for the error.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "errorInfo": {
+ "title": "The code and message for an error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "A machine readable error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/errorDetail"
+ }
+ },
+ "innererror": {
+ "description": "Inner error details if they exist.",
+ "$ref": "#/definitions/errorInfo"
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "errorResponse": {
+ "title": "Error details.",
+ "description": "Contains details when the response code indicates an error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/errorInfo"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-by-id.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-by-id.json
new file mode 100644
index 000000000000..d68ed461a1c1
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-by-id.json
@@ -0,0 +1,67 @@
+{
+ "title": "Get A Specific Events By Type & ID",
+ "description": "Gets a specific event by type and id.",
+ "parameters": {
+ "appId": "DEMO_APP",
+ "eventType": "traces",
+ "eventId": "dc76df01-0141-11e8-9894-e3e7c1eeabad"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://api.applicationinsights.io/v1/apps/DEMO_APP/events/traces/$metadata#traces",
+ "value": [
+ {
+ "id": "dc76df01-0141-11e8-9894-e3e7c1eeabad",
+ "type": "trace",
+ "count": 1,
+ "timestamp": "2018-01-24T20:04:32.243Z",
+ "customDimensions": null,
+ "customMeasurements": null,
+ "operation": {
+ "name": "GET /FabrikamProd/Employees/Create",
+ "id": "HPFy1bNlyQ0=",
+ "parentId": "|HPFy1bNlyQ0=.c642e1f1_",
+ "syntheticSource": "Application Insights Availability Monitoring"
+ },
+ "session": {
+ "id": "97915c9e-2ba3-4258-82f5-84233de21127"
+ },
+ "user": {
+ "id": "emea-ru-msa-edge_97915c9e-2ba3-4258-82f5-84233de21127",
+ "accountId": null,
+ "authenticatedId": null
+ },
+ "cloud": {
+ "roleName": null,
+ "roleInstance": "AIConnect2"
+ },
+ "ai": {
+ "iKey": "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "appName": "fabrikamprod",
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "sdkVersion": "sd:2.4.1-442"
+ },
+ "trace": {
+ "message": "New Request Received",
+ "severityLevel": 0
+ },
+ "application": {
+ "version": null
+ },
+ "client": {
+ "model": null,
+ "os": null,
+ "type": "PC",
+ "browser": null,
+ "ip": "51.140.105.0",
+ "city": "London",
+ "stateOrProvince": "England",
+ "countryOrRegion": "United Kingdom"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-by-type.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-by-type.json
new file mode 100644
index 000000000000..bde08ad28d94
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-by-type.json
@@ -0,0 +1,269 @@
+{
+ "title": "Get Events By Type",
+ "description": "Gets events of a specific type",
+ "parameters": {
+ "appId": "DEMO_APP",
+ "eventType": "traces",
+ "event-top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://api.applicationinsights.io/v1/apps/DEMO_APP/events/$metadata#traces",
+ "@ai.messages": [
+ {
+ "code": "AddedLimitToQuery",
+ "message": "The query was limited to last 12 hours, since no other limit for timestamp field was specified"
+ }
+ ],
+ "value": [
+ {
+ "id": "dc76df01-0141-11e8-9894-e3e7c1eeabad",
+ "type": "trace",
+ "count": 1,
+ "timestamp": "2018-01-24T20:04:32.243Z",
+ "customDimensions": null,
+ "customMeasurements": null,
+ "operation": {
+ "name": "GET /FabrikamProd/Employees/Create",
+ "id": "HPFy1bNlyQ0=",
+ "parentId": "|HPFy1bNlyQ0=.c642e1f1_",
+ "syntheticSource": "Application Insights Availability Monitoring"
+ },
+ "session": {
+ "id": "97915c9e-2ba3-4258-82f5-84233de21127"
+ },
+ "user": {
+ "id": "emea-ru-msa-edge_97915c9e-2ba3-4258-82f5-84233de21127",
+ "accountId": null,
+ "authenticatedId": null
+ },
+ "cloud": {
+ "roleName": "",
+ "roleInstance": "AIConnect2"
+ },
+ "ai": {
+ "iKey": "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "appName": "fabrikamprod",
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "sdkVersion": "sd:2.4.1-442"
+ },
+ "trace": {
+ "message": "New Request Received",
+ "severityLevel": 0
+ },
+ "application": {
+ "version": ""
+ },
+ "client": {
+ "model": null,
+ "os": null,
+ "type": "PC",
+ "browser": null,
+ "ip": "51.140.105.0",
+ "city": "London",
+ "stateOrProvince": "England",
+ "countryOrRegion": "United Kingdom"
+ }
+ },
+ {
+ "id": "ca54b09b-0141-11e8-8c76-4de3c2c29f12",
+ "type": "trace",
+ "count": 1,
+ "timestamp": "2018-01-24T20:04:22.799Z",
+ "customDimensions": null,
+ "customMeasurements": null,
+ "operation": {
+ "name": "GET /FabrikamProd/Employees/Create",
+ "id": "fYhtYFzAYv4=",
+ "parentId": "|fYhtYFzAYv4=.c642e1f0_",
+ "syntheticSource": "Application Insights Availability Monitoring"
+ },
+ "session": {
+ "id": "e0aca036-2ef0-4c41-adb9-5875625901ee"
+ },
+ "user": {
+ "id": "us-fl-mia-edge_e0aca036-2ef0-4c41-adb9-5875625901ee",
+ "accountId": null,
+ "authenticatedId": null
+ },
+ "cloud": {
+ "roleName": "",
+ "roleInstance": "AIConnect2"
+ },
+ "ai": {
+ "iKey": "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "appName": "fabrikamprod",
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "sdkVersion": "sd:2.4.1-442"
+ },
+ "trace": {
+ "message": "New Request Received",
+ "severityLevel": 0
+ },
+ "application": {
+ "version": ""
+ },
+ "client": {
+ "model": null,
+ "os": null,
+ "type": "PC",
+ "browser": null,
+ "ip": "52.173.244.0",
+ "city": "Des Moines",
+ "stateOrProvince": "Iowa",
+ "countryOrRegion": "United States"
+ }
+ },
+ {
+ "id": "caf07b61-0141-11e8-bb21-bb0d564a046f",
+ "type": "trace",
+ "count": 1,
+ "timestamp": "2018-01-24T20:04:02.106Z",
+ "customDimensions": null,
+ "customMeasurements": null,
+ "operation": {
+ "name": "GET /",
+ "id": "EfIqgW6eLWQ=",
+ "parentId": "|EfIqgW6eLWQ=.1eb73a79_",
+ "syntheticSource": "Application Insights Availability Monitoring"
+ },
+ "session": {
+ "id": "323ab959-4c64-4de4-95e9-04334fbd7749"
+ },
+ "user": {
+ "id": "apac-hk-hkn-azr_323ab959-4c64-4de4-95e9-04334fbd7749",
+ "accountId": null,
+ "authenticatedId": null
+ },
+ "cloud": {
+ "roleName": "fabrikamfiberapp",
+ "roleInstance": "RD00155D467E8D"
+ },
+ "ai": {
+ "iKey": "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "appName": "fabrikamprod",
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "sdkVersion": "sd:2.4.1-442"
+ },
+ "trace": {
+ "message": "New Request Received",
+ "severityLevel": 0
+ },
+ "application": {
+ "version": "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3"
+ },
+ "client": {
+ "model": null,
+ "os": null,
+ "type": "PC",
+ "browser": null,
+ "ip": "52.175.39.0",
+ "city": "Hong Kong",
+ "stateOrProvince": "Central and Western District",
+ "countryOrRegion": "Hong Kong"
+ }
+ },
+ {
+ "id": "b8599222-0141-11e8-99cf-07437267f251",
+ "type": "trace",
+ "count": 1,
+ "timestamp": "2018-01-24T20:03:55.554Z",
+ "customDimensions": null,
+ "customMeasurements": null,
+ "operation": {
+ "name": "GET /",
+ "id": "7j5dSPYFB5A=",
+ "parentId": "|7j5dSPYFB5A=.1eb73a78_",
+ "syntheticSource": "Application Insights Availability Monitoring"
+ },
+ "session": {
+ "id": "b82a2630-5598-4291-a3db-976117f07490"
+ },
+ "user": {
+ "id": "us-il-ch1-azr_b82a2630-5598-4291-a3db-976117f07490",
+ "accountId": null,
+ "authenticatedId": null
+ },
+ "cloud": {
+ "roleName": "fabrikamfiberapp",
+ "roleInstance": "RD00155D467E8D"
+ },
+ "ai": {
+ "iKey": "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "appName": "fabrikamprod",
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "sdkVersion": "sd:2.4.1-442"
+ },
+ "trace": {
+ "message": "New Request Received",
+ "severityLevel": 0
+ },
+ "application": {
+ "version": "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3"
+ },
+ "client": {
+ "model": null,
+ "os": null,
+ "type": "PC",
+ "browser": null,
+ "ip": "52.237.156.0",
+ "city": "Chicago",
+ "stateOrProvince": "Illinois",
+ "countryOrRegion": "United States"
+ }
+ },
+ {
+ "id": "b8599221-0141-11e8-99cf-07437267f251",
+ "type": "trace",
+ "count": 1,
+ "timestamp": "2018-01-24T20:03:37.437Z",
+ "customDimensions": null,
+ "customMeasurements": null,
+ "operation": {
+ "name": "GET /",
+ "id": "xoAJ+fhhQQE=",
+ "parentId": "|xoAJ+fhhQQE=.1eb73a77_",
+ "syntheticSource": "Application Insights Availability Monitoring"
+ },
+ "session": {
+ "id": "b2066202-e8cd-47de-8c4c-d4d55f3653a4"
+ },
+ "user": {
+ "id": "emea-ru-msa-edge_b2066202-e8cd-47de-8c4c-d4d55f3653a4",
+ "accountId": null,
+ "authenticatedId": null
+ },
+ "cloud": {
+ "roleName": "fabrikamfiberapp",
+ "roleInstance": "RD00155D467E8D"
+ },
+ "ai": {
+ "iKey": "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "appName": "fabrikamprod",
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "sdkVersion": "sd:2.4.1-442"
+ },
+ "trace": {
+ "message": "New Request Received",
+ "severityLevel": 0
+ },
+ "application": {
+ "version": "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3"
+ },
+ "client": {
+ "model": null,
+ "os": null,
+ "type": "PC",
+ "browser": null,
+ "ip": "51.140.79.0",
+ "city": "London",
+ "stateOrProvince": "England",
+ "countryOrRegion": "United Kingdom"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-metadata.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-metadata.json
new file mode 100644
index 000000000000..b36dffa32f90
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/events-get-metadata.json
@@ -0,0 +1,15 @@
+{
+ "title": "Get Events Metadata",
+ "description": "Gets event metadata",
+ "parameters": {
+ "appId": "DEMO_APP"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "content-type": "application/xml;charset=utf-8"
+ },
+ "body": " "
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get-custom.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get-custom.json
new file mode 100644
index 000000000000..ce53a6175202
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get-custom.json
@@ -0,0 +1,21 @@
+{
+ "title": "Get Request Count",
+ "description": "Gets request count metric",
+ "parameters": {
+ "appId": "DEMO_APP",
+ "metricId": "sizeInMB"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": {
+ "start": "2016-01-01T02:00:00.000Z",
+ "end": "2016-01-03T02:00:00.000Z",
+ "customEvents/custom/sizeInMB": {
+ "avg": 384.2
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get-full.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get-full.json
new file mode 100644
index 000000000000..01080318eed7
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get-full.json
@@ -0,0 +1,44 @@
+{
+ "title": "Get intervaled request count",
+ "description": "Gets intervaled request count metric",
+ "parameters": {
+ "appId": "DEMO_APP",
+ "metricId": "requests%2Fcount",
+ "timespan": "P2D",
+ "interval": "P1D"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": {
+ "start": "2018-02-04T10:01:35.086Z",
+ "end": "2018-02-06T10:01:35.086Z",
+ "interval": "P1D",
+ "segments": [
+ {
+ "start": "2018-02-04T10:01:35.086Z",
+ "end": "2018-02-05T00:00:00.000Z",
+ "requests/count": {
+ "sum": 4927
+ }
+ },
+ {
+ "start": "2018-02-05T00:00:00.000Z",
+ "end": "2018-02-06T00:00:00.000Z",
+ "requests/count": {
+ "sum": 8460
+ }
+ },
+ {
+ "start": "2018-02-06T00:00:00.000Z",
+ "end": "2018-02-06T10:01:35.086Z",
+ "requests/count": {
+ "sum": 3743
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get.json
new file mode 100644
index 000000000000..919c8acebd5c
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-get.json
@@ -0,0 +1,21 @@
+{
+ "title": "Get Request Count",
+ "description": "Gets request count metric",
+ "parameters": {
+ "appId": "DEMO_APP",
+ "metricId": "requests%2Fcount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": {
+ "start": "2016-01-01T02:00:00.000Z",
+ "end": "2016-01-03T02:00:00.000Z",
+ "requests/count": {
+ "sum": 23
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-post.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-post.json
new file mode 100644
index 000000000000..4e6b7cd90933
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metric-post.json
@@ -0,0 +1,99 @@
+{
+ "title": "Post Metric",
+ "description": "Posts data for a metric.",
+ "parameters": {
+ "appId": "DEMO_APP",
+ "body": [
+ {
+ "id": "failed",
+ "parameters": {
+ "metricId": "requests/failed",
+ "timespan": "P2D",
+ "interval": "P1D"
+ }
+ },
+ {
+ "id": "count",
+ "parameters": {
+ "metricId": "requests/count",
+ "timespan": "P2D",
+ "interval": "P1D"
+ }
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "failed",
+ "status": 200,
+ "body": {
+ "value": {
+ "start": "2018-01-22T19:59:12.488Z",
+ "end": "2018-01-24T19:59:12.488Z",
+ "interval": "P1D",
+ "segments": [
+ {
+ "start": "2018-01-22T19:59:12.488Z",
+ "end": "2018-01-23T00:00:00.000Z",
+ "requests/failed": {
+ "sum": 277
+ }
+ },
+ {
+ "start": "2018-01-23T00:00:00.000Z",
+ "end": "2018-01-24T00:00:00.000Z",
+ "requests/failed": {
+ "sum": 1599
+ }
+ },
+ {
+ "start": "2018-01-24T00:00:00.000Z",
+ "end": "2018-01-24T19:59:12.488Z",
+ "requests/failed": {
+ "sum": 1392
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": "count",
+ "status": 200,
+ "body": {
+ "value": {
+ "start": "2018-01-22T19:59:12.488Z",
+ "end": "2018-01-24T19:59:12.488Z",
+ "interval": "P1D",
+ "segments": [
+ {
+ "start": "2018-01-22T19:59:12.488Z",
+ "end": "2018-01-23T00:00:00.000Z",
+ "requests/count": {
+ "sum": 1225
+ }
+ },
+ {
+ "start": "2018-01-23T00:00:00.000Z",
+ "end": "2018-01-24T00:00:00.000Z",
+ "requests/count": {
+ "sum": 7382
+ }
+ },
+ {
+ "start": "2018-01-24T00:00:00.000Z",
+ "end": "2018-01-24T19:59:12.488Z",
+ "requests/count": {
+ "sum": 6674
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metrics-get-metadata.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metrics-get-metadata.json
new file mode 100644
index 000000000000..55a1344fc9a3
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/metrics-get-metadata.json
@@ -0,0 +1,2827 @@
+{
+ "title": "Get Metric Metadata",
+ "description": "Gets metadata data for metrics.",
+ "parameters": {
+ "appId": "DEMO_APP"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "metrics": {
+ "requests/count": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Server requests",
+ "supportedGroupBy": {
+ "all": [
+ "request/source",
+ "request/name",
+ "request/urlHost",
+ "request/urlPath",
+ "request/success",
+ "request/resultCode",
+ "request/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "customDimensions/DeveloperMode"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "requests/duration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Server response time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "request/source",
+ "request/name",
+ "request/urlHost",
+ "request/urlPath",
+ "request/success",
+ "request/resultCode",
+ "request/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "customDimensions/DeveloperMode"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "requests/failed": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Failed requests",
+ "supportedGroupBy": {
+ "all": [
+ "request/source",
+ "request/name",
+ "request/urlHost",
+ "request/urlPath",
+ "request/success",
+ "request/resultCode",
+ "request/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "customDimensions/DeveloperMode"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "pageViews/count": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Page views",
+ "supportedGroupBy": {
+ "all": [
+ "pageView/name",
+ "pageView/urlPath",
+ "pageView/urlHost",
+ "pageView/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "pageViews/duration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Page view load time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "pageView/name",
+ "pageView/urlPath",
+ "pageView/urlHost",
+ "pageView/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "browserTimings/networkDuration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Page load network connect time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "browserTimings/sendDuration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Send request time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "browserTimings/receiveDuration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Receiving response time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "browserTimings/processingDuration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Client processing time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "browserTimings/totalDuration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Browser page load time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "users/count": {
+ "supportedAggregations": [
+ "unique"
+ ],
+ "displayName": "Users",
+ "supportedGroupBy": {
+ "all": [
+ "trace/severityLevel",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "type",
+ "customDimensions/AgentSession",
+ "customDimensions/AgentVersion",
+ "customDimensions/MachineName",
+ "customDimensions/RunningMode",
+ "customDimensions/Source",
+ "customDimensions/AgentAssemblyVersion",
+ "customDimensions/AgentProcessSession",
+ "customDimensions/HashedMachineName",
+ "customDimensions/DataCube",
+ "customDimensions/DeveloperMode",
+ "request/source",
+ "request/name",
+ "request/urlHost",
+ "request/urlPath",
+ "request/success",
+ "request/resultCode",
+ "request/performanceBucket",
+ "user/authenticated",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "pageView/name",
+ "pageView/urlPath",
+ "pageView/urlHost",
+ "pageView/performanceBucket",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance",
+ "dependency/target",
+ "dependency/type",
+ "dependency/name",
+ "dependency/success",
+ "dependency/resultCode",
+ "dependency/performanceBucket",
+ "customDimensions/Container",
+ "customDimensions/Blob",
+ "customDimensions/ErrorMessage",
+ "customEvent/name",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName",
+ "availabilityResult/name",
+ "availabilityResult/location",
+ "availabilityResult/success",
+ "customDimensions/FullTestResultAvailable",
+ "exception/problemId",
+ "exception/handledAt",
+ "exception/type",
+ "exception/assembly",
+ "exception/method",
+ "exception/severityLevel",
+ "customDimensions/url",
+ "customDimensions/ai.snapshot.stampid",
+ "customDimensions/ai.snapshot.id",
+ "customDimensions/ai.snapshot.version",
+ "customDimensions/ai.snapshot.planid",
+ "customDimensions/_MS.Example",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type",
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket"
+ ]
+ },
+ "defaultAggregation": "unique"
+ },
+ "users/authenticated": {
+ "supportedAggregations": [
+ "unique"
+ ],
+ "displayName": "Users, authenticated",
+ "supportedGroupBy": {
+ "all": [
+ "trace/severityLevel",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "type",
+ "customDimensions/AgentSession",
+ "customDimensions/AgentVersion",
+ "customDimensions/MachineName",
+ "customDimensions/RunningMode",
+ "customDimensions/Source",
+ "customDimensions/AgentAssemblyVersion",
+ "customDimensions/AgentProcessSession",
+ "customDimensions/HashedMachineName",
+ "customDimensions/DataCube",
+ "customDimensions/DeveloperMode",
+ "request/source",
+ "request/name",
+ "request/urlHost",
+ "request/urlPath",
+ "request/success",
+ "request/resultCode",
+ "request/performanceBucket",
+ "user/authenticated",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "pageView/name",
+ "pageView/urlPath",
+ "pageView/urlHost",
+ "pageView/performanceBucket",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance",
+ "dependency/target",
+ "dependency/type",
+ "dependency/name",
+ "dependency/success",
+ "dependency/resultCode",
+ "dependency/performanceBucket",
+ "customDimensions/Container",
+ "customDimensions/Blob",
+ "customDimensions/ErrorMessage",
+ "customEvent/name",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName",
+ "availabilityResult/name",
+ "availabilityResult/location",
+ "availabilityResult/success",
+ "customDimensions/FullTestResultAvailable",
+ "exception/problemId",
+ "exception/handledAt",
+ "exception/type",
+ "exception/assembly",
+ "exception/method",
+ "exception/severityLevel",
+ "customDimensions/url",
+ "customDimensions/ai.snapshot.stampid",
+ "customDimensions/ai.snapshot.id",
+ "customDimensions/ai.snapshot.version",
+ "customDimensions/ai.snapshot.planid",
+ "customDimensions/_MS.Example",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type",
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket"
+ ]
+ },
+ "defaultAggregation": "unique"
+ },
+ "sessions/count": {
+ "supportedAggregations": [
+ "unique"
+ ],
+ "displayName": "Sessions",
+ "supportedGroupBy": {
+ "all": [
+ "trace/severityLevel",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "type",
+ "customDimensions/AgentSession",
+ "customDimensions/AgentVersion",
+ "customDimensions/MachineName",
+ "customDimensions/RunningMode",
+ "customDimensions/Source",
+ "customDimensions/AgentAssemblyVersion",
+ "customDimensions/AgentProcessSession",
+ "customDimensions/HashedMachineName",
+ "customDimensions/DataCube",
+ "customDimensions/DeveloperMode",
+ "request/source",
+ "request/name",
+ "request/urlHost",
+ "request/urlPath",
+ "request/success",
+ "request/resultCode",
+ "request/performanceBucket",
+ "user/authenticated",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "pageView/name",
+ "pageView/urlPath",
+ "pageView/urlHost",
+ "pageView/performanceBucket",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance",
+ "dependency/target",
+ "dependency/type",
+ "dependency/name",
+ "dependency/success",
+ "dependency/resultCode",
+ "dependency/performanceBucket",
+ "customDimensions/Container",
+ "customDimensions/Blob",
+ "customDimensions/ErrorMessage",
+ "customEvent/name",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName",
+ "availabilityResult/name",
+ "availabilityResult/location",
+ "availabilityResult/success",
+ "customDimensions/FullTestResultAvailable",
+ "exception/problemId",
+ "exception/handledAt",
+ "exception/type",
+ "exception/assembly",
+ "exception/method",
+ "exception/severityLevel",
+ "customDimensions/url",
+ "customDimensions/ai.snapshot.stampid",
+ "customDimensions/ai.snapshot.id",
+ "customDimensions/ai.snapshot.version",
+ "customDimensions/ai.snapshot.planid",
+ "customDimensions/_MS.Example",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type",
+ "browserTiming/name",
+ "browserTiming/urlHost",
+ "browserTiming/urlPath",
+ "browserTiming/performanceBucket"
+ ]
+ },
+ "defaultAggregation": "unique"
+ },
+ "customEvents/count": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Events",
+ "supportedGroupBy": {
+ "all": [
+ "customEvent/name",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/DeveloperMode",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "dependencies/count": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Dependency calls",
+ "supportedGroupBy": {
+ "all": [
+ "dependency/target",
+ "dependency/type",
+ "dependency/name",
+ "dependency/success",
+ "dependency/resultCode",
+ "dependency/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/Container",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "customDimensions/Blob",
+ "customDimensions/ErrorMessage",
+ "customDimensions/DeveloperMode",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "dependencies/failed": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Dependency failures",
+ "supportedGroupBy": {
+ "all": [
+ "dependency/target",
+ "dependency/type",
+ "dependency/name",
+ "dependency/success",
+ "dependency/resultCode",
+ "dependency/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/Container",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "customDimensions/Blob",
+ "customDimensions/ErrorMessage",
+ "customDimensions/DeveloperMode",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "dependencies/duration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Dependency duration",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "dependency/target",
+ "dependency/type",
+ "dependency/name",
+ "dependency/success",
+ "dependency/resultCode",
+ "dependency/performanceBucket",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/Container",
+ "customDimensions/_MS.ProcessedByMetricExtractors",
+ "customDimensions/Blob",
+ "customDimensions/ErrorMessage",
+ "customDimensions/DeveloperMode",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "exceptions/count": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Exceptions",
+ "supportedGroupBy": {
+ "all": [
+ "exception/problemId",
+ "exception/handledAt",
+ "exception/type",
+ "exception/assembly",
+ "exception/method",
+ "exception/severityLevel",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/url",
+ "customDimensions/ai.snapshot.stampid",
+ "customDimensions/ai.snapshot.id",
+ "customDimensions/ai.snapshot.version",
+ "customDimensions/DeveloperMode",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance",
+ "customDimensions/ai.snapshot.planid",
+ "customDimensions/_MS.Example",
+ "customDimensions/_MS.ProcessedByMetricExtractors"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "exceptions/browser": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Browser exceptions",
+ "supportedGroupBy": {
+ "all": [
+ "exception/problemId",
+ "exception/handledAt",
+ "exception/type",
+ "exception/assembly",
+ "exception/method",
+ "exception/severityLevel",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/url",
+ "customDimensions/ai.snapshot.stampid",
+ "customDimensions/ai.snapshot.id",
+ "customDimensions/ai.snapshot.version",
+ "customDimensions/DeveloperMode",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance",
+ "customDimensions/ai.snapshot.planid",
+ "customDimensions/_MS.Example",
+ "customDimensions/_MS.ProcessedByMetricExtractors"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "exceptions/server": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Server exceptions",
+ "supportedGroupBy": {
+ "all": [
+ "exception/problemId",
+ "exception/handledAt",
+ "exception/type",
+ "exception/assembly",
+ "exception/method",
+ "exception/severityLevel",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/url",
+ "customDimensions/ai.snapshot.stampid",
+ "customDimensions/ai.snapshot.id",
+ "customDimensions/ai.snapshot.version",
+ "customDimensions/DeveloperMode",
+ "customDimensions/IbizaSessionId",
+ "customDimensions/PartInstance",
+ "customDimensions/ai.snapshot.planid",
+ "customDimensions/_MS.Example",
+ "customDimensions/_MS.ProcessedByMetricExtractors"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "availabilityResults/count": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Availability test results count",
+ "supportedGroupBy": {
+ "all": [
+ "availabilityResult/name",
+ "availabilityResult/location",
+ "availabilityResult/success",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/FullTestResultAvailable"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "availabilityResults/duration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "Test duration",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "availabilityResult/name",
+ "availabilityResult/location",
+ "availabilityResult/success",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/FullTestResultAvailable"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "availabilityResults/availabilityPercentage": {
+ "supportedAggregations": [
+ "avg",
+ "count"
+ ],
+ "displayName": "Availability",
+ "units": "percent",
+ "supportedGroupBy": {
+ "all": [
+ "availabilityResult/name",
+ "availabilityResult/location",
+ "availabilityResult/success",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/FullTestResultAvailable"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "billingMeters/telemetryCount": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Data point count",
+ "supportedGroupBy": {
+ "all": [
+ "billing/telemetryItemSource",
+ "billing/telemetryItemType"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "billingMeters/telemetrySize": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Data point volume",
+ "units": "bytes",
+ "supportedGroupBy": {
+ "all": [
+ "billing/telemetryItemSource",
+ "billing/telemetryItemType"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "performanceCounters/requestExecutionTime": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count"
+ ],
+ "displayName": "ASP.NET request execution time",
+ "units": "ms",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/requestsPerSecond": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "ASP.NET request rate",
+ "units": "perSec",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/requestsInQueue": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "ASP.NET requests in application queue",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/memoryAvailableBytes": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "Available memory",
+ "units": "bytes",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/exceptionsPerSecond": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "Exception rate",
+ "units": "perSec",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/processCpuPercentage": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "Process CPU",
+ "units": "percent",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/processCpuPercentageTotal": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "Process CPU (all cores)",
+ "units": "percent",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/processIOBytesPerSecond": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "Process IO rate",
+ "units": "bytesPerSec",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/processPrivateBytes": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "Process private bytes",
+ "units": "bytes",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/processorCpuPercentage": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "count"
+ ],
+ "displayName": "Processor time",
+ "units": "percent",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "traces/count": {
+ "supportedAggregations": [
+ "sum"
+ ],
+ "displayName": "Traces",
+ "supportedGroupBy": {
+ "all": [
+ "trace/severityLevel",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/AgentSession",
+ "customDimensions/AgentVersion",
+ "customDimensions/MachineName",
+ "customDimensions/RunningMode",
+ "customDimensions/Source",
+ "customDimensions/AgentAssemblyVersion",
+ "customDimensions/AgentProcessSession",
+ "customDimensions/HashedMachineName",
+ "customDimensions/DataCube",
+ "customDimensions/DeveloperMode"
+ ]
+ },
+ "defaultAggregation": "sum"
+ },
+ "customMetrics/Dependency duration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "Dependency duration",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/Exceptions thrown": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "Exceptions thrown",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/Server response time": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "Server response time",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/AzureDependencyFailureRate5Min": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "AzureDependencyFailureRate5Min",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/AzureBlobSuccessRate": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "AzureBlobSuccessRate",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/Customer Lead Time": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "Customer Lead Time",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/ChrisRequestDuration": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "ChrisRequestDuration",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/AvgResponseTime": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "AvgResponseTime",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/CriticalOperationFailureRate": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "CriticalOperationFailureRate",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/CritFailureRate2": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "CritFailureRate2",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/Blah": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "Blah",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/SyntheticExceptions": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "SyntheticExceptions",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/test01": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "test01",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/PredictedPerformanceOnNextHour": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "PredictedPerformanceOnNextHour",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customMetrics/HeartbeatState": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "HeartbeatState",
+ "supportedGroupBy": {
+ "all": [
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/SA_OriginAppId",
+ "customDimensions/baseSdkTargetFramework",
+ "customDimensions/runtimeFramework",
+ "customDimensions/DeveloperMode",
+ "customDimensions/_MS.AggregationIntervalMs",
+ "customDimensions/problemId",
+ "customDimensions/operationName",
+ "customDimensions/Request.Success",
+ "customDimensions/_MS.MetricId",
+ "customDimensions/Dependency.Success",
+ "customDimensions/_MS.IsAutocollected",
+ "customDimensions/Dependency.Type"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customEvents/custom/ProcessPagedMemoryInMB": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "ProcessPagedMemoryInMB",
+ "supportedGroupBy": {
+ "all": [
+ "customEvent/name",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/DeveloperMode",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customEvents/custom/ProcessWorkingSetInMB": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "ProcessWorkingSetInMB",
+ "supportedGroupBy": {
+ "all": [
+ "customEvent/name",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/DeveloperMode",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customEvents/custom/DurationInSeconds": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "DurationInSeconds",
+ "supportedGroupBy": {
+ "all": [
+ "customEvent/name",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/DeveloperMode",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customEvents/custom/sizeInMB": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "sizeInMB",
+ "supportedGroupBy": {
+ "all": [
+ "customEvent/name",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/DeveloperMode",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "customEvents/custom/Completion Time": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "Completion Time",
+ "supportedGroupBy": {
+ "all": [
+ "customEvent/name",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/EventName",
+ "customDimensions/Page Title",
+ "customDimensions/ServiceProfilerContent",
+ "customDimensions/ExecutingAssemblyFileVersion",
+ "customDimensions/ServiceProfilerVersion",
+ "customDimensions/DeveloperMode",
+ "customDimensions/ProcessId",
+ "customDimensions/RequestId",
+ "customDimensions/RunningSession",
+ "customDimensions/ProblemId",
+ "customDimensions/SnapshotContext",
+ "customDimensions/SnapshotVersion",
+ "customDimensions/Duration",
+ "customDimensions/SnapshotId",
+ "customDimensions/StampId",
+ "customDimensions/DeOptimizationId",
+ "customDimensions/Method",
+ "customDimensions/parentProcessId",
+ "customDimensions/Section",
+ "customDimensions/Configuration",
+ "customDimensions/dumpFolder",
+ "customDimensions/Reason",
+ "customDimensions/ExtensionVersion",
+ "customDimensions/SiteName"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/\\Process(??APP_WIN32_PROC??)\\% Processor Time Normalized": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "\\Process(??APP_WIN32_PROC??)\\% Processor Time Normalized",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ },
+ "performanceCounters/% Processor Time Normalized": {
+ "supportedAggregations": [
+ "avg",
+ "min",
+ "max",
+ "sum",
+ "count",
+ "unique"
+ ],
+ "displayName": "% Processor Time Normalized",
+ "supportedGroupBy": {
+ "all": [
+ "performanceCounter/name",
+ "performanceCounter/category",
+ "performanceCounter/counter",
+ "performanceCounter/instance",
+ "operation/name",
+ "operation/synthetic",
+ "operation/syntheticSource",
+ "user/authenticated",
+ "application/version",
+ "client/type",
+ "client/model",
+ "client/os",
+ "client/city",
+ "client/stateOrProvince",
+ "client/countryOrRegion",
+ "client/browser",
+ "cloud/roleName",
+ "cloud/roleInstance",
+ "customDimensions/CounterInstanceName",
+ "customDimensions/CustomPerfCounter"
+ ]
+ },
+ "defaultAggregation": "avg"
+ }
+ },
+ "dimensions": {
+ "request/source": {
+ "displayName": "Request source"
+ },
+ "request/name": {
+ "displayName": "Request name"
+ },
+ "request/urlHost": {
+ "displayName": "Request URL host"
+ },
+ "request/urlPath": {
+ "displayName": "Request URL path"
+ },
+ "request/success": {
+ "displayName": "Successful request"
+ },
+ "request/resultCode": {
+ "displayName": "Response code"
+ },
+ "request/performanceBucket": {
+ "displayName": "Performance"
+ },
+ "operation/name": {
+ "displayName": "Operation name"
+ },
+ "operation/synthetic": {
+ "displayName": "Real or synthetic traffic"
+ },
+ "operation/syntheticSource": {
+ "displayName": "Source of synthetic traffic"
+ },
+ "user/authenticated": {
+ "displayName": "Authenticated user"
+ },
+ "application/version": {
+ "displayName": "Application version"
+ },
+ "client/type": {
+ "displayName": "Device type"
+ },
+ "client/model": {
+ "displayName": "Device model"
+ },
+ "client/os": {
+ "displayName": "Operating system"
+ },
+ "client/city": {
+ "displayName": "City"
+ },
+ "client/stateOrProvince": {
+ "displayName": "State or province"
+ },
+ "client/countryOrRegion": {
+ "displayName": "Country or region"
+ },
+ "client/browser": {
+ "displayName": "Browser version"
+ },
+ "cloud/roleName": {
+ "displayName": "Cloud role name"
+ },
+ "cloud/roleInstance": {
+ "displayName": "Cloud role instance"
+ },
+ "customDimensions/_MS.ProcessedByMetricExtractors": {
+ "displayName": "_MS.ProcessedByMetricExtractors"
+ },
+ "customDimensions/DeveloperMode": {
+ "displayName": "DeveloperMode"
+ },
+ "pageView/name": {
+ "displayName": "View page name"
+ },
+ "pageView/urlPath": {
+ "displayName": "Page view URL path"
+ },
+ "pageView/urlHost": {
+ "displayName": "Page view URL host"
+ },
+ "pageView/performanceBucket": {
+ "displayName": "Performance"
+ },
+ "customDimensions/IbizaSessionId": {
+ "displayName": "IbizaSessionId"
+ },
+ "customDimensions/PartInstance": {
+ "displayName": "PartInstance"
+ },
+ "browserTiming/name": {
+ "displayName": "Name"
+ },
+ "browserTiming/urlHost": {
+ "displayName": "Url host"
+ },
+ "browserTiming/urlPath": {
+ "displayName": "Url path"
+ },
+ "browserTiming/performanceBucket": {
+ "displayName": "Performance Bucket"
+ },
+ "trace/severityLevel": {
+ "displayName": "Severity level"
+ },
+ "type": {
+ "displayName": "Telemetry type"
+ },
+ "customDimensions/AgentSession": {
+ "displayName": "AgentSession"
+ },
+ "customDimensions/AgentVersion": {
+ "displayName": "AgentVersion"
+ },
+ "customDimensions/MachineName": {
+ "displayName": "MachineName"
+ },
+ "customDimensions/RunningMode": {
+ "displayName": "RunningMode"
+ },
+ "customDimensions/Source": {
+ "displayName": "Source"
+ },
+ "customDimensions/AgentAssemblyVersion": {
+ "displayName": "AgentAssemblyVersion"
+ },
+ "customDimensions/AgentProcessSession": {
+ "displayName": "AgentProcessSession"
+ },
+ "customDimensions/HashedMachineName": {
+ "displayName": "HashedMachineName"
+ },
+ "customDimensions/DataCube": {
+ "displayName": "DataCube"
+ },
+ "dependency/target": {
+ "displayName": "Base name"
+ },
+ "dependency/type": {
+ "displayName": "Dependency type"
+ },
+ "dependency/name": {
+ "displayName": "Remote dependency name"
+ },
+ "dependency/success": {
+ "displayName": "Dependency call status"
+ },
+ "dependency/resultCode": {
+ "displayName": "Result code"
+ },
+ "dependency/performanceBucket": {
+ "displayName": "Performance"
+ },
+ "customDimensions/Container": {
+ "displayName": "Container"
+ },
+ "customDimensions/Blob": {
+ "displayName": "Blob"
+ },
+ "customDimensions/ErrorMessage": {
+ "displayName": "ErrorMessage"
+ },
+ "customEvent/name": {
+ "displayName": "Event name"
+ },
+ "customDimensions/EventName": {
+ "displayName": "EventName"
+ },
+ "customDimensions/Page Title": {
+ "displayName": "Page Title"
+ },
+ "customDimensions/ServiceProfilerContent": {
+ "displayName": "ServiceProfilerContent"
+ },
+ "customDimensions/ExecutingAssemblyFileVersion": {
+ "displayName": "ExecutingAssemblyFileVersion"
+ },
+ "customDimensions/ServiceProfilerVersion": {
+ "displayName": "ServiceProfilerVersion"
+ },
+ "customDimensions/ProcessId": {
+ "displayName": "ProcessId"
+ },
+ "customDimensions/RequestId": {
+ "displayName": "RequestId"
+ },
+ "customDimensions/RunningSession": {
+ "displayName": "RunningSession"
+ },
+ "customDimensions/ProblemId": {
+ "displayName": "ProblemId"
+ },
+ "customDimensions/SnapshotContext": {
+ "displayName": "SnapshotContext"
+ },
+ "customDimensions/SnapshotVersion": {
+ "displayName": "SnapshotVersion"
+ },
+ "customDimensions/Duration": {
+ "displayName": "Duration"
+ },
+ "customDimensions/SnapshotId": {
+ "displayName": "SnapshotId"
+ },
+ "customDimensions/StampId": {
+ "displayName": "StampId"
+ },
+ "customDimensions/DeOptimizationId": {
+ "displayName": "DeOptimizationId"
+ },
+ "customDimensions/Method": {
+ "displayName": "Method"
+ },
+ "customDimensions/parentProcessId": {
+ "displayName": "parentProcessId"
+ },
+ "customDimensions/Section": {
+ "displayName": "Section"
+ },
+ "customDimensions/Configuration": {
+ "displayName": "Configuration"
+ },
+ "customDimensions/dumpFolder": {
+ "displayName": "dumpFolder"
+ },
+ "customDimensions/Reason": {
+ "displayName": "Reason"
+ },
+ "customDimensions/ExtensionVersion": {
+ "displayName": "ExtensionVersion"
+ },
+ "customDimensions/SiteName": {
+ "displayName": "SiteName"
+ },
+ "availabilityResult/name": {
+ "displayName": "Test name"
+ },
+ "availabilityResult/location": {
+ "displayName": "Run location"
+ },
+ "availabilityResult/success": {
+ "displayName": "Test result"
+ },
+ "customDimensions/FullTestResultAvailable": {
+ "displayName": "FullTestResultAvailable"
+ },
+ "exception/problemId": {
+ "displayName": "Problem Id"
+ },
+ "exception/handledAt": {
+ "displayName": "Handled at"
+ },
+ "exception/type": {
+ "displayName": "Exception type"
+ },
+ "exception/assembly": {
+ "displayName": "Assembly"
+ },
+ "exception/method": {
+ "displayName": "Failed method"
+ },
+ "exception/severityLevel": {
+ "displayName": "Severity level"
+ },
+ "customDimensions/url": {
+ "displayName": "url"
+ },
+ "customDimensions/ai.snapshot.stampid": {
+ "displayName": "ai.snapshot.stampid"
+ },
+ "customDimensions/ai.snapshot.id": {
+ "displayName": "ai.snapshot.id"
+ },
+ "customDimensions/ai.snapshot.version": {
+ "displayName": "ai.snapshot.version"
+ },
+ "customDimensions/ai.snapshot.planid": {
+ "displayName": "ai.snapshot.planid"
+ },
+ "customDimensions/_MS.Example": {
+ "displayName": "_MS.Example"
+ },
+ "customDimensions/SA_OriginAppId": {
+ "displayName": "SA_OriginAppId"
+ },
+ "customDimensions/baseSdkTargetFramework": {
+ "displayName": "baseSdkTargetFramework"
+ },
+ "customDimensions/runtimeFramework": {
+ "displayName": "runtimeFramework"
+ },
+ "customDimensions/_MS.AggregationIntervalMs": {
+ "displayName": "_MS.AggregationIntervalMs"
+ },
+ "customDimensions/problemId": {
+ "displayName": "problemId"
+ },
+ "customDimensions/operationName": {
+ "displayName": "operationName"
+ },
+ "customDimensions/Request.Success": {
+ "displayName": "Request.Success"
+ },
+ "customDimensions/_MS.MetricId": {
+ "displayName": "_MS.MetricId"
+ },
+ "customDimensions/Dependency.Success": {
+ "displayName": "Dependency.Success"
+ },
+ "customDimensions/_MS.IsAutocollected": {
+ "displayName": "_MS.IsAutocollected"
+ },
+ "customDimensions/Dependency.Type": {
+ "displayName": "Dependency.Type"
+ },
+ "billing/telemetryItemSource": {
+ "displayName": "Telemetry item source"
+ },
+ "billing/telemetryItemType": {
+ "displayName": "Telemetry item type"
+ },
+ "performanceCounter/name": {
+ "displayName": "Name"
+ },
+ "performanceCounter/category": {
+ "displayName": "Category name"
+ },
+ "performanceCounter/counter": {
+ "displayName": "Counter"
+ },
+ "performanceCounter/instance": {
+ "displayName": "Instance name"
+ },
+ "customDimensions/CounterInstanceName": {
+ "displayName": "CounterInstanceName"
+ },
+ "customDimensions/CustomPerfCounter": {
+ "displayName": "CustomPerfCounter"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-get.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-get.json
new file mode 100644
index 000000000000..37ef38562b5e
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-get.json
@@ -0,0 +1,254 @@
+{
+ "title": "Get Query",
+ "description": "A simple query that returns query results.",
+ "parameters": {
+ "appId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "query": "requests | take 10",
+ "timespan": "PT12H"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "58a37988-2c05-427a-891f-5e0e1266fcc5",
+ "x-ms-correlation-request-id": "58a37988-2c05-427a-891f-5e0e1266fcc5"
+ },
+ "body": {
+ "tables": [
+ {
+ "name": "PrimaryResult",
+ "columns": [
+ {
+ "name": "timestamp",
+ "type": "datetime"
+ },
+ {
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "url",
+ "type": "string"
+ },
+ {
+ "name": "success",
+ "type": "string"
+ },
+ {
+ "name": "resultCode",
+ "type": "string"
+ },
+ {
+ "name": "duration",
+ "type": "real"
+ },
+ {
+ "name": "performanceBucket",
+ "type": "string"
+ },
+ {
+ "name": "customDimensions",
+ "type": "dynamic"
+ },
+ {
+ "name": "customMeasurements",
+ "type": "dynamic"
+ },
+ {
+ "name": "operation_Name",
+ "type": "string"
+ },
+ {
+ "name": "operation_Id",
+ "type": "string"
+ },
+ {
+ "name": "operation_ParentId",
+ "type": "string"
+ },
+ {
+ "name": "operation_SyntheticSource",
+ "type": "string"
+ },
+ {
+ "name": "session_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_AuthenticatedId",
+ "type": "string"
+ },
+ {
+ "name": "user_AccountId",
+ "type": "string"
+ },
+ {
+ "name": "application_Version",
+ "type": "string"
+ },
+ {
+ "name": "client_Type",
+ "type": "string"
+ },
+ {
+ "name": "client_Model",
+ "type": "string"
+ },
+ {
+ "name": "client_OS",
+ "type": "string"
+ },
+ {
+ "name": "client_IP",
+ "type": "string"
+ },
+ {
+ "name": "client_City",
+ "type": "string"
+ },
+ {
+ "name": "client_StateOrProvince",
+ "type": "string"
+ },
+ {
+ "name": "client_CountryOrRegion",
+ "type": "string"
+ },
+ {
+ "name": "client_Browser",
+ "type": "string"
+ },
+ {
+ "name": "cloud_RoleName",
+ "type": "string"
+ },
+ {
+ "name": "cloud_RoleInstance",
+ "type": "string"
+ },
+ {
+ "name": "appId",
+ "type": "string"
+ },
+ {
+ "name": "appName",
+ "type": "string"
+ },
+ {
+ "name": "iKey",
+ "type": "string"
+ },
+ {
+ "name": "sdkVersion",
+ "type": "string"
+ },
+ {
+ "name": "itemId",
+ "type": "string"
+ },
+ {
+ "name": "itemType",
+ "type": "string"
+ },
+ {
+ "name": "itemCount",
+ "type": "int"
+ }
+ ],
+ "rows": [
+ [
+ "2018-02-01T17:33:09.788Z",
+ "|0qRud6jz3k0=.c32c2659_",
+ null,
+ "GET Reports/Index",
+ "http://fabrikamfiberapp.azurewebsites.net/Reports",
+ "True",
+ "200",
+ 3.3833,
+ "<250ms",
+ "{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
+ null,
+ "GET Reports/Index",
+ "0qRud6jz3k0=",
+ "0qRud6jz3k0=",
+ "Application Insights Availability Monitoring",
+ "9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
+ "us-va-ash-azr_9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
+ null,
+ null,
+ "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
+ "PC",
+ null,
+ null,
+ "52.168.8.0",
+ "Boydton",
+ "Virginia",
+ "United States",
+ null,
+ "fabrikamfiberapp",
+ "RD00155D5053D1",
+ "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "fabrikamprod",
+ "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "web:2.5.0-33031",
+ "051ad4ef-0776-11e8-ac6e-e30599af6943",
+ "request",
+ 1
+ ],
+ [
+ "2018-02-01T17:33:15.786Z",
+ "|x/Ysh+M1TfU=.c32c265a_",
+ null,
+ "GET Home/Index",
+ "http://fabrikamfiberapp.azurewebsites.net/",
+ "True",
+ "200",
+ 716.2912,
+ "500ms-1sec",
+ "{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
+ null,
+ "GET Home/Index",
+ "x/Ysh+M1TfU=",
+ "x/Ysh+M1TfU=",
+ "Application Insights Availability Monitoring",
+ "58b15be6-d1e6-4d89-9919-52f63b840913",
+ "emea-se-sto-edge_58b15be6-d1e6-4d89-9919-52f63b840913",
+ null,
+ null,
+ "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
+ "PC",
+ null,
+ null,
+ "51.141.32.0",
+ "Cardiff",
+ "Cardiff",
+ "United Kingdom",
+ null,
+ "fabrikamfiberapp",
+ "RD00155D5053D1",
+ "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "fabrikamprod",
+ "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "web:2.5.0-33031",
+ "051ad4f0-0776-11e8-ac6e-e30599af6943",
+ "request",
+ 1
+ ]
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-post.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-post.json
new file mode 100644
index 000000000000..1ea2712576a7
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-post.json
@@ -0,0 +1,90 @@
+{
+ "title": "Post Query",
+ "description": "A simple query that returns query results.",
+ "parameters": {
+ "appId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "body": {
+ "timespan": "PT12H",
+ "query": "requests | summarize count() by bin(timestamp, 1h)"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "58a37988-2c05-427a-891f-5e0e1266fcc5",
+ "x-ms-correlation-request-id": "58a37988-2c05-427a-891f-5e0e1266fcc5"
+ },
+ "body": {
+ "tables": [
+ {
+ "name": "PrimaryResult",
+ "columns": [
+ {
+ "name": "timestamp",
+ "type": "datetime"
+ },
+ {
+ "name": "count_",
+ "type": "long"
+ }
+ ],
+ "rows": [
+ [
+ "2018-02-02T05:00:00Z",
+ 255
+ ],
+ [
+ "2018-02-01T17:00:00Z",
+ 148
+ ],
+ [
+ "2018-02-01T18:00:00Z",
+ 453
+ ],
+ [
+ "2018-02-01T19:00:00Z",
+ 404
+ ],
+ [
+ "2018-02-01T20:00:00Z",
+ 403
+ ],
+ [
+ "2018-02-01T21:00:00Z",
+ 405
+ ],
+ [
+ "2018-02-01T22:00:00Z",
+ 438
+ ],
+ [
+ "2018-02-01T23:00:00Z",
+ 403
+ ],
+ [
+ "2018-02-02T00:00:00Z",
+ 423
+ ],
+ [
+ "2018-02-02T01:00:00Z",
+ 403
+ ],
+ [
+ "2018-02-02T02:00:00Z",
+ 425
+ ],
+ [
+ "2018-02-02T03:00:00Z",
+ 437
+ ],
+ [
+ "2018-02-02T04:00:00Z",
+ 420
+ ]
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-schema.json b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-schema.json
new file mode 100644
index 000000000000..9041c74be769
--- /dev/null
+++ b/specification/applicationinsights/data-plane/microsoft.insights/v1/examples/query-schema.json
@@ -0,0 +1,1937 @@
+{
+ "title": "Get Query",
+ "description": "A simple query that returns query results.",
+ "parameters": {
+ "appId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "58a37988-2c05-427a-891f-5e0e1266fcc5",
+ "x-ms-correlation-request-id": "58a37988-2c05-427a-891f-5e0e1266fcc5"
+ },
+ "body": {
+ "tables": [
+ {
+ "name": "Table_0",
+ "columns": [
+ {
+ "name": "TableName",
+ "type": "String"
+ },
+ {
+ "name": "ColumnName",
+ "type": "String"
+ },
+ {
+ "name": "ColumnType",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ "traces",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "traces",
+ "message",
+ "System.String"
+ ],
+ [
+ "traces",
+ "severityLevel",
+ "System.Int32"
+ ],
+ [
+ "traces",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "traces",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "traces",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "traces",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "traces",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "traces",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "traces",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "traces",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "traces",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "traces",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "traces",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "traces",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "traces",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "traces",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "traces",
+ "appId",
+ "System.String"
+ ],
+ [
+ "traces",
+ "appName",
+ "System.String"
+ ],
+ [
+ "traces",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "traces",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "traces",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "traces",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "traces",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "customEvents",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "customEvents",
+ "name",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "customEvents",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "customEvents",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "appId",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "appName",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "customEvents",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "pageViews",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "pageViews",
+ "name",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "url",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "duration",
+ "System.Double"
+ ],
+ [
+ "pageViews",
+ "performanceBucket",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "pageViews",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "pageViews",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "appId",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "appName",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "pageViews",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "requests",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "requests",
+ "id",
+ "System.String"
+ ],
+ [
+ "requests",
+ "source",
+ "System.String"
+ ],
+ [
+ "requests",
+ "name",
+ "System.String"
+ ],
+ [
+ "requests",
+ "url",
+ "System.String"
+ ],
+ [
+ "requests",
+ "success",
+ "System.String"
+ ],
+ [
+ "requests",
+ "resultCode",
+ "System.String"
+ ],
+ [
+ "requests",
+ "duration",
+ "System.Double"
+ ],
+ [
+ "requests",
+ "performanceBucket",
+ "System.String"
+ ],
+ [
+ "requests",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "requests",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "requests",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "requests",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "requests",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "requests",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "requests",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "requests",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "requests",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "requests",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "requests",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "requests",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "requests",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "requests",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "requests",
+ "appId",
+ "System.String"
+ ],
+ [
+ "requests",
+ "appName",
+ "System.String"
+ ],
+ [
+ "requests",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "requests",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "requests",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "requests",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "requests",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "dependencies",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "dependencies",
+ "id",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "target",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "type",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "name",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "data",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "success",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "resultCode",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "duration",
+ "System.Double"
+ ],
+ [
+ "dependencies",
+ "performanceBucket",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "dependencies",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "dependencies",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "appId",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "appName",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "dependencies",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "exceptions",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "exceptions",
+ "problemId",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "handledAt",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "type",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "message",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "assembly",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "method",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "outerType",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "outerMessage",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "outerAssembly",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "outerMethod",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "innermostType",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "innermostMessage",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "innermostAssembly",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "innermostMethod",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "severityLevel",
+ "System.Int32"
+ ],
+ [
+ "exceptions",
+ "details",
+ "System.Object"
+ ],
+ [
+ "exceptions",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "exceptions",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "exceptions",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "appId",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "appName",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "exceptions",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "availabilityResults",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "availabilityResults",
+ "id",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "name",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "location",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "success",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "message",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "size",
+ "System.Double"
+ ],
+ [
+ "availabilityResults",
+ "duration",
+ "System.Double"
+ ],
+ [
+ "availabilityResults",
+ "performanceBucket",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "availabilityResults",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "availabilityResults",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "appId",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "appName",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "availabilityResults",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "customMetrics",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "customMetrics",
+ "name",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "value",
+ "System.Double"
+ ],
+ [
+ "customMetrics",
+ "valueCount",
+ "System.Int32"
+ ],
+ [
+ "customMetrics",
+ "valueSum",
+ "System.Double"
+ ],
+ [
+ "customMetrics",
+ "valueMin",
+ "System.Double"
+ ],
+ [
+ "customMetrics",
+ "valueMax",
+ "System.Double"
+ ],
+ [
+ "customMetrics",
+ "valueStdDev",
+ "System.Double"
+ ],
+ [
+ "customMetrics",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "customMetrics",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "appId",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "appName",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "customMetrics",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "performanceCounters",
+ "name",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "category",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "counter",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "instance",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "value",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "performanceCounters",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "appId",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "appName",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "performanceCounters",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "timestamp",
+ "System.DateTime"
+ ],
+ [
+ "browserTimings",
+ "name",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "url",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "networkDuration",
+ "System.Double"
+ ],
+ [
+ "browserTimings",
+ "sendDuration",
+ "System.Double"
+ ],
+ [
+ "browserTimings",
+ "receiveDuration",
+ "System.Double"
+ ],
+ [
+ "browserTimings",
+ "processingDuration",
+ "System.Double"
+ ],
+ [
+ "browserTimings",
+ "totalDuration",
+ "System.Double"
+ ],
+ [
+ "browserTimings",
+ "performanceBucket",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "customDimensions",
+ "System.Object"
+ ],
+ [
+ "browserTimings",
+ "customMeasurements",
+ "System.Object"
+ ],
+ [
+ "browserTimings",
+ "operation_Name",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "operation_Id",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "operation_ParentId",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "operation_SyntheticSource",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "session_Id",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "user_Id",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "user_AuthenticatedId",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "user_AccountId",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "application_Version",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_Type",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_Model",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_OS",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_IP",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_City",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_StateOrProvince",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_CountryOrRegion",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "client_Browser",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "cloud_RoleName",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "cloud_RoleInstance",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "appId",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "appName",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "iKey",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "sdkVersion",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "itemId",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "itemType",
+ "System.String"
+ ],
+ [
+ "browserTimings",
+ "itemCount",
+ "System.Double"
+ ],
+ [
+ "tEST_CL",
+ "col_0",
+ "System.String"
+ ],
+ [
+ "tEST_CL",
+ "col_1",
+ "System.String"
+ ],
+ [
+ "tEST_CL",
+ "col_2",
+ "System.String"
+ ],
+ [
+ "tEST_CL",
+ "col_3",
+ "System.String"
+ ],
+ [
+ "tEST_CL",
+ "ingestionTime",
+ "System.DateTime"
+ ],
+ [
+ "bla_CL",
+ "col_0",
+ "System.String"
+ ],
+ [
+ "bla_CL",
+ "col_1",
+ "System.String"
+ ],
+ [
+ "bla_CL",
+ "col_2",
+ "System.String"
+ ],
+ [
+ "bla_CL",
+ "col_3",
+ "System.String"
+ ],
+ [
+ "bla_CL",
+ "ingestionTime",
+ "System.DateTime"
+ ]
+ ]
+ },
+ {
+ "name": "Table_1",
+ "columns": [
+ {
+ "name": "TableType",
+ "type": "String"
+ },
+ {
+ "name": "TableName",
+ "type": "String"
+ },
+ {
+ "name": "PrimaryTimestampColumnName",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ "ai",
+ "traces",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "customEvents",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "pageViews",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "requests",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "dependencies",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "exceptions",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "availabilityResults",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "customMetrics",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "performanceCounters",
+ "timestamp"
+ ],
+ [
+ "ai",
+ "browserTimings",
+ "timestamp"
+ ],
+ [
+ "openschema",
+ "tEST_CL",
+ "ingestionTime"
+ ],
+ [
+ "openschema",
+ "bla_CL",
+ "ingestionTime"
+ ]
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/data-plane/readme.md b/specification/applicationinsights/data-plane/readme.md
new file mode 100644
index 000000000000..65d902137b0f
--- /dev/null
+++ b/specification/applicationinsights/data-plane/readme.md
@@ -0,0 +1,88 @@
+# ApplicationInsights
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for ApplicationInsightsDataPlane.
+
+
+
+---
+## Getting Started
+To build the SDK for ApplicationInsightsDataPlane, 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 ApplicationInsights API.
+
+``` yaml
+title: ApplicationInsightsDataClient
+description: Composite Swagger for Application Insights Data Client
+add-credentials: true
+openapi-type: data-plane
+tag: v1
+```
+
+### Tag: v1
+
+These settings apply only when `--tag=v1` is specified on the command line.
+
+``` yaml $(tag) == 'v1'
+input-file:
+- microsoft.insights/v1/AppInsights.json
+```
+
+# Code Generation
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.ApplicationInsights
+ output-folder: $(csharp-sdks-folder)/ApplicationInsights/Data.ApplicationInsights/Generated
+ clear-output-folder: true
+ payload-flattening-threshold: 3
+directive:
+ - reason: Don't expose the GET endpoint since it's behavior is more limited than POST
+ remove-operation: GetQuery
+```
+
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: insights
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: v1
+```
+
+### Tag: v1 and go
+
+These settings apply only when `--tag=v1 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'v1' && $(go)
+output-folder: $(go-sdk-folder)/services/appinsights/v1/insights
+```
+
diff --git a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/componentFeaturesAndPricing_API.json b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
index 034b2695d146..3b0aa246faf8 100644
--- a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
+++ b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
@@ -139,6 +139,72 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/featurecapabilities": {
+ "get": {
+ "description": "Returns feature capabilites of the application insights component.",
+ "operationId": "ComponentFeatureCapabilities_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An Application Insights component feature capabilities definition.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentFeatureCapabilities"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentCurrentBillingFeaturesGet": {
+ "$ref": "./examples/FeatureCapabilitiesGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/getavailablebillingfeatures": {
+ "get": {
+ "description": "Returns all available features of the application insights component.",
+ "operationId": "ComponentAvailableFeatures_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An Application Insights component available features definition.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentAvailableFeatures"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentCurrentBillingFeaturesGet": {
+ "$ref": "./examples/AvailableBillingFeaturesGet.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -211,7 +277,199 @@
"description": "Date and time when the daily data volume cap will be reset, and data ingestion will resume."
}
}
- }
+ },
+ "ApplicationInsightsComponentFeatureCapabilities": {
+ "type": "object",
+ "description": "An Application Insights component feature capabilities",
+ "properties": {
+ "SupportExportData": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether allow to use continuous export feature."
+ },
+ "BurstThrottlePolicy": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "MetadataClass": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "LiveStreamMetrics": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "ApplicationMap": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "WorkItemIntegration": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether allow to use work item integration feature."
+ },
+ "PowerBIIntegration": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "OpenSchema": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "ProactiveDetection": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "AnalyticsIntegration": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "MultipleStepWebTest": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether allow to use multiple steps web test feature."
+ },
+ "ApiAccessLevel": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "TrackingType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The applciation insights component used tracking type."
+ },
+ "DailyCap": {
+ "type": "number",
+ "readOnly": true,
+ "description": "Daily data volume cap in GB."
+ },
+ "DailyCapResetTime": {
+ "type": "number",
+ "readOnly": true,
+ "description": "Daily data volume cap UTC reset hour."
+ },
+ "ThrottleRate": {
+ "type": "number",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ }
+ }
+ },
+ "ApplicationInsightsComponentAvailableFeatures":{
+ "type": "object",
+ "description": "An Application Insights component available features.",
+ "properties": {
+ "Result": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ApplicationInsightsComponentFeature"
+ },
+ "readOnly": true,
+ "description": "A list of Application Insigths component feature."
+ }
+ }
+ },
+ "ApplicationInsightsComponentFeature":{
+ "type": "object",
+ "description": "An Application Insights component daily data volume cap status",
+ "properties": {
+ "FeatureName":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The pricing feature name."
+ },
+ "MeterId":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The meter id used for the feature."
+ },
+ "MeterRateFrequency":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The meter meter rate for the feature's meter."
+ },
+ "ResouceId":{
+ "type": "string",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "IsHidden":{
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Reserved, not used now."
+ },
+ "Capabilities":{
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ApplicationInsightsComponentFeatureCapability"
+ },
+ "readOnly": true,
+ "description": "A list of Application Insigths component feature capability."
+ },
+ "Title": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Desplay name of the feature."
+ },
+ "IsMainFeature": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether can apply addon feature on to it."
+ },
+ "SupportedAddonFeatures": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The add on features on main feature."
+ }
+ }
+ },
+ "ApplicationInsightsComponentFeatureCapability": {
+ "type": "object",
+ "description": "An Application Insights component feature capability",
+ "properties": {
+ "Name":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the capability."
+ },
+ "Description":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the capability."
+ },
+ "Value":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The vaule of the capability."
+ },
+ "Unit":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The unit of the capability."
+ },
+ "MeterId":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The meter used for the capability."
+ },
+ "MeterRateFrequency":{
+ "type": "string",
+ "readOnly": true,
+ "description": "The meter rate of the meter."
+ }
+ }
+ }
},
"parameters": {
"SubscriptionIdParameter": {
diff --git a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/componentProactiveDetection_API.json b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/componentProactiveDetection_API.json
new file mode 100644
index 000000000000..611afa6aa9fc
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/componentProactiveDetection_API.json
@@ -0,0 +1,281 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights client for ProactiveDetection configurations of a component.",
+ "version": "2015-05-01"
+ },
+ "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.insights/components/{resourceName}/ProactiveDetectionConfigs": {
+ "get": {
+ "description": "Gets a list of ProactiveDetection configurations of an Application Insights component.",
+ "operationId": "ProactiveDetectionConfigurations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more ProactiveDetection configurations of an Application Insights component.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentProactiveDetectionConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ProactiveDetectionConfigurationsList": {
+ "$ref": "./examples/ProactiveDetectionConfigurationsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}": {
+ "get": {
+ "description": "Get the ProactiveDetection configuration for this configuration id.",
+ "operationId": "ProactiveDetectionConfigurations_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ProactiveDetection configuration for this configuration id.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentProactiveDetectionConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ProactiveDetectionConfigurationGet": {
+ "$ref": "./examples/ProactiveDetectionConfigurationGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Update the ProactiveDetection configuration for this configuration id.",
+ "operationId": "ProactiveDetectionConfigurations_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationId"
+ },
+ {
+ "name": "ProactiveDetectionProperties",
+ "description": "Properties that need to be specified to update the ProactiveDetection configuration.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentProactiveDetectionConfiguration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ProactiveDetection configuration that was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentProactiveDetectionConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ProactiveDetectionConfigurationUpdate": {
+ "$ref": "./examples/ProactiveDetectionConfigurationUpdate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApplicationInsightsComponentProactiveDetectionConfigurationListResult": {
+ "description": "A list of ProactiveDetection configurations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationInsightsComponentProactiveDetectionConfiguration"
+ }
+ },
+ "ApplicationInsightsComponentProactiveDetectionConfiguration": {
+ "description": "Properties that define a ProactiveDetection configuration.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "Name": {
+ "type": "string",
+ "readOnly": false,
+ "description": "The rule name"
+ },
+ "Enabled": {
+ "type": "boolean",
+ "readOnly": false,
+ "description": "A flag that indicates whether this rule is enabled by the user"
+ },
+ "SendEmailsToSubscriptionOwners": {
+ "type": "boolean",
+ "readOnly": false,
+ "description": "A flag that indicated whether notifications on this rule should be sent to subscription owners"
+ },
+ "CustomEmails": {
+ "type": "array",
+ "readOnly": false,
+ "description": "Custom email addresses for this rule notifications",
+ "items": {
+ "type": "string"
+ }
+ },
+ "LastUpdatedTime": {
+ "type": "string",
+ "readOnly": false,
+ "description": "The last time this rule was updated"
+ },
+ "RuleDefinitions": {
+ "type": "object",
+ "readOnly": false,
+ "description": "Static definitions of the ProactiveDetection configuration rule (same values for all components).",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "readOnly": false,
+ "description": "The rule name"
+ },
+ "DisplayName": {
+ "type": "string",
+ "readOnly": false,
+ "description": "The rule name as it is displayed in UI"
+ },
+ "Description": {
+ "type": "string",
+ "readOnly": false,
+ "description": "The rule description"
+ },
+ "HelpUrl": {
+ "type": "string",
+ "readOnly": false,
+ "description": "URL which displays aditional info about the proactive detection rule"
+ },
+ "IsHidden": {
+ "type": "boolean",
+ "readOnly": false,
+ "description": "A flag indicating whether the rule is hidden (from the UI)"
+ },
+ "IsEnabledByDefault": {
+ "type": "boolean",
+ "readOnly": false,
+ "description": "A flag indicating whether the rule is enabled by default"
+ },
+ "IsInPreview": {
+ "type": "boolean",
+ "readOnly": false,
+ "description": "A flag indicating whether the rule is in preview"
+ },
+ "SupportsEmailNotifications": {
+ "type": "boolean",
+ "readOnly": false,
+ "description": "A flag indicating whether email notifications are supported for detections for this rule"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure subscription ID."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationId": {
+ "name": "ConfigurationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ProactiveDetection configuration ID. This is unique within a Application Insights component.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/AvailableBillingFeaturesGet.json b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/AvailableBillingFeaturesGet.json
new file mode 100644
index 000000000000..686a11f72ad0
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/AvailableBillingFeaturesGet.json
@@ -0,0 +1,280 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "Result": [
+ {
+ "FeatureName": "Basic",
+ "MeterId": "c9a05f12-4910-4527-a9ec-1db4e4dba60e",
+ "MeterRateFrequency": "/month",
+ "ResouceId": null,
+ "IsHidden": true,
+ "Capabilities": [
+ {
+ "Name": "hostnumber",
+ "Description": "Number of application hosts",
+ "Value": "Unlimited",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "includeddata",
+ "Description": "Included data",
+ "Value": "1",
+ "Unit": null,
+ "MeterId": "acf26b15-ee92-440d-9973-9a72d77641aa",
+ "MeterRateFrequency": "GB/month"
+ },
+ {
+ "Name": "additionaldata",
+ "Description": "Additional data",
+ "Value": null,
+ "Unit": null,
+ "MeterId": "b90f8b65-6c3e-43fc-9149-bdfc73b6a5b9",
+ "MeterRateFrequency": "/GB"
+ },
+ {
+ "Name": "dataretention",
+ "Description": "Data retention",
+ "Value": "90",
+ "Unit": "days",
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "responsetimemonitoring",
+ "Description": "Response time monitoring and diagnostics",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "failedrequestsmonitoring",
+ "Description": "Failed requests monitoring and diagnostics",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "browserperformance",
+ "Description": "Browser performance",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "usageanalysis",
+ "Description": "Usage analysis",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "servermonitoring",
+ "Description": "Server monitoring",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "alertingandnotifications",
+ "Description": "Alerting and notifications",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "notificationfailedrequestrate",
+ "Description": "Daily notification of failed request rate spikes",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "telemetryanalyzer",
+ "Description": "Telemetry analyzer",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "searchandanalytics",
+ "Description": "Search and Analytics",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "webtests",
+ "Description": "Web tests (multi-step tests)",
+ "Value": null,
+ "Unit": null,
+ "MeterId": "0aa0e0e9-3f58-4dcf-9bb0-9db7ae1d5954",
+ "MeterRateFrequency": "/test (per month)"
+ },
+ {
+ "Name": "livestreammetrics",
+ "Description": "Live stream metrics",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "applicationmap",
+ "Description": "Application map",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "dailynotificationforkeymetrics",
+ "Description": "Daily notification for many key metrics",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "workitemintegration",
+ "Description": "Work item integration",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "apiaccess",
+ "Description": "API access",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "powerbiintegration",
+ "Description": "Power BI integration",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "bulkdataimport",
+ "Description": "Bulk data import",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "automaticdataevaluation",
+ "Description": "Automatic data evaluation",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "analyticsintegration",
+ "Description": "Analytics integration with Azure dashboards",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "continuousexport",
+ "Description": "Continuous export",
+ "Value": "Enabled",
+ "Unit": null,
+ "MeterId": "90fa4d31-3ea2-4178-a894-ec4c76c712b2",
+ "MeterRateFrequency": "/GB"
+ },
+ {
+ "Name": "defaultdailycap",
+ "Description": "Default daily cap",
+ "Value": "100",
+ "Unit": "G",
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "defaultmaxdailycap",
+ "Description": "Default maximum daily cap",
+ "Value": "1000",
+ "Unit": "G",
+ "MeterId": null,
+ "MeterRateFrequency": null
+ }
+ ],
+ "Title": "Application Insights Basic",
+ "IsMainFeature": true,
+ "SupportedAddonFeatures": "Application Insights Enterprise"
+ },
+ {
+ "FeatureName": "Application Insights Enterprise",
+ "MeterId": "222f32c5-a319-4787-b934-5fb95105b2c8",
+ "MeterRateFrequency": "/node/month",
+ "ResouceId": null,
+ "IsHidden": false,
+ "Capabilities": [
+ {
+ "Name": "enterpriseincludeddata",
+ "Description": "Enterprise Included data",
+ "Value": "0.20",
+ "Unit": null,
+ "MeterId": "acf26b15-ee92-440d-9973-9a72d77641aa",
+ "MeterRateFrequency": "GB/month"
+ },
+ {
+ "Name": "enterpriseadditionaldata",
+ "Description": "Enterprise Additional data",
+ "Value": null,
+ "Unit": null,
+ "MeterId": "3fedc88a-b68f-4936-bbf0-f290a254388c",
+ "MeterRateFrequency": "/GB"
+ },
+ {
+ "Name": "defaultdailycap",
+ "Description": "Default daily cap",
+ "Value": "100",
+ "Unit": "G",
+ "MeterId": null,
+ "MeterRateFrequency": null
+ },
+ {
+ "Name": "defaultmaxdailycap",
+ "Description": "Default maximum daily cap",
+ "Value": "1000",
+ "Unit": "G",
+ "MeterId": null,
+ "MeterRateFrequency": null
+ }
+ ],
+ "Title": "Enterprise",
+ "IsMainFeature": false,
+ "SupportedAddonFeatures": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/FeatureCapabilitiesGet.json b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/FeatureCapabilitiesGet.json
new file mode 100644
index 000000000000..ad3403ff5357
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/FeatureCapabilitiesGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "SupportExportData": true,
+ "BurstThrottlePolicy": "B2",
+ "MetadataClass": null,
+ "LiveStreamMetrics": true,
+ "ApplicationMap": true,
+ "WorkItemIntegration": true,
+ "PowerBIIntegration": true,
+ "OpenSchema": true,
+ "ProactiveDetection": false,
+ "AnalyticsIntegration": true,
+ "MultipleStepWebTest": true,
+ "ApiAccessLevel": "Premium",
+ "TrackingType": "Basic",
+ "DailyCap": 0.0323,
+ "DailyCapResetTime": 4,
+ "ThrottleRate": 0.0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationGet.json b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationGet.json
new file mode 100644
index 000000000000..deb9c8c89b2b
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "ConfigurationId": "slowpageloadtime"
+ },
+ "responses": {
+ "200": {
+ "body":
+ {
+ "Name": "slowpageloadtime",
+ "Enabled": true,
+ "SendEmailsToSubscriptionOwners": true,
+ "CustomEmails": ["foo@microsoft.com", "foo2@microsoft.com"],
+ "LastUpdatedTime": null,
+ "RuleDefinitions": {
+ "Name": "slowpageloadtime",
+ "DisplayName": "Slow page load time",
+ "Description": "Smart Detection rules notify you of performance anomaly issues.",
+ "HelpUrl": "https://docs.microsoft.com/en-us/azure/application-insights/app-insights-proactive-performance-diagnostics",
+ "IsHidden": false,
+ "IsEnabledByDefault": true,
+ "IsInPreview": false,
+ "SupportsEmailNotifications": true
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationUpdate.json b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationUpdate.json
new file mode 100644
index 000000000000..bca7e95b7ee4
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationUpdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "ConfigurationId": "slowpageloadtime",
+ "ProactiveDetectionProperties":
+ {
+ "Name": "slowpageloadtime",
+ "Enabled": true,
+ "SendEmailsToSubscriptionOwners": true,
+ "CustomEmails": ["foo@microsoft.com", "foo2@microsoft.com"],
+ "LastUpdatedTime": null,
+ "RuleDefinitions": {
+ "Name": "slowpageloadtime",
+ "DisplayName": "Slow page load time",
+ "Description": "Smart Detection rules notify you of performance anomaly issues.",
+ "HelpUrl": "https://docs.microsoft.com/en-us/azure/application-insights/app-insights-proactive-performance-diagnostics",
+ "IsHidden": false,
+ "IsEnabledByDefault": true,
+ "IsInPreview": false,
+ "SupportsEmailNotifications": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body":
+ {
+ "Name": "slowpageloadtime",
+ "Enabled": true,
+ "SendEmailsToSubscriptionOwners": true,
+ "CustomEmails": ["foo@microsoft.com", "foo2@microsoft.com"],
+ "LastUpdatedTime": null,
+ "RuleDefinitions": {
+ "Name": "slowpageloadtime",
+ "DisplayName": "Slow page load time",
+ "Description": "Smart Detection rules notify you of performance anomaly issues.",
+ "HelpUrl": "https://docs.microsoft.com/en-us/azure/application-insights/app-insights-proactive-performance-diagnostics",
+ "IsHidden": false,
+ "IsEnabledByDefault": true,
+ "IsInPreview": false,
+ "SupportsEmailNotifications": true
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationsList.json b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationsList.json
new file mode 100644
index 000000000000..38b47908fc8a
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/microsoft.insights/stable/2015-05-01/examples/ProactiveDetectionConfigurationsList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component"
+ },
+ "responses": {
+ "200": {
+ "body":
+ [
+ {
+ "Name": "slowpageloadtime",
+ "Enabled": true,
+ "SendEmailsToSubscriptionOwners": true,
+ "CustomEmails": ["foo@microsoft.com", "foo2@microsoft.com"],
+ "LastUpdatedTime": null,
+ "RuleDefinitions": {
+ "Name": "slowpageloadtime",
+ "DisplayName": "Slow page load time",
+ "Description": "Smart Detection rules notify you of performance anomaly issues.",
+ "HelpUrl": "https://docs.microsoft.com/en-us/azure/application-insights/app-insights-proactive-performance-diagnostics",
+ "IsHidden": false,
+ "IsEnabledByDefault": true,
+ "IsInPreview": false,
+ "SupportsEmailNotifications": true
+ }
+ },
+ {
+ "Name": "slowpageloadtime",
+ "Enabled": true,
+ "SendEmailsToSubscriptionOwners": true,
+ "CustomEmails": [],
+ "LastUpdatedTime": null,
+ "RuleDefinitions": {
+ "Name": "slowserverresponsetime",
+ "DisplayName": "Slow server response time",
+ "Description": "Smart Detection rules notify you of performance anomaly issues.",
+ "HelpUrl": "https://docs.microsoft.com/en-us/azure/application-insights/app-insights-proactive-performance-diagnostics",
+ "IsHidden": false,
+ "IsEnabledByDefault": true,
+ "IsInPreview": false,
+ "SupportsEmailNotifications": true
+ }
+ }
+ ]
+
+ }
+ }
+}
+
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index 6ed1411056be..282509b53f79 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -147,6 +147,17 @@ directive:
# - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.AppId
# - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ShouldBeThrottled
# - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ExpirationTime
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Enabled
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.SendEmailsToSubscriptionOwners
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.CustomEmails
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.LastUpdatedTime
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.RuleDefinitions
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name
+ # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name
+
+ - suppress: R2066
+ reason: There are a bug in this rule. "ExportConfigurations_Create" is a valid operation id.
```
### Tag: package-2015-05
@@ -159,6 +170,7 @@ input-file:
- microsoft.insights/stable/2015-05-01/components_API.json
- microsoft.insights/stable/2015-05-01/webTests_API.json
- microsoft.insights/stable/2015-05-01/componentContinuousExport_API.json
+- microsoft.insights/stable/2015-05-01/componentProactiveDetection_API.json
- microsoft.insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
- microsoft.insights/stable/2015-05-01/componentApiKeys_API.json
```
@@ -166,6 +178,48 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
+## 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.applicationinsights
+ package-name: azure-mgmt-applicationinsights
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-applicationinsights
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -191,6 +245,13 @@ go:
clear-output-folder: true
```
+### Go mult-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-05
+```
+
### Tag: package-2015-05 and go
These settings apply only when `--tag=package-2015-05 --go` is specified on he command line.
@@ -199,3 +260,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.applicationinsights
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-applicationinsights
+```
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
new file mode 100644
index 000000000000..517db0205de5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
@@ -0,0 +1,140 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AuthorizationManagementClient",
+ "version": "2015-06-01",
+ "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role definitions and role assignments. A role definition describes the set of actions that can be performed on resources. A role assignment grants access to Azure Active Directory users."
+ },
+ "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}/providers/Microsoft.Authorization/classicAdministrators": {
+ "get": {
+ "tags": [
+ "ClassicAdministrators"
+ ],
+ "operationId": "ClassicAdministrators_List",
+ "description": "Gets service administrator, account administrator, and co-administrators for the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of administrators.",
+ "schema": {
+ "$ref": "#/definitions/ClassicAdministratorListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetClassicAdministrators.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClassicAdministratorProperties": {
+ "properties": {
+ "emailAddress": {
+ "type": "string",
+ "description": "The email address of the administrator."
+ },
+ "role": {
+ "type": "string",
+ "description": "The role of the administrator."
+ }
+ },
+ "description": "Classic Administrator properties."
+ },
+ "ClassicAdministrator": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the administrator."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the administrator."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the administrator."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClassicAdministratorProperties",
+ "description": "Properties for the classic administrator."
+ }
+ },
+ "description": "Classic Administrators"
+ },
+ "ClassicAdministratorListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClassicAdministrator"
+ },
+ "description": "An array of administrators."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "ClassicAdministrator list result information."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-06-01/examples/GetClassicAdministrators.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-06-01/examples/GetClassicAdministrators.json
new file mode 100644
index 000000000000..7b2714814e73
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-06-01/examples/GetClassicAdministrators.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2015-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "emailAddress": "test@test.com",
+ "role": "ServiceAdministrator;AccountAdministrator"
+ },
+ "id": "/subscriptions/subId/providers/Microsoft.Authorization/classicAdministrators/classicadminid",
+ "type": "Microsoft.Authorization/classicAdministrators",
+ "name": "classicadminid"
+ },
+ {
+ "properties": {
+ "emailAddress": "coadmin@test.com",
+ "role": "CoAdministrator"
+ },
+ "id": "/subscriptions/subId/providers/Microsoft.Authorization/classicAdministrators/classicadminid2",
+ "type": "Microsoft.Authorization/classicAdministrators",
+ "name": "classicadminid2"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/authorization.json
similarity index 88%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/authorization.json
index fd2eefdd398a..c56c5350859c 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/authorization.json
@@ -34,43 +34,6 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators": {
- "get": {
- "tags": [
- "ClassicAdministrators"
- ],
- "operationId": "ClassicAdministrators_List",
- "description": "Gets service administrator, account administrator, and co-administrators for the subscription.",
- "parameters": [
- {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for this operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of administrators.",
- "schema": {
- "$ref": "#/definitions/ClassicAdministratorListResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "GetConfigurations": {
- "$ref": "./examples/GetClassicAdministrators.json"
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions": {
"get": {
"tags": [
@@ -492,57 +455,6 @@
},
"description": "Role Definitions filter"
},
- "ClassicAdministratorProperties": {
- "properties": {
- "emailAddress": {
- "type": "string",
- "description": "The email address of the administrator."
- },
- "role": {
- "type": "string",
- "description": "The role of the administrator."
- }
- },
- "description": "Classic Administrator properties."
- },
- "ClassicAdministrator": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The ID of the administrator."
- },
- "name": {
- "type": "string",
- "description": "The name of the administrator."
- },
- "type": {
- "type": "string",
- "description": "The type of the administrator."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClassicAdministratorProperties",
- "description": "Properties for the classic administrator."
- }
- },
- "description": "Classic Administrators"
- },
- "ClassicAdministratorListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ClassicAdministrator"
- },
- "description": "An array of administrators."
- },
- "nextLink": {
- "type": "string",
- "description": "The URL to use for getting the next set of results."
- }
- },
- "description": "ClassicAdministrator list result information."
- },
"Permission": {
"properties": {
"actions": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetRoleDefinitionByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/DeleteRoleDefinition.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetRoleDefinitionByName.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/DeleteRoleDefinition.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetAllProviderOperations.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetAllProviderOperations.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetAllProviderOperations.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetAllProviderOperations.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetPermissions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetPermissions.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetPermissions.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetPermissions.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetProviderOperationsRP.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetProviderOperationsRP.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetProviderOperationsRP.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetProviderOperationsRP.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetResourcePermissions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetResourcePermissions.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetResourcePermissions.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetResourcePermissions.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetRoleDefinitionAtScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetRoleDefinitionAtScope.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetRoleDefinitionAtScope.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetRoleDefinitionAtScope.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetRoleDefinitionById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetRoleDefinitionById.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/GetRoleDefinitionById.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetRoleDefinitionById.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetRoleDefinitionByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetRoleDefinitionByName.json
new file mode 100644
index 000000000000..0a160a387962
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/GetRoleDefinitionByName.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleDefinitionId": "roleDefinitionId",
+ "api-version": "2015-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleName": "Role name",
+ "type": "roletype",
+ "description": "Role description",
+ "assignableScopes": [
+ "/subscriptions/subId"
+ ],
+ "permissions": [
+ {
+ "actions": [
+ "action"
+ ],
+ "notActions": [
+
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "roleDefinitionId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/PutRoleDefinition.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/PutRoleDefinition.json
similarity index 100%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/PutRoleDefinition.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2015-07-01/examples/PutRoleDefinition.json
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleBasedCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleBasedCalls.json
new file mode 100644
index 000000000000..007b8c3c32aa
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleBasedCalls.json
@@ -0,0 +1,1219 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AuthorizationManagementClient",
+ "version": "2018-01-01-preview",
+ "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role definitions and role assignments. A role definition describes the set of actions that can be performed on resources. A role assignment grants access to Azure Active Directory users."
+ },
+ "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.Authorization/providerOperations/{resourceProviderNamespace}": {
+ "get": {
+ "tags": [
+ "ProviderOperationsMetadata"
+ ],
+ "operationId": "ProviderOperationsMetadata_Get",
+ "description": "Gets provider operations metadata for the specified resource provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceProviderNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "default": "resourceTypes",
+ "description": "Specifies whether to expand the values."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the operations metadata.",
+ "schema": {
+ "$ref": "#/definitions/ProviderOperationsMetadata"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetProviderOperationsRP.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/providerOperations": {
+ "get": {
+ "tags": [
+ "ProviderOperationsMetadata"
+ ],
+ "operationId": "ProviderOperationsMetadata_List",
+ "description": "Gets provider operations metadata for all resource providers.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "default": "resourceTypes",
+ "description": "Specifies whether to expand the values."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of the operations metadata.",
+ "schema": {
+ "$ref": "#/definitions/ProviderOperationsMetadataListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetAllProviderOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions": {
+ "get": {
+ "tags": [
+ "Permissions"
+ ],
+ "operationId": "Permissions_ListForResourceGroup",
+ "description": "Gets all permissions the caller has for a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of permissions.",
+ "schema": {
+ "$ref": "#/definitions/PermissionGetResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetPermissions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions": {
+ "get": {
+ "tags": [
+ "Permissions"
+ ],
+ "operationId": "Permissions_ListForResource",
+ "description": "Gets all permissions the caller has for a resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceProviderNamespaceParameter"
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type of the resource.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to get the permissions for."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of permissions.",
+ "schema": {
+ "$ref": "#/definitions/PermissionGetResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetResourcePermissions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResource",
+ "description": "Gets role assignments for a resource.",
+ "parameters": [{
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceProviderNamespaceParameter"
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type of the resource.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to get role assignments for."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentsForResource.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResourceGroup",
+ "description": "Gets role assignments for a resource group.",
+ "parameters": [{
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentsForResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}": {
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Delete",
+ "description": "Deletes a role assignment.",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignment to delete.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/DeleteRoleAssignmentByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Create",
+ "description": "Creates a role assignment.",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignment to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment to create. It can be any valid GUID."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentCreateParameters"
+ },
+ "description": "Parameters for the role assignment."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/PutRoleAssignment.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Get",
+ "description": "Get the specified role assignment.",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignment.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentByName.json"
+ }
+ }
+ }
+ },
+ "/{roleId}": {
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_DeleteById",
+ "description": "Deletes a role assignment.",
+ "parameters": [{
+ "name": "roleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role assignment to delete.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/DeleteRoleAssignmentById.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_CreateById",
+ "description": "Creates a role assignment by ID.",
+ "parameters": [{
+ "name": "roleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role assignment to create.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentCreateParameters"
+ },
+ "description": "Parameters for the role assignment."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created - Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/PutRoleAssignmentById.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_GetById",
+ "description": "Gets a role assignment by ID.",
+ "parameters": [{
+ "name": "roleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role assignment to get.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentById.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_List",
+ "description": "Gets all role assignments for the subscription.",
+ "parameters": [{
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetAllRoleAssignments.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForScope",
+ "description": "Gets role assignments for a scope.",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignments.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentByScope.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}": {
+ "delete": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_Delete",
+ "description": "Deletes a role definition.",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role definition.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role definition to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role definition.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/DeleteRoleDefinition.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_Get",
+ "description": "Get role definition by name (GUID).",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role definition.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role definition.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleDefinitionByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_CreateOrUpdate",
+ "description": "Creates or updates a role definition.",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role definition.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role definition."
+ },
+ {
+ "name": "roleDefinition",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ },
+ "description": "The values for the role definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OK - Returns information about the role definition.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/PutRoleDefinition.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleDefinitions": {
+ "get": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_List",
+ "description": "Get all role definitions that are applicable at scope and above.",
+ "parameters": [{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role definition.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as well."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role definitions.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinitionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleDefinitionFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleDefinitionAtScope.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths":{
+ "/{roleId}?disambiguation_dummy": {
+ "get": {
+ "tags": [
+ "RoleDefinitions"
+ ],
+ "operationId": "RoleDefinitions_GetById",
+ "description": "Gets a role definition by ID.",
+ "parameters": [{
+ "name": "roleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified role definition ID. Use the format, /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant level role definitions.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role definition.",
+ "schema": {
+ "$ref": "#/definitions/RoleDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleDefinitionById.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ProviderOperation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The operation name."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The operation display name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The operation description."
+ },
+ "origin": {
+ "type": "string",
+ "description": "The operation origin."
+ },
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The operation properties."
+ },
+ "isDataAction": {
+ "type": "boolean",
+ "description": "The dataAction flag to specify the operation type."
+ }
+ },
+ "description": "Operation"
+ },
+ "ResourceType": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The resource type name."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The resource type display name."
+ },
+ "operations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderOperation"
+ },
+ "description": "The resource type operations."
+ }
+ },
+ "description": "Resource Type"
+ },
+ "ProviderOperationsMetadata": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The provider id."
+ },
+ "name": {
+ "type": "string",
+ "description": "The provider name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The provider type."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The provider display name."
+ },
+ "resourceTypes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ },
+ "description": "The provider resource types"
+ },
+ "operations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderOperation"
+ },
+ "description": "The provider operations."
+ }
+ },
+ "description": "Provider Operations metadata"
+ },
+ "ProviderOperationsMetadataListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderOperationsMetadata"
+ },
+ "description": "The list of providers."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Provider operations metadata list"
+ },
+ "PermissionGetResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Permission"
+ },
+ "description": "An array of permissions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Permissions information."
+ },
+ "RoleDefinitionFilter": {
+ "properties": {
+ "roleName": {
+ "type": "string",
+ "description": "Returns role definition with the specific name."
+ }
+ },
+ "description": "Role Definitions filter"
+ },
+ "RoleDefinitionProperties": {
+ "properties": {
+ "roleName": {
+ "type": "string",
+ "description": "The role name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The role definition description."
+ },
+ "type": {
+ "type": "string",
+ "description": "The role type.",
+ "x-ms-client-name": "roleType"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Permission"
+ },
+ "description": "Role definition permissions."
+ },
+ "assignableScopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Role definition assignable scopes."
+ }
+ },
+ "description": "Role definition properties."
+ },
+ "RoleDefinition": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role definition ID."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role definition name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role definition type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleDefinitionProperties",
+ "description": "Role definition properties."
+ }
+ },
+ "description": "Role definition."
+ },
+ "RoleDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoleDefinition"
+ },
+ "description": "Role definition list."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Role definition list operation result."
+ },
+ "RoleAssignmentFilter": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Returns role assignment of the specific principal."
+ },
+ "canDelegate": {
+ "type": "boolean",
+ "description": "The Delegation flag for the roleassignment"
+ }
+ },
+ "description": "Role Assignments filter"
+ },
+ "RoleAssignmentPropertiesWithScope": {
+ "properties": {
+ "scope": {
+ "type": "string",
+ "description": "The role assignment scope."
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition ID."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The principal ID."
+ },
+ "canDelegate": {
+ "type": "boolean",
+ "description": "The Delegation flag for the roleassignment"
+ }
+ },
+ "description": "Role assignment properties with scope."
+ },
+ "RoleAssignment": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment ID."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentPropertiesWithScope",
+ "description": "Role assignment properties."
+ }
+ },
+ "description": "Role Assignments"
+ },
+ "RoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoleAssignment"
+ },
+ "description": "Role assignment list."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Role assignment list operation result."
+ },
+ "RoleAssignmentProperties": {
+ "properties": {
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition ID used in the role assignment."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The principal ID assigned to the role. This maps to the ID inside the Active Directory. It can point to a user, service principal, or security group."
+ },
+ "canDelegate": {
+ "type": "boolean",
+ "description": "The delgation flag used for creating a role assignment"
+ }
+ },
+ "description": "Role assignment properties."
+ },
+ "RoleAssignmentCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentProperties",
+ "description": "Role assignment properties."
+ }
+ },
+ "description": "Role assignment create parameters."
+ },
+ "Permission": {
+ "properties": {
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed actions."
+ },
+ "notActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Denied actions."
+ },
+ "dataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed Data actions."
+ },
+ "notDataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Denied Data actions."
+ }
+ },
+ "description": "Role definition permissions."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceProviderNamespaceParameter": {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleAssignmentById.json
new file mode 100644
index 000000000000..7433ca13c28d
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleAssignmentById.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleId": "roleAssignmentId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleAssignmentByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleAssignmentByName.json
new file mode 100644
index 000000000000..3a1fb741d45b
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleAssignmentByName.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleAssignmentName": "roleAssignmentName",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/DeleteRoleDefinition.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleDefinition.json
similarity index 80%
rename from specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/DeleteRoleDefinition.json
rename to specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleDefinition.json
index 8ac52fed0056..8ec65dbf2526 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/examples/DeleteRoleDefinition.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleDefinition.json
@@ -2,7 +2,7 @@
"parameters": {
"scope": "scope",
"roleDefinitionId": "roleDefinitionId",
- "api-version": "2017-04-19"
+ "api-version": "2018-01-01-preview"
},
"responses": {
"200": {
@@ -21,6 +21,12 @@
],
"notActions": [
+ ],
+ "dataActions": [
+ "dataAction"
+ ],
+ "notDataActions": [
+
]
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllProviderOperations.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllProviderOperations.json
new file mode 100644
index 000000000000..b8babe68088f
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllProviderOperations.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2017-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "id",
+ "name": "name",
+ "type": "type",
+ "displayName": "displayName",
+ "resourceTypes": [
+ {
+ "name": "name",
+ "displayName": "name",
+ "operations": [
+
+ ]
+ }
+ ],
+ "operations": [
+
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllRoleAssignments.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllRoleAssignments.json
new file mode 100644
index 000000000000..735d379511b5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllRoleAssignments.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetPermissions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetPermissions.json
new file mode 100644
index 000000000000..bfca93490cac
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetPermissions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceGroupName": "rgname",
+ "subscriptionId": "subID",
+ "api-version": "2015-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "actions": [
+
+ ],
+ "notActions": [
+
+ ],
+ "dataActions": [
+
+ ],
+ "notDataActions": [
+
+ ]
+ }
+ ],
+ "nextLink": "nextlink"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetProviderOperationsRP.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetProviderOperationsRP.json
new file mode 100644
index 000000000000..3517f906b4a7
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetProviderOperationsRP.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceProviderNamespace": "resourceProviderNamespace",
+ "api-version": "2017-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "id",
+ "name": "name",
+ "type": "type",
+ "displayName": "displayName",
+ "resourceTypes": [
+ {
+ "name": "name",
+ "displayName": "name",
+ "operations": [
+
+ ]
+ }
+ ],
+ "operations": [
+
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetResourcePermissions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetResourcePermissions.json
new file mode 100644
index 000000000000..6b736cf8e837
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetResourcePermissions.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgname",
+ "resourceProviderNamespace": "rpnamespace",
+ "parentResourcePath": "parentResourcePath",
+ "resourceType": "resourceType",
+ "resourceName": "resourceName",
+ "api-version": "2015-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "actions": [
+
+ ],
+ "notActions": [
+
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentById.json
new file mode 100644
index 000000000000..793886e6d9fd
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentById.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "roleId": "roleassignmentId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentByName.json
new file mode 100644
index 000000000000..c9762294b5ac
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentByName.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleAssignmentName": "roleAssignmentName",
+ "subscriptionId": "subId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentByScope.json
new file mode 100644
index 000000000000..9b19462acb1d
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentByScope.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentsForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentsForResource.json
new file mode 100644
index 000000000000..a3d6f0c24088
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentsForResource.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceGroupName": "rgname",
+ "resourceProviderNamespace": "resourceProviderNamespace",
+ "parentResourcePath": "parentResourcePath",
+ "resourceType": "resourceType",
+ "resourceName": "resourceName",
+ "subscriptionId": "subId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentsForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentsForResourceGroup.json
new file mode 100644
index 000000000000..ac8faea0d549
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleAssignmentsForResourceGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceGroupName": "rgname",
+ "subscriptionId": "subId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionAtScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionAtScope.json
new file mode 100644
index 000000000000..40bc07f6730b
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionAtScope.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleName": "Role name",
+ "type": "roletype",
+ "description": "Role description",
+ "assignableScopes": [
+ "/subscriptions/subId"
+ ],
+ "permissions": [
+ {
+ "actions": [
+ "action"
+ ],
+ "notActions": [
+
+ ],
+ "dataActions": [
+ "dataAction"
+ ],
+ "notDataActions": [
+
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "roleDefinitionId"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionById.json
new file mode 100644
index 000000000000..e22697ad8780
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionById.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "roleId": "roleDefinitionId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleName": "Role name",
+ "type": "roletype",
+ "description": "Role description",
+ "assignableScopes": [
+ "/subscriptions/subId"
+ ],
+ "permissions": [
+ {
+ "actions": [
+ "action"
+ ],
+ "notActions": [
+
+ ],
+ "dataActions": [
+ "dataAction"
+ ],
+ "notDataActions": [
+
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "roleDefinitionId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionByName.json
new file mode 100644
index 000000000000..8ec65dbf2526
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionByName.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleDefinitionId": "roleDefinitionId",
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleName": "Role name",
+ "type": "roletype",
+ "description": "Role description",
+ "assignableScopes": [
+ "/subscriptions/subId"
+ ],
+ "permissions": [
+ {
+ "actions": [
+ "action"
+ ],
+ "notActions": [
+
+ ],
+ "dataActions": [
+ "dataAction"
+ ],
+ "notDataActions": [
+
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "roleDefinitionId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleAssignment.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleAssignment.json
new file mode 100644
index 000000000000..ce3c127d155d
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleAssignment.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleAssignmentName": "roleAssignmentName",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772",
+ "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214",
+ "canDelegate":false
+ }
+ },
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleAssignmentById.json
new file mode 100644
index 000000000000..180a63d39d91
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleAssignmentById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleId": "roleAssignmentId",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772",
+ "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214",
+ "canDelegate":false
+ }
+ },
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate":false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleDefinition.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleDefinition.json
new file mode 100644
index 000000000000..5e97fe21d2d5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleDefinition.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleDefinitionId": "roleDefinitionId",
+ "roleDefinition": {
+
+ },
+ "body": {
+ "roleDefinition": {
+ "roleName": "Role name",
+ "description": "Role description",
+ "assignableScopes": [
+ "/subscriptions/subId"
+ ],
+ "permissions": [
+ {
+ "actions": [
+ "action"
+ ],
+ "notActions": [
+
+ ],
+ "dataActions": [
+ "dataAction"
+ ],
+ "notDataActions": [
+
+ ]
+ }
+ ],
+ "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "roleDefinitionId"
+ }
+ },
+ "api-version": "2018-01-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleName": "Role name",
+ "type": "roletype",
+ "description": "Role description",
+ "assignableScopes": [
+ "/subscriptions/subId"
+ ],
+ "permissions": [
+ {
+ "actions": [
+ "action"
+ ],
+ "notActions": [
+
+ ],
+ "dataActions": [
+ "dataAction"
+ ],
+ "notDataActions": [
+
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
+ "type": "Microsoft.Authorization/roleDefinitions",
+ "name": "roleDefinitionId"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md
index 91cac9bd06fe..13da6a2479b0 100644
--- a/specification/authorization/resource-manager/readme.md
+++ b/specification/authorization/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the Authorization API.
``` yaml
openapi-type: arm
-tag: package-2017-10-01-preview
+tag: package-2018-01-01-preview
```
## Suppression
@@ -54,15 +54,38 @@ These settings apply only when `--tag=package-2017-10-01-preview` is specified o
``` yaml $(tag) == 'package-2017-10-01-preview'
input-file:
-- Microsoft.Authorization/preview/2017-10-01-preview/authorization.json
+- Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
+- Microsoft.Authorization/preview/2015-07-01/authorization.json
- Microsoft.Authorization/preview/2017-10-01-preview/authorization-RACalls.json
```
+### Tag: package-2018-01-01-preview
+
+These settings apply only when `--tag=package-2018-01-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-01-01-preview'
+input-file:
+- Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
+- Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleBasedCalls.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -91,6 +114,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.authorization
package-name: azure-mgmt-authorization
+ package-version: 0.40.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
@@ -115,6 +139,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-07
+ - tag: package-2017-10-01-preview
+ - tag: package-2018-01-01-preview
+```
+
### Tag: package-2015-07 and go
These settings apply only when `--tag=package-2015-07 --go` is specified on he command line.
@@ -131,4 +164,28 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-01-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/authorization/mgmt/2018-01-01-preview/authorization
+```
+
+## 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.authorization
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-authorization
```
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/definitions.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/definitions.json
index 7d9961839d9c..9b388ed69b72 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/definitions.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/definitions.json
@@ -14,6 +14,24 @@
"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": {},
"definitions": {
"softwareUpdateConfigurationProperties": {
@@ -551,6 +569,364 @@
"$ref": "#/definitions/updateConfigurationMachineRunProperties"
}
}
+ },
+ "SourceControlCreateOrUpdateProperties": {
+ "properties": {
+ "repoUrl": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "Gets or sets the repo url of the source control."
+ },
+ "branch": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Gets or sets the repo branch of the source control. Include branch as empty string for VsoTfvc."
+ },
+ "folderPath": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Gets or sets the folder path of the source control. Path must be relative."
+ },
+ "autoSync": {
+ "type": "boolean",
+ "description": "Gets or sets auto async of the source control. Default is false."
+ },
+ "publishRunbook": {
+ "type": "boolean",
+ "description": "Gets or sets the auto publish of the source control. Default is true."
+ },
+ "sourceType": {
+ "type": "string",
+ "description": "The source type. Must be one of VsoGit, VsoTfvc, GitHub, case sensitive.",
+ "enum": [
+ "VsoGit",
+ "VsoTfvc",
+ "GitHub"
+ ],
+ "x-ms-enum": {
+ "name": "sourceType",
+ "modelAsString": true
+ }
+ },
+ "securityToken": {
+ "type": "string",
+ "maxLength": 1024,
+ "description": "Gets or sets the authorization token for the repo of the source control."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 512,
+ "description": "Gets or sets the user description of the source control."
+ }
+ },
+ "description": "The properties of the create source control operation."
+ },
+ "SourceControlCreateOrUpdateParameters": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SourceControlCreateOrUpdateProperties",
+ "x-ms-client-flatten": true,
+ "description": "Gets or sets the properties of the source control."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The parameters supplied to the create or update source control operation."
+ },
+ "SourceControlProperties": {
+ "properties": {
+ "repoUrl": {
+ "type": "string",
+ "description": "Gets or sets the repo url of the source control."
+ },
+ "branch": {
+ "type": "string",
+ "description": "Gets or sets the repo branch of the source control. Include branch as empty string for VsoTfvc."
+ },
+ "folderPath": {
+ "type": "string",
+ "description": "Gets or sets the folder path of the source control."
+ },
+ "autoSync": {
+ "type": "boolean",
+ "description": "Gets or sets auto async of the source control. Default is false."
+ },
+ "publishRunbook": {
+ "type": "boolean",
+ "description": "Gets or sets the auto publish of the source control. Default is true."
+ },
+ "sourceType": {
+ "type": "string",
+ "description": "The source type. Must be one of VsoGit, VsoTfvc, GitHub.",
+ "enum": [
+ "VsoGit",
+ "VsoTfvc",
+ "GitHub"
+ ],
+ "x-ms-enum": {
+ "name": "sourceType",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Gets or sets the description."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets or sets the creation time."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets or sets the last modified time."
+ }
+ },
+ "description": "Definition of the source control properties"
+ },
+ "SourceControl": {
+ "x-ms-azure-resource": true,
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/SourceControlProperties",
+ "x-ms-client-flatten": true,
+ "description": "Gets or sets the properties of the source control."
+ }
+ },
+ "description": "Definition of the source control."
+ },
+ "SourceControlListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceControl"
+ },
+ "description": "Gets or sets a list of souce controls."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets or sets the next link."
+ }
+ },
+ "description": "The response model for the list source controls operation."
+ },
+ "SourceControlUpdateProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "Gets or sets the repo branch of the source control."
+ },
+ "folderPath": {
+ "type": "string",
+ "description": "Gets or sets the folder path of the source control. Path must be relative."
+ },
+ "autoSync": {
+ "type": "boolean",
+ "description": "Gets or sets auto async of the source control. Default is false."
+ },
+ "publishRunbook": {
+ "type": "boolean",
+ "description": "Gets or sets the auto publish of the source control. Default is true."
+ },
+ "securityToken": {
+ "type": "string",
+ "description": "Gets or sets the authorization token for the repo of the source control."
+ },
+ "description": {
+ "type": "string",
+ "description": "Gets or sets the user description of the source control."
+ }
+ },
+ "description": "The properties of the update source control"
+ },
+ "SourceControlUpdateParameters": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SourceControlUpdateProperties",
+ "x-ms-client-flatten": true,
+ "description": "Gets or sets the value of the source control."
+ }
+ },
+ "description": "The parameters supplied to the update source control operation."
+ },
+ "SourceControlSyncJob": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource id."
+ },
+ "properties": {
+ "$ref": "#/definitions/SourceControlSyncJobProperties",
+ "x-ms-client-flatten": true,
+ "description": "Gets the properties of the source control sync job."
+ }
+ },
+ "description": "Definition of the source control sync job."
+ },
+ "SourceControlSyncJobProperties": {
+ "properties": {
+ "sourceControlSyncJobId": {
+ "type": "string",
+ "description": "Gets the source control sync job id."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the creation time of the job."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the job.",
+ "enum": [
+ "Completed",
+ "Failed",
+ "Running"
+ ],
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the start time of the job."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the end time of the job."
+ },
+ "startedBy": {
+ "type": "string",
+ "description": "Gets the user who started the sync job."
+ }
+ },
+ "description": "Definition of source control sync job properties."
+ },
+ "SourceControlSyncJobListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceControlSyncJob"
+ },
+ "description": "Gets a list of source control sync jobs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Gets or sets the next link."
+ }
+ },
+ "description": "The response model for the list source control sync jobs operation."
+ },
+ "SourceControlSyncJobById": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Gets the id of the job."
+ },
+ "properties": {
+ "$ref": "#/definitions/SourceControlSyncJobByIdProperties",
+ "x-ms-client-flatten": true,
+ "description": "Gets the properties of the source control sync job."
+ }
+ },
+ "description": "Definition of the source control sync job."
+ },
+ "SourceControlSyncJobByIdProperties": {
+ "properties": {
+ "sourceControlSyncJobId": {
+ "type": "string",
+ "description": "Gets the source control sync job id."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the creation time of the job."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the job.",
+ "enum": [
+ "Completed",
+ "Failed",
+ "Running"
+ ],
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the start time of the job."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Gets the end time of the job."
+ },
+ "startedBy": {
+ "type": "string",
+ "description": "Gets the user who started the sync job."
+ },
+ "errors": {
+ "description": "Error details of the source control sync job.",
+ "$ref": "#/definitions/SourceControlSyncJobByIdErrors"
+ }
+ },
+ "description": "Definition of source control sync job properties."
+ },
+ "SourceControlSyncJobByIdErrors": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Gets the error code for the job."
+ },
+ "message": {
+ "type": "string",
+ "description": "Gets the error message for the job."
+ }
+ },
+ "description": "Error details of the source control sync job."
}
},
"parameters": {
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/createOrUpdateSourceControl.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/createOrUpdateSourceControl.json
new file mode 100644
index 000000000000..7add0ac35022
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/createOrUpdateSourceControl.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "sampleAccount9",
+ "sourceControlName": "sampleSourceControl",
+ "api-version": "2017-05-15-preview",
+ "parameters": {
+ "properties": {
+ "repoUrl": "https://sampleUser.visualstudio.com/myProject/_git/myRepository",
+ "branch": "master",
+ "folderPath": "/folderOne/folderTwo",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "VsoGit",
+ "securityToken": "3a326f7a0dcd343ea58fee21f2fd5fb4c1234567",
+ "description": "my description"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl",
+ "name": "sampleSourceControl",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://sampleUser.visualstudio.com/myProject/_git/myRepository",
+ "branch": "master",
+ "folderPath": "/folderOne/folderTwo",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "VsoGit",
+ "description": "my description"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl",
+ "name": "sampleSourceControl",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://sampleUser.visualstudio.com/myProject/_git/myRepository",
+ "branch": "master",
+ "folderPath": "/folderOne/folderTwo",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "VsoGit",
+ "description": "my description"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/deleteSourceControl.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/deleteSourceControl.json
new file mode 100644
index 000000000000..33ea8ee0708a
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/deleteSourceControl.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "sampleAccount9",
+ "sourceControlName": "sampleSourceControl",
+ "api-version": "2017-05-15-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/getAllSourceControls.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/getAllSourceControls.json
new file mode 100644
index 000000000000..cf514fde485c
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/getAllSourceControls.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "sampleAccount9",
+ "api-version": "2017-05-15-preview"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl1",
+ "name": "sampleSourceControl1",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://github.com/SampleUserRepro/PowerShell-1",
+ "branch": "master",
+ "path": "/sampleFolder/sampleFolder2",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "GitHub",
+ "description": "my description"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl2",
+ "name": "sampleSourceControl2",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://github.com/SampleUserRepro/PowerShell-2",
+ "branch": "master",
+ "path": "/sampleFolder/sampleFolder2",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "GitHub",
+ "description": "my description"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl3",
+ "name": "sampleSourceControl3",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://github.com/SampleUserRepro/PowerShell-3",
+ "branch": "master",
+ "path": "/sampleFolder/sampleFolder2",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "GitHub",
+ "description": "my description"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl4",
+ "name": "sampleSourceControl4",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://github.com/SampleUserRepro/PowerShell-4",
+ "branch": "master",
+ "path": "/sampleFolder/sampleFolder2",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "GitHub",
+ "description": "my description"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl5",
+ "name": "sampleSourceControl5",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://github.com/SampleUserRepro/PowerShell-5",
+ "branch": "master",
+ "path": "/sampleFolder/sampleFolder2",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "GitHub",
+ "description": "my description"
+ }
+ }
+ ]
+ }
+ }
+}
+
+
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/getSourceControl.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/getSourceControl.json
new file mode 100644
index 000000000000..15fb94bf8b58
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/getSourceControl.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "sampleAccount9",
+ "sourceControlName": "sampleSourceControl",
+ "api-version": "2017-05-15-preview"
+ },
+ "responses": {
+ "200": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl",
+ "name": "sampleSourceControl",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://github.com/SampleUserRepro/PowerShell",
+ "branch": "master",
+ "path": "/folderOne/folderTwo",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "GitHub",
+ "description": "my description"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/updateSourceControl_patch.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/updateSourceControl_patch.json
new file mode 100644
index 000000000000..e0fe97eb1e02
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControl/updateSourceControl_patch.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "sampleAccount9",
+ "sourceControlName": "sampleSourceControl",
+ "api-version": "2017-05-15-preview",
+ "parameters": {
+ "properties": {
+ "branch": "master",
+ "folderPath": "/folderOne/folderTwo",
+ "autoSync": true,
+ "publishRunbook": true,
+ "securityToken": "3a326f7a0dcd343ea58fee21f2fd5fb4c1234567",
+ "description": "my description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/sampleAccount9/sourcecontrols/sampleSourceControl",
+ "name": "sampleSourceControl",
+ "properties": {
+ "creationTime": "2017-03-28T22:59:00.937+00:00",
+ "lastModifiedTime": "2017-03-28T22:59:00.937+00:00",
+ "repoUrl": "https://sampleUser.visualstudio.com/myProject/_git/myRepository",
+ "branch": "master",
+ "folderPath": "/folderOne/folderTwo",
+ "autoSync": true,
+ "publishRunbook": true,
+ "sourceType": "VsoGit",
+ "description": "my description"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/createSourceControlSyncJob.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/createSourceControlSyncJob.json
new file mode 100644
index 000000000000..0c0ac452ee8f
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/createSourceControlSyncJob.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "sourceControlName": "MySourceControl",
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a9a",
+ "api-version": "2017-05-15-preview"
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/sourceControls/MySourceControl/sourceControlSyncJobs/ce6fe3e3-9db3-4096-a6b4-82bfb4c10a9a",
+ "properties": {
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a9a",
+ "creationTime": "2017-03-28T23:14:26.903+00:00",
+ "provisioningState": "Running",
+ "startTime": null,
+ "endTime": null,
+ "startedBy": "User1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/getAllSourceControlSyncJobs.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/getAllSourceControlSyncJobs.json
new file mode 100644
index 000000000000..37e0e6238d82
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/getAllSourceControlSyncJobs.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "sourceControlName": "MySourceControl",
+ "api-version": "2017-05-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value" :[
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/sourceControls/MySourceControl/sourceControlSyncJobs/ce6fe3e3-9db3-4096-a6b4-82bfb4c10a1a",
+ "properties": {
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a1a",
+ "creationTime": "2017-03-28T23:14:26.903+00:00",
+ "provisioningState": "Running",
+ "startTime": null,
+ "endTime": null,
+ "startedBy": "User1"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/sourceControls/MySourceControl/sourceControlSyncJobs/ce6fe3e3-9db3-4096-a6b4-82bfb4c10a2a",
+ "properties": {
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a2a",
+ "creationTime": "2017-03-28T23:14:26.903+00:00",
+ "provisioningState": "Running",
+ "startTime": null,
+ "endTime": null,
+ "startedBy": "User1"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/sourceControls/MySourceControl/sourceControlSyncJobs/ce6fe3e3-9db3-4096-a6b4-82bfb4c10a3a",
+ "properties": {
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a3a",
+ "creationTime": "2017-03-28T23:14:26.903+00:00",
+ "provisioningState": "Running",
+ "startTime": null,
+ "endTime": null,
+ "startedBy": "User1"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/sourceControls/MySourceControl/sourceControlSyncJobs/ce6fe3e3-9db3-4096-a6b4-82bfb4c10a4a",
+ "properties": {
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a4a",
+ "creationTime": "2017-03-28T23:14:26.903+00:00",
+ "provisioningState": "Running",
+ "startTime": null,
+ "endTime": null,
+ "startedBy": "User1"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/sourceControls/MySourceControl/sourceControlSyncJobs/ce6fe3e3-9db3-4096-a6b4-82bfb4c10a5a",
+ "properties": {
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a5a",
+ "creationTime": "2017-03-28T23:14:26.903+00:00",
+ "provisioningState": "Running",
+ "startTime": null,
+ "endTime": null,
+ "startedBy": "User1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/getSourceControlSyncJob.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/getSourceControlSyncJob.json
new file mode 100644
index 000000000000..662fde605a26
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/sourceControlSyncJob/getSourceControlSyncJob.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "sourceControlName": "MySourceControl",
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a9a",
+ "api-version": "2017-05-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/sourceControls/MySourceControl/sourceControlSyncJobs/ce6fe3e3-9db3-4096-a6b4-82bfb4c10a9a",
+ "properties": {
+ "sourceControlSyncJobId": "ce6fe3e3-9db3-4096-a6b4-82bfb4c10a9a",
+ "creationTime": "2017-03-28T23:14:26.903+00:00",
+ "provisioningState": "Running",
+ "startTime": null,
+ "endTime": null,
+ "startedBy": "User1",
+ "errors": {
+ "code": null,
+ "message": null
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
index 6961504cf138..8670c08b6051 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
@@ -55,10 +55,10 @@
"operationId": "SoftwareUpdateConfigurations_Create",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./definitions.json#/parameters/automationAccountName"
@@ -71,7 +71,7 @@
"in": "path"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./definitions.json#/parameters/clientRequestId"
@@ -126,10 +126,10 @@
"operationId": "SoftwareUpdateConfigurations_GetByName",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./definitions.json#/parameters/automationAccountName"
@@ -142,7 +142,7 @@
"in": "path"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./definitions.json#/parameters/clientRequestId"
@@ -176,10 +176,10 @@
"operationId": "SoftwareUpdateConfigurations_Delete",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./definitions.json#/parameters/automationAccountName"
@@ -192,7 +192,7 @@
"in": "path"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./definitions.json#/parameters/clientRequestId"
@@ -231,16 +231,16 @@
"operationId": "SoftwareUpdateConfigurations_List",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./definitions.json#/parameters/automationAccountName"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./definitions.json#/parameters/clientRequestId"
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
index 91b268d0b4a1..eda4757bde78 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
@@ -55,10 +55,10 @@
"operationId": "SoftwareUpdateConfigurationMachineRuns_GetById",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./definitions.json#/parameters/automationAccountName"
@@ -72,7 +72,7 @@
"format": "uuid"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./definitions.json#/parameters/clientRequestId"
@@ -111,16 +111,16 @@
"operationId": "SoftwareUpdateConfigurationMachineRuns_List",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./definitions.json#/parameters/automationAccountName"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./definitions.json#/parameters/clientRequestId"
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
index 3d0472b8b2f3..85e5753cf5b0 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
@@ -55,10 +55,10 @@
"operationId": "SoftwareUpdateConfigurationRuns_GetById",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./definitions.json#/parameters/automationAccountName"
@@ -72,7 +72,7 @@
"format": "uuid"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./definitions.json#/parameters/clientRequestId"
@@ -111,16 +111,16 @@
"operationId": "SoftwareUpdateConfigurationRuns_List",
"parameters": [
{
- "$ref": "../2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "#/parameters/automationAccountName"
},
{
- "$ref": "../2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/clientRequestId"
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json
new file mode 100644
index 000000000000..0cfbdd61b77d
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json
@@ -0,0 +1,335 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AutomationManagement",
+ "version": "2017-05-15-preview"
+ },
+ "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.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}": {
+ "put": {
+ "tags": [
+ "SourceControl"
+ ],
+ "operationId": "SourceControl_CreateOrUpdate",
+ "description": "Create a source control.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontroloperations"
+ },
+ "x-ms-examples": {
+ "Create or update a source control": {
+ "$ref": "./examples/sourceControl/createOrUpdateSourceControl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The source control name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControlCreateOrUpdateParameters"
+ },
+ "description": "The parameters supplied to the create or update source control operation."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControl"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControl"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SourceControl"
+ ],
+ "operationId": "SourceControl_Update",
+ "description": "Update a source control.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontroloperations"
+ },
+ "x-ms-examples": {
+ "Update a source control": {
+ "$ref": "./examples/sourceControl/updateSourceControl_patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The source control name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControlUpdateParameters"
+ },
+ "description": "The parameters supplied to the update source control operation."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControl"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SourceControl"
+ ],
+ "operationId": "SourceControl_Delete",
+ "description": "Delete the source control.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontroloperations"
+ },
+ "x-ms-examples": {
+ "Delete a source control": {
+ "$ref": "./examples/sourceControl/deleteSourceControl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of source control."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SourceControl"
+ ],
+ "operationId": "SourceControl_Get",
+ "description": "Retrieve the source control identified by source control name.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontroloperations"
+ },
+ "x-ms-examples": {
+ "Get a source control": {
+ "$ref": "./examples/sourceControl/getSourceControl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of source control."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControl"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls": {
+ "get": {
+ "tags": [
+ "SourceControl"
+ ],
+ "operationId": "SourceControl_ListByAutomationAccount",
+ "description": "Retrieve a list of source controls.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontroloperations"
+ },
+ "x-ms-examples": {
+ "List sourceControls": {
+ "$ref": "./examples/sourceControl/getAllSourceControls.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControlListResult"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json
new file mode 100644
index 000000000000..eed258a7ecd1
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json
@@ -0,0 +1,229 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AutomationManagement",
+ "version": "2017-05-15-preview"
+ },
+ "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.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}": {
+ "put": {
+ "tags": [
+ "SourceControlSyncJob"
+ ],
+ "operationId": "SourceControlSyncJob_Create",
+ "description": "Creates the sync job for a source control.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontrolsyncjoboperations"
+ },
+ "x-ms-examples": {
+ "Create or update a source control sync job": {
+ "$ref": "./examples/sourceControlSyncJob/createSourceControlSyncJob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The source control name."
+ },
+ {
+ "name": "sourceControlSyncJobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "description": "The source control sync job id."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControlSyncJob"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SourceControlSyncJob"
+ ],
+ "operationId": "SourceControlSyncJob_Get",
+ "description": "Retrieve the source control sync job identified by job id.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontrolsyncjoboperations"
+ },
+ "x-ms-examples": {
+ "Get a source control sync job by job id": {
+ "$ref": "./examples/sourceControlSyncJob/getSourceControlSyncJob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The source control name."
+ },
+ {
+ "name": "sourceControlSyncJobId",
+ "in": "path",
+ "required": true,
+ "format": "uuid",
+ "type": "string",
+ "description": "The source control sync job id."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControlSyncJobById"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs": {
+ "get": {
+ "tags": [
+ "SourceControlSyncJob"
+ ],
+ "operationId": "SourceControlSyncJob_ListByAutomationAccount",
+ "description": "Retrieve a list of source control sync jobs.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/sourcecontrolsyncjoboperations"
+ },
+ "x-ms-examples": {
+ "Get a list of source control sync jobs": {
+ "$ref": "./examples/sourceControlSyncJob/getAllSourceControlSyncJobs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "sourceControlName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The source control name."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2015-10-31/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SourceControlSyncJobListResult"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2015-10-31/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/definitions.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/definitions.json
index eb27420f76f6..746bc5190c1d 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/definitions.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/definitions.json
@@ -264,10 +264,10 @@
"properties": {
"keyName": {
"type": "string",
- "description": "Gets or sets the agent registration key name - Primary or Secondary.",
+ "description": "Gets or sets the agent registration key name - primary or secondary.",
"enum": [
- "Primary",
- "Secondary"
+ "primary",
+ "secondary"
],
"x-ms-enum": {
"name": "AgentRegistrationKeyName",
@@ -370,9 +370,6 @@
"description": "Gets or sets the tags attached to the resource."
}
},
- "required": [
- "properties"
- ],
"description": "The parameters supplied to the update automation account operation."
},
"AutomationAccount": {
@@ -524,6 +521,7 @@
"description": "Properties of the certificate."
},
"Certificate": {
+ "x-ms-azure-resource": true,
"properties": {
"id": {
"type": "string",
@@ -535,6 +533,11 @@
"readOnly": true,
"description": "Gets the name of the certificate."
},
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
"properties": {
"$ref": "#/definitions/CertificateProperties",
"x-ms-client-flatten": true,
@@ -580,9 +583,6 @@
"description": "Gets or sets the properties of the certificate."
}
},
- "required": [
- "name"
- ],
"description": "The parameters supplied to the update certificate operation."
},
"ConnectionCreateOrUpdateProperties": {
@@ -660,6 +660,7 @@
"description": "Definition of the connection properties."
},
"Connection": {
+ "x-ms-azure-resource": true,
"properties": {
"id": {
"type": "string",
@@ -671,6 +672,11 @@
"readOnly": true,
"description": "Gets the name of the connection."
},
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
"properties": {
"$ref": "#/definitions/ConnectionProperties",
"x-ms-client-flatten": true,
@@ -723,9 +729,6 @@
"description": "Gets or sets the properties of the connection."
}
},
- "required": [
- "properties"
- ],
"description": "The parameters supplied to the update connection operation."
},
"ConnectionTypeAssociationProperty": {
@@ -818,6 +821,11 @@
"readOnly": true,
"description": "Gets the name of the connection type."
},
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
"properties": {
"$ref": "#/definitions/ConnectionTypeProperties",
"x-ms-client-flatten": true,
@@ -908,6 +916,7 @@
"description": "Definition of the credential properties"
},
"Credential": {
+ "x-ms-azure-resource": true,
"properties": {
"id": {
"type": "string",
@@ -916,8 +925,14 @@
},
"name": {
"type": "string",
+ "readOnly": true,
"description": "Gets the name of the credential."
},
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
"properties": {
"$ref": "#/definitions/CredentialProperties",
"x-ms-client-flatten": true,
@@ -971,9 +986,6 @@
"description": "Gets or sets the properties of the variable."
}
},
- "required": [
- "name"
- ],
"description": "The parameters supplied to the Update credential operation."
},
"ContentHash": {
@@ -1113,6 +1125,14 @@
"readOnly": true,
"description": "Gets the creation time of the job."
},
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningStateProperty",
+ "description": "The current provisioning state of the job."
+ },
+ "runOn": {
+ "type": "string",
+ "description": "Gets or sets the runOn which specifies the group name where the job is to be executed."
+ },
"status": {
"type": "string",
"description": "Gets or sets the status of the job.",
@@ -1181,17 +1201,17 @@
},
"DscCompilationJob": {
"properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "Gets the id of the resource."
- },
"properties": {
"$ref": "#/definitions/DscCompilationJobProperties",
"x-ms-client-flatten": true,
"description": "Gets or sets the properties of the Dsc Compilation job."
}
},
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
"description": "Definition of the Dsc Compilation job."
},
"DscCompilationJobListResult": {
@@ -1305,6 +1325,7 @@
"description": "Definition of the configuration property type."
},
"DscConfiguration": {
+ "type": "object",
"properties": {
"properties": {
"$ref": "#/definitions/DscConfigurationProperties",
@@ -1479,7 +1500,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "#/definitions/ProxyResource"
}
],
"description": "Definition of the dsc node type."
@@ -1512,10 +1533,6 @@
},
"DscNodeConfiguration": {
"properties": {
- "name": {
- "type": "string",
- "description": "Gets or sets the node configuration name."
- },
"lastModifiedTime": {
"type": "string",
"format": "date-time",
@@ -1529,12 +1546,13 @@
"configuration": {
"$ref": "#/definitions/DscConfigurationAssociationProperty",
"description": "Gets or sets the configuration of the node."
- },
- "id": {
- "type": "string",
- "description": "Gets or sets the id of the resource."
}
},
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
"description": "Definition of the dsc node configuration."
},
"DscNodeConfigurationListResult": {
@@ -2060,7 +2078,18 @@
"properties": {
"id": {
"type": "string",
- "description": "Gets or sets the id of the resource."
+ "readOnly": true,
+ "description": "Gets the id of the resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the name of the variable."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
},
"properties": {
"$ref": "#/definitions/JobScheduleProperties",
@@ -2248,6 +2277,16 @@
"x-ms-client-flatten": true,
"description": "Definition of the job stream."
},
+ "LinkedWorkspace": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the id of the linked workspace."
+ }
+ },
+ "description": "Definition of the linked workspace."
+ },
"ModuleCreateOrUpdateProperties": {
"properties": {
"contentLink": {
@@ -2439,9 +2478,6 @@
"description": "Gets or sets the tags attached to the resource."
}
},
- "required": [
- "properties"
- ],
"description": "The parameters supplied to the update module operation."
},
"OperationListResult": {
@@ -2518,6 +2554,37 @@
"description": "The Resource definition.",
"x-ms-azure-resource": true
},
+ "ProxyResource": {
+ "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"
+ }
+ },
+ "description": "The Resource definition.",
+ "x-ms-azure-resource": true
+ },
+ "ProvisioningStateProperty": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "The provisioning state property."
+ },
"RunAsCredentialAssociationProperty": {
"properties": {
"name": {
@@ -3136,11 +3203,18 @@
"properties": {
"id": {
"type": "string",
- "description": "Gets or sets the id of the resource."
+ "readOnly": true,
+ "description": "Gets the id of the resource."
},
"name": {
"type": "string",
- "description": "Gets or sets the name of the schedule."
+ "readOnly": true,
+ "description": "Gets name of the schedule."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
},
"properties": {
"$ref": "#/definitions/ScheduleProperties",
@@ -3175,9 +3249,6 @@
"description": "Gets or sets the list of schedule properties."
}
},
- "required": [
- "name"
- ],
"description": "The parameters supplied to the update schedule operation."
},
"ScheduleListResult": {
@@ -3509,14 +3580,22 @@
"description": "Definition of the varible properties"
},
"Variable": {
+ "x-ms-azure-resource": true,
"properties": {
"id": {
"type": "string",
- "description": "Gets or sets the id of the resource."
+ "readOnly": true,
+ "description": "Gets the id of the resource."
},
"name": {
"type": "string",
- "description": "Gets or sets the name of the variable."
+ "readOnly": true,
+ "description": "Gets the name of the variable."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
},
"properties": {
"$ref": "#/definitions/VariableProperties",
@@ -3567,9 +3646,6 @@
"description": "Gets or sets the value of the variable."
}
},
- "required": [
- "name"
- ],
"description": "The parameters supplied to the update variable operation."
},
"WebhookCreateOrUpdateProperties": {
@@ -3680,11 +3756,18 @@
"properties": {
"id": {
"type": "string",
- "description": "Gets or sets the id of the resource."
+ "readOnly": true,
+ "description": "Gets the id of the resource."
},
"name": {
"type": "string",
- "description": "Gets or sets the name of the webhook."
+ "readOnly": true,
+ "description": "Gets the name of the webhook."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the type of the resource."
},
"properties": {
"$ref": "#/definitions/WebhookProperties",
@@ -3692,7 +3775,8 @@
"description": "Gets or sets the webhook properties."
}
},
- "description": "Definition of the webhook type."
+ "description": "Definition of the webhook type.",
+ "x-ms-azure-resource": true
},
"WebhookListResult": {
"properties": {
@@ -3746,9 +3830,6 @@
"description": "Gets or sets the value of the webhook."
}
},
- "required": [
- "name"
- ],
"description": "The parameters supplied to the update webhook operation."
}
},
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
index 7f943882fc0c..95d539b16ef8 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
@@ -107,6 +107,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/dsccompilationjoboperations"
},
+ "x-ms-examples": {
+ "Get a DSC Compilation job": {
+ "$ref": "./examples/getCompilationJob.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -159,6 +164,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/compilationjoboperations"
},
+ "x-ms-examples": {
+ "List DSC Compilation job in Automation Account": {
+ "$ref": "./examples/listCompilationJobsByAutomationAccount.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -203,6 +213,63 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/": {
+ "get": {
+ "tags": [
+ "DscCompilationJob"
+ ],
+ "operationId": "DscCompilationJobStream_ListByJob",
+ "description": "Retrieve all the job streams for the compilation Job.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/jobstreamoperations"
+ },
+ "x-ms-examples": {
+ "List DSC Compilation job streams": {
+ "$ref": "./examples/compilationJobStreamList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "description": "The job id."
+ },
+ {
+ "$ref": "./definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/JobStreamListResult"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}": {
"get": {
"tags": [
@@ -213,6 +280,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/jobstreamoperations"
},
+ "x-ms-examples": {
+ "Get a DSC Compilation job stream by job stream id": {
+ "$ref": "./examples/compilationJobStreamByJobStreamId.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
index 93ccb60d73dd..11043b7a0d59 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
@@ -9,10 +9,12 @@
"https"
],
"consumes": [
- "application/json"
+ "application/json",
+ "text/plain; charset=utf-8"
],
"produces": [
- "application/json"
+ "application/json",
+ "text/plain; charset=utf-8"
],
"security": [
{
@@ -256,7 +258,7 @@
"200": {
"description": "OK",
"schema": {
- "type": "file"
+ "type": "string"
}
},
"default": {
@@ -323,4 +325,4 @@
},
"definitions": {},
"parameters": {}
-}
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNode.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNode.json
index e37d025653f4..7775759ae975 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNode.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNode.json
@@ -43,6 +43,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/agentregistrationoperations"
},
+ "x-ms-examples": {
+ "Get Agent Registration Information": {
+ "$ref": "./examples/getAgentRegistrationInformation.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -87,6 +92,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/agentregistrationoperations"
},
+ "x-ms-examples": {
+ "Regenerate the Primary Agent Registration Key": {
+ "$ref": "./examples/regenerateAgentRegistrationKey.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -140,6 +150,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/dscnodeoperations"
},
+ "x-ms-examples": {
+ "Delete a DSC Node": {
+ "$ref": "./examples/deleteDscNode.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -537,7 +552,7 @@
"200": {
"description": "OK",
"schema": {
- "type": "file"
+ "type": "object"
}
},
"default": {
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json
index 236192630d21..e53f37e79e46 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json
@@ -148,6 +148,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/dscnodeconfigurations"
},
+ "x-ms-examples": {
+ "Get a DSC node configuration": {
+ "$ref": "./examples/createOrUpdateDscNodeConfiguration.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -189,12 +194,6 @@
"$ref": "./definitions.json#/definitions/DscNodeConfiguration"
}
},
- "201": {
- "description": "Created",
- "schema": {
- "$ref": "./definitions.json#/definitions/DscNodeConfiguration"
- }
- },
"default": {
"description": "Automation error response describing why the operation failed.",
"schema": {
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/compilationJobStreamByJobStreamId.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/compilationJobStreamByJobStreamId.json
new file mode 100644
index 000000000000..a9b636593296
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/compilationJobStreamByJobStreamId.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "api-version": "2015-10-31",
+ "jobId": "836d4e06-2d88-46b4-8500-7febd4906838",
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062421684835_00000000000000000008"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062421684835_00000000000000000008",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838:00636481062421684835:00000000000000000001",
+ "summary": "",
+ "time": "2017-12-05T21:30:42.1684835+00:00",
+ "streamType": "Output",
+ "streamText": "",
+ "value": {
+ "value": "",
+ "PSComputerName": "localhost",
+ "PSShowComputerName": true,
+ "PSSourceJobInstanceId": "836d4e06-2d88-46b4-8500-7febd4906838"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/compilationJobStreamList.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/compilationJobStreamList.json
new file mode 100644
index 000000000000..f60b807a8734
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/compilationJobStreamList.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "api-version": "2015-10-31",
+ "jobId": "836d4e06-2d88-46b4-8500-7febd4906838"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062355996678_00000000000000000001",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062355996678_00000000000000000001",
+ "summary": "836d4e06-2d88-46b4-8500-7febd4906838:[localhost]:The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported.",
+ "time": "2017-12-05T21:30:35.5996678+00:00",
+ "streamType": "Warning"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062380840740_00000000000000000002",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062380840740_00000000000000000002",
+ "summary": "836d4e06-2d88-46b4-8500-7febd4906838:[localhost]:The configuration 'NewDscConfiguration' is loading one or more built-in resources without explicitly importing associated modules. Add Import-DscResource –ModuleName 'PSDesiredStateConfiguration' to your configuration to avoid this message.",
+ "time": "2017-12-05T21:30:38.084074+00:00",
+ "streamType": "Warning"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062384590127_00000000000000000003",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062384590127_00000000000000000003",
+ "summary": "836d4e06-2d88-46b4-8500-7febd4906838:[localhost]:The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported.",
+ "time": "2017-12-05T21:30:38.4590127+00:00",
+ "streamType": "Warning"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062387245395_00000000000000000004",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062387245395_00000000000000000004",
+ "summary": "836d4e06-2d88-46b4-8500-7febd4906838:[localhost]:The configuration 'NewDscConfiguration' is loading one or more built-in resources without explicitly importing associated modules. Add Import-DscResource –ModuleName 'PSDesiredStateConfiguration' to your configuration to avoid this message.",
+ "time": "2017-12-05T21:30:38.7245395+00:00",
+ "streamType": "Warning"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062417091181_00000000000000000005",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062417091181_00000000000000000005",
+ "summary": "",
+ "time": "2017-12-05T21:30:41.7091181+00:00",
+ "streamType": "Output"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062418809632_00000000000000000006",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062418809632_00000000000000000006",
+ "summary": "",
+ "time": "2017-12-05T21:30:41.8809632+00:00",
+ "streamType": "Output"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062420371712_00000000000000000007",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062420371712_00000000000000000007",
+ "summary": "",
+ "time": "2017-12-05T21:30:42.0371712+00:00",
+ "streamType": "Output"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/836d4e06-2d88-46b4-8500-7febd4906838/streams/836d4e06-2d88-46b4-8500-7febd4906838_00636481062421684835_00000000000000000008",
+ "properties": {
+ "jobStreamId": "836d4e06-2d88-46b4-8500-7febd4906838_00636481062421684835_00000000000000000008",
+ "summary": "",
+ "time": "2017-12-05T21:30:42.1684835+00:00",
+ "streamType": "Output"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscConfiguration.json
index 79c0df58869e..f9dbe2c17c4e 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscConfiguration.json
@@ -36,7 +36,6 @@
"jobCount": 0,
"parameters": {},
"description": "sample configuration",
- "source": null,
"state": null,
"creationTime": "0001-01-01T00:00:00+00:00",
"lastModifiedTime": "0001-01-01T00:00:00+00:00",
@@ -58,7 +57,6 @@
"jobCount": 0,
"parameters": {},
"description": "sample configuration",
- "source": null,
"state": "Published",
"creationTime": "2017-03-28T23:14:23.56+00:00",
"lastModifiedTime": "2017-03-28T23:14:23.56+00:00",
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscNodeConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscNodeConfiguration.json
index cb3d4eb17cb7..f44418b4ec69 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscNodeConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateDscNodeConfiguration.json
@@ -1,39 +1,40 @@
{
- "parameters": {
- "subscriptionId": "subid",
- "resourceGroupName": "rg",
- "automationAccountName": "myAutomationAccount20",
- "credentialName": "myCredential",
- "api-version": "2015-10-31",
- "parameters":{
- "source": {
- "hash": {
- "algorithm": "sha256",
- "value": "6DE256A57F01BFA29B88696D5E77A383D6E61484C7686E8DB955FA10ACE9FFE5"
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount20",
+ "credentialName": "myCredential",
+ "api-version": "2015-10-31",
+ "nodeConfigurationName": "configName.nodeConfigName",
+ "parameters": {
+ "source": {
+ "hash": {
+ "algorithm": "sha256",
+ "value": "6DE256A57F01BFA29B88696D5E77A383D6E61484C7686E8DB955FA10ACE9FFE5"
+ },
+ "type": "embeddedContent",
+ "value": "\r\ninstance of MSFT_RoleResource as $MSFT_RoleResource1ref\r\n{\r\nResourceID = \"[WindowsFeature]IIS\";\r\n Ensure = \"Present\";\r\n SourceInfo = \"::3::32::WindowsFeature\";\r\n Name = \"Web-Server\";\r\n ModuleName = \"PsDesiredStateConfiguration\";\r\n\r\nModuleVersion = \"1.0\";\r\r\n ConfigurationName = \"configName\";\r\r\n};\r\ninstance of OMI_ConfigurationDocument\r\n\r\r\n {\r\n Version=\"2.0.0\";\r\n \r\r\n MinimumCompatibleVersion = \"1.0.0\";\r\n \r\r\n CompatibleVersionAdditionalProperties= {\"Omi_BaseResource:ConfigurationName\"};\r\n \r\r\n Author=\"weijiel\";\r\n \r\r\n GenerationDate=\"03/30/2017 13:40:25\";\r\n \r\r\n GenerationHost=\"TEST-BACKEND\";\r\n \r\r\n Name=\"configName\";\r\n\r\r\n };\r\n",
+ "version": "1.0"
},
- "type": "embeddedContent",
- "value": "\r\ninstance of MSFT_RoleResource as $MSFT_RoleResource1ref\r\n{\r\nResourceID = \"[WindowsFeature]IIS\";\r\n Ensure = \"Present\";\r\n SourceInfo = \"::3::32::WindowsFeature\";\r\n Name = \"Web-Server\";\r\n ModuleName = \"PsDesiredStateConfiguration\";\r\n\r\nModuleVersion = \"1.0\";\r\r\n ConfigurationName = \"configName\";\r\r\n};\r\ninstance of OMI_ConfigurationDocument\r\n\r\r\n {\r\n Version=\"2.0.0\";\r\n \r\r\n MinimumCompatibleVersion = \"1.0.0\";\r\n \r\r\n CompatibleVersionAdditionalProperties= {\"Omi_BaseResource:ConfigurationName\"};\r\n \r\r\n Author=\"weijiel\";\r\n \r\r\n GenerationDate=\"03/30/2017 13:40:25\";\r\n \r\r\n GenerationHost=\"WEIJIEL-BACKEND\";\r\n \r\r\n Name=\"configName\";\r\n\r\r\n };\r\n",
- "version": "1.0"
- },
- "newNodeConfigurationBuildVersionRequired": true,
- "name": "nodeConfigName",
- "configuration": {
- "name": "configName"
- }
- }
- },
- "responses": {
- "200": {
- "headers":{},
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount20/nodeConfigurations/nodeConfigName",
+ "newNodeConfigurationBuildVersionRequired": true,
+ "name": "configName.nodeConfigName",
"configuration": {
"name": "configName"
- },
- "creationTime": "2017-06-16T01:18:39.010771+00:00",
- "lastModifiedTime": "2017-06-16T01:18:39.010771+00:00",
- "name": "nodeConfigName"
}
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount20/nodeConfigurations/nodeConfigName",
+ "configuration": {
+ "name": "configName"
+ },
+ "creationTime": "2017-06-16T01:18:39.010771+00:00",
+ "lastModifiedTime": "2017-06-16T01:18:39.010771+00:00",
+ "name": "nodeConfigName"
+ }
+ }
}
- }
}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateWebhook.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateWebhook.json
index f7ad4ac6a634..6838dbb0697e 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateWebhook.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/createOrUpdateWebhook.json
@@ -23,6 +23,7 @@
"body": {
"id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/webhooks/TestWebhook",
"name": "TestWebhook",
+ "type": "Microsoft.Automation/AutomationAccounts/Webhooks",
"properties": {
"isEnabled": true,
"expiryTime": "2018-03-29T22:18:13.7002872+00:00",
@@ -44,6 +45,7 @@
"body": {
"id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/webhooks/TestWebhook",
"name": "TestWebhook",
+ "type": "Microsoft.Automation/AutomationAccounts/Webhooks",
"properties": {
"isEnabled": true,
"expiryTime": "2018-03-29T22:18:13.7002872+00:00",
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/deleteDscNode.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/deleteDscNode.json
new file mode 100644
index 000000000000..a6ac74b7d326
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/deleteDscNode.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount9",
+ "api-version": "2015-10-31",
+ "nodeId": "e1243a76-a9bd-432f-bde3-ad8f317ee786"
+ },
+ "responses": {
+ "200": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/deleteDscNodeConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/deleteDscNodeConfiguration.json
index fce2d60f8941..48c7039e7037 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/deleteDscNodeConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/deleteDscNodeConfiguration.json
@@ -4,7 +4,8 @@
"resourceGroupName": "rg",
"automationAccountName": "myAutomationAccount20",
"credentialName": "myCredential",
- "api-version": "2015-10-31"
+ "api-version": "2015-10-31",
+ "nodeConfigurationName": "configName.nodeConfigName"
},
"responses": {
"200": {}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getAgentRegistrationInformation.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getAgentRegistrationInformation.json
new file mode 100644
index 000000000000..da8d41c73664
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getAgentRegistrationInformation.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "api-version": "2015-10-31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/agentRegistrationInformation/https://wcus-agentservice-prod-1.azure-automation.net/accounts/ea8cd428-7887-4020-883d-ec6c5f2c06c2",
+ "keys": {
+ "primary": "MDt********************************************************wEMg==",
+ "secondary": "UM4A********************************************************66pg=="
+ },
+ "endpoint": "https://wcus-agentservice-prod-1.azure-automation.net/accounts/ea8cd428-7887-4020-883d-ec6c5f2c06c2",
+ "dscMetaConfiguration": "\r\n\tinstance of MSFT_WebDownloadManager as $MSFT_WebDownloadManager1ref\r\n\t{\r\n\tResourceID = \"[ConfigurationRepositoryWeb]AzureAutomationDSC\";\r\n\t SourceInfo = \"C:\\\\OaaS-RegistrationMetaConfig2.ps1::20::9::ConfigurationRepositoryWeb\";\r\n\t RegistrationKey = \"MDt********************************************************wEMg==\"; \r\n\t ServerURL = \"https://wcus-agentservice-prod-1.azure-automation.net/accounts/ea8cd428-7887-4020-883d-ec6c5f2c06c2\";\r\n\t};\r\n\r\n\tinstance of MSFT_WebResourceManager as $MSFT_WebResourceManager1ref\r\n\t{\r\n\t SourceInfo = \"C:\\\\OaaS-RegistrationMetaConfig2.ps1::27::9::ResourceRepositoryWeb\";\r\n\t ServerURL = \"https://wcus-agentservice-prod-1.azure-automation.net/accounts/ea8cd428-7887-4020-883d-ec6c5f2c06c2\";\r\n\t ResourceID = \"[ResourceRepositoryWeb]AzureAutomationDSC\";\r\n\t RegistrationKey = \"MDt********************************************************wEMg==\"; \r\n\t};\r\n\r\n\tinstance of MSFT_WebReportManager as $MSFT_WebReportManager1ref\r\n\t{\r\n\t SourceInfo = \"C:\\\\OaaS-RegistrationMetaConfig2.ps1::34::9::ReportServerWeb\";\r\n\t ServerURL = \"https://wcus-agentservice-prod-1.azure-automation.net/accounts/ea8cd428-7887-4020-883d-ec6c5f2c06c2\";\r\n\t ResourceID = \"[ReportServerWeb]AzureAutomationDSC\";\r\n\t RegistrationKey = \"MDt********************************************************wEMg==\"; \r\n\t};\r\n\r\n\tinstance of MSFT_DSCMetaConfiguration as $MSFT_DSCMetaConfiguration1ref\r\n\t{\r\n\t RefreshMode = \"Pull\";\r\n\t AllowModuleOverwrite = False;\r\n\t ActionAfterReboot = \"ContinueConfiguration\";\r\n\t RefreshFrequencyMins = 30;\r\n\t RebootNodeIfNeeded = False;\r\n\t ConfigurationModeFrequencyMins = 15;\r\n\t ConfigurationMode = \"ApplyAndMonitor\";\r\n\r\n\t ResourceModuleManagers = {\r\n\t $MSFT_WebResourceManager1ref \r\n\t};\r\n\t ReportManagers = {\r\n\t $MSFT_WebReportManager1ref \r\n\t };\r\n\t ConfigurationDownloadManagers = {\r\n\t $MSFT_WebDownloadManager1ref \r\n\t };\r\n\t};\r\n\r\n\tinstance of OMI_ConfigurationDocument\r\n\t{\r\n\t Version=\"2.0.0\";\r\n\t MinimumCompatibleVersion = \"2.0.0\";\r\n\t CompatibleVersionAdditionalProperties= { \"MSFT_DSCMetaConfiguration:StatusRetentionTimeInDays\" };\r\n\t Author=\"azureautomation\";\r\n\t GenerationDate=\"04/17/2015 11:41:09\";\r\n\t GenerationHost=\"azureautomation-01\";\r\n\t Name=\"RegistrationMetaConfig\";\r\n\t};\r\n\t"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getDscConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getDscConfiguration.json
index 234116ab5c6d..1dced19804d6 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getDscConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getDscConfiguration.json
@@ -21,7 +21,6 @@
"jobCount": 0,
"parameters": {},
"description": "sample configuration",
- "source": null,
"state": "Published",
"creationTime": "2017-03-28T23:14:23.56+00:00",
"lastModifiedTime": "2017-03-28T23:14:23.56+00:00",
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getLinkedWorkspace.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getLinkedWorkspace.json
new file mode 100644
index 000000000000..c0ea9bf6b662
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/getLinkedWorkspace.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "ContosoAutomationAccount",
+ "api-version": "2015-10-31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.OperationalInsights/workspaces/ContosoWorkspace"
+ }
+ }
+ }
+}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listCompilationJobsByAutomationAccount.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listCompilationJobsByAutomationAccount.json
new file mode 100644
index 000000000000..f32fdc0bd568
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listCompilationJobsByAutomationAccount.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "api-version": "2015-10-31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/e6e7fbab-183c-405a-afe6-9eb5db97921a",
+ "properties": {
+ "jobId": "e6e7fbab-183c-405a-afe6-9eb5db97921a",
+ "configuration": {
+ "name": "TestDscConfiguration"
+ },
+ "status": "Suspended",
+ "creationTime": "2017-11-17T19:45:24.59+00:00",
+ "startTime": "2017-11-17T19:45:52.9833333+00:00",
+ "lastModifiedTime": "2017-11-17T19:45:58.5933333+00:00",
+ "endTime": null
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/myAutomationAccount33/compilationjobs/111d4e06-2d88-46b4-8500-7febd4906838",
+ "properties": {
+ "jobId": "111d4e06-2d88-46b4-8500-7febd4906838",
+ "configuration": {
+ "name": "NewDscConfiguration"
+ },
+ "status": "Completed",
+ "creationTime": "2017-12-05T21:29:07.74+00:00",
+ "startTime": "2017-12-05T21:30:26.48+00:00",
+ "lastModifiedTime": "2017-12-05T21:30:42.6+00:00",
+ "endTime": "2017-12-05T21:30:42.6+00:00"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listFieldsByModuleAndType.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listFieldsByModuleAndType.json
new file mode 100644
index 000000000000..0810ffe55774
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listFieldsByModuleAndType.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "MyAutomationAccount",
+ "moduleName": "MyModule",
+ "typeName": "MyCustomType",
+ "api-version": "2015-10-31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Name",
+ "type": "System.String"
+ },
+ {
+ "name": "Id",
+ "type": "System.Integer"
+ },
+ {
+ "name": "Details",
+ "type": "MyModule.AnotherCustomType"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listFieldsByType.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listFieldsByType.json
new file mode 100644
index 000000000000..f0b2e94dad51
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listFieldsByType.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "MyAutomationAccount",
+ "typeName": "MyCustomType",
+ "api-version": "2015-10-31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Name",
+ "type": "System.String"
+ },
+ {
+ "name": "Id",
+ "type": "System.Integer"
+ },
+ {
+ "name": "Details",
+ "type": "MyModule.AnotherCustomType"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/regenerateAgentRegistrationKey.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/regenerateAgentRegistrationKey.json
new file mode 100644
index 000000000000..b61163bb374e
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/regenerateAgentRegistrationKey.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "api-version": "2015-10-31",
+ "parameters": {
+ "keyName": "primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": null,
+ "keys": {
+ "primary": "DXW********************************************************ZqnQ==",
+ "secondary": "UM4A********************************************************66pg=="
+ },
+ "endpoint": "https://wcus-agentservice-prod-1.azure-automation.net/accounts/ea8cd428-7887-4020-883d-ec6c5f2c06c2",
+ "dscMetaConfiguration": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/updateModule.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/updateModule.json
new file mode 100644
index 000000000000..b46a459d1792
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/updateModule.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "MyAutomationAccount",
+ "moduleName": "MyModule",
+ "api-version": "2015-10-31",
+ "parameters": {
+ "properties": {
+ "contentLink": {
+ "uri": "https://teststorage.blob.core.windows.net/mycontainer/MyModule.zip",
+ "contentHash": {
+ "algorithm": "sha265",
+ "value": "07E108A962B81DD9C9BAA89BB47C0F6EE52B29E83758B07795E408D258B2B87A"
+ },
+ "version": "1.0.0.0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automation/automationAccounts/MyAutomationAccount/modules/MyModule",
+ "name": "MyModule",
+ "type": "Microsoft.Automation/AutomationAccounts/Modules",
+ "location": "East US 2",
+ "tags": {},
+ "etag": null,
+ "properties": {
+ "isGlobal": false,
+ "version": null,
+ "sizeInBytes": 0,
+ "activityCount": 0,
+ "creationTime": "2017-03-29T15:41:47.003+00:00",
+ "lastModifiedTime": "2017-03-29T15:42:10.567+00:00",
+ "error": {
+ "code": null,
+ "message": null
+ },
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/webhookGenerateUri.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/webhookGenerateUri.json
new file mode 100644
index 000000000000..0d1eb5d8e802
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/webhookGenerateUri.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "automationAccountName": "myAutomationAccount33",
+ "api-version": "2015-10-31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "https://s13events.azure-automation.net/webhooks?token=O6n03K%2b1%2bSLPH50m4x9%2fcbcqtAu2tJDTvr8QHnbJ1kw%3d"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
new file mode 100644
index 000000000000..260606dca16c
--- /dev/null
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
@@ -0,0 +1,88 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AutomationManagement",
+ "version": "2015-10-31"
+ },
+ "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.Automation/automationAccounts/{automationAccountName}/linkedWorkspace": {
+ "get": {
+ "tags": [
+ "LinkedWorkspace"
+ ],
+ "operationId": "LinkedWorkspace_Get",
+ "description": "Retrieve the linked workspace for the account id.",
+ "externalDocs": {
+ "url": "http://aka.ms/azureautomationsdk/linkedworkspaceoperations"
+ },
+ "x-ms-examples": {
+ "Get the linked workspace of an automation account": {
+ "$ref": "./examples/getLinkedWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "automationAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The automation account name."
+ },
+ {
+ "$ref": "./definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LinkedWorkspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/module.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/module.json
index 68fa5e4cebb0..df94983f122a 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/module.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/module.json
@@ -339,6 +339,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/moduleoperations"
},
+ "x-ms-examples": {
+ "Update a module": {
+ "$ref": "./examples/updateModule.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -451,6 +456,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/objectdatatypeoperations"
},
+ "x-ms-examples": {
+ "Get a list of fields of a given type": {
+ "$ref": "./examples/listFieldsByModuleAndType.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -512,6 +522,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/objectdatatypeoperations"
},
+ "x-ms-examples": {
+ "Get a list of fields of a given type across all accessible modules": {
+ "$ref": "./examples/listFieldsByType.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
@@ -566,6 +581,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/typefieldoperations"
},
+ "x-ms-examples": {
+ "Get a list of fields of a given type": {
+ "$ref": "./examples/listFieldsByModuleAndType.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/webhook.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/webhook.json
index 0edbcdde196f..9c3c2fa3561b 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/webhook.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/webhook.json
@@ -43,6 +43,11 @@
"externalDocs": {
"url": "http://aka.ms/azureautomationsdk/webhookoperations"
},
+ "x-ms-examples": {
+ "Generate webhook uri": {
+ "$ref": "./examples/webhookGenerateUri.json"
+ }
+ },
"parameters": [
{
"$ref": "./definitions.json#/parameters/ResourceGroupNameParameter"
diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md
index 4a9a89e9da2a..a2dd62208c13 100644
--- a/specification/automation/resource-manager/readme.md
+++ b/specification/automation/resource-manager/readme.md
@@ -51,6 +51,7 @@ input-file:
- Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json
- Microsoft.Automation/stable/2015-10-31/job.json
- Microsoft.Automation/stable/2015-10-31/jobSchedule.json
+- Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
- Microsoft.Automation/stable/2015-10-31/module.json
- Microsoft.Automation/stable/2015-10-31/runbook.json
- Microsoft.Automation/stable/2015-10-31/schedule.json
@@ -78,6 +79,7 @@ input-file:
- Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json
- Microsoft.Automation/stable/2015-10-31/job.json
- Microsoft.Automation/stable/2015-10-31/jobSchedule.json
+- Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
- Microsoft.Automation/stable/2015-10-31/module.json
- Microsoft.Automation/stable/2015-10-31/runbook.json
- Microsoft.Automation/stable/2015-10-31/schedule.json
@@ -86,12 +88,26 @@ input-file:
- Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
- Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
- Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
+- Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json
+- Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -107,6 +123,35 @@ csharp:
```
+## 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.automation
+ package-name: azure-mgmt-automation
+ package-version: 0.2.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-automation/azure/mgmt/automation
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-automation
+```
+
+
## Go
These settings apply only when `--go` is specified on the command line.
@@ -118,6 +163,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-10
+ - tag: package-2017-05-preview
+```
+
### Tag: package-2015-10 and go
These settings apply only when `--tag=package-2015-10 --go` is specified on the command line.
@@ -135,3 +188,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.automation
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-automation
+```
diff --git a/specification/azsadmin/resource-manager/InfrastructureInsights/readme.md b/specification/azsadmin/resource-manager/InfrastructureInsights/readme.md
index 6f58f0ffba4c..fdf8fa6891ad 100644
--- a/specification/azsadmin/resource-manager/InfrastructureInsights/readme.md
+++ b/specification/azsadmin/resource-manager/InfrastructureInsights/readme.md
@@ -43,6 +43,17 @@ input-file:
---
# 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-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -77,3 +88,39 @@ These settings apply only when `--tag=package-2016-05-01 --python` is specified
``` yaml $(tag) == 'package-2016-05-01' && $(python)
namespace: azure.mgmt.infrastructure_insights.admin.v2016_05_01
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: infrastructureinsights
+```
+
+### Tag: package-2016-05-01 and go
+
+These settings apply only when `--tag=package-2016-05-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-05-01' && $(go)
+output-folder: $(go-sdk-folder)/services/azsadmin/mgmt/2016-05-01/infrastructureinsights
+```
+
+
+## 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.azsadmin.infrastructureinsights
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azsadmin/infrastructureinsights
+```
diff --git a/specification/azsadmin/resource-manager/commerce/readme.md b/specification/azsadmin/resource-manager/commerce/readme.md
index 0213c75f00a8..10c66f32b984 100644
--- a/specification/azsadmin/resource-manager/commerce/readme.md
+++ b/specification/azsadmin/resource-manager/commerce/readme.md
@@ -39,6 +39,18 @@ input-file:
---
# 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-go
+```
+
## C#
``` yaml $(csharp)
@@ -70,3 +82,39 @@ These settings apply only when `--tag=package-2015-06-01-preview --python` is sp
``` yaml $(tag) == 'package-2015-06-01-preview' && $(python)
namespace: azure.mgmt.commerce.admin.v2015_06_01_preview
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: commerce
+```
+
+### Tag: package-2015-06-01-preview and go
+
+These settings apply only when `--tag=package-2015-06-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2015-06-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/azsadmin/mgmt/2015-06-01-preview/commerce
+```
+
+
+## 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.azsadmin.commerce
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azsadmin/commerce
+```
diff --git a/specification/azsadmin/resource-manager/fabric/readme.md b/specification/azsadmin/resource-manager/fabric/readme.md
index 17392d584cf5..1f5a9bd45325 100644
--- a/specification/azsadmin/resource-manager/fabric/readme.md
+++ b/specification/azsadmin/resource-manager/fabric/readme.md
@@ -56,6 +56,17 @@ input-file:
---
# 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-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -90,3 +101,39 @@ These settings apply only when `--tag=package-2016-05-01 --python` is specified
``` yaml $(tag) == 'package-2016-05-01' && $(python)
namespace: azure.mgmt.fabric.admin.v2016_05_01
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: fabric
+```
+
+### Tag: package-2016-05-01 and go
+
+These settings apply only when `--tag=package-2016-05-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-05-01' && $(go)
+output-folder: $(go-sdk-folder)/services/azsadmin/mgmt/2016-05-01/fabric
+```
+
+
+## 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.azsadmin.fabric
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azsadmin/fabric
+```
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
new file mode 100644
index 000000000000..42da65874246
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
@@ -0,0 +1,220 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-06-01",
+ "title": "Azure Stack Azure Bridge Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.AzureStack/operations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operation/List.json"
+ }
+ },
+ "description": "Returns the list of supported REST operations.",
+ "tags": [
+ "AzureStack"
+ ],
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "Base resource object.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "description": "ID of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "readOnly": true,
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "readOnly": true,
+ "description": "Type of Resource.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location of the resource.",
+ "type": "string",
+ "enum": [
+ "global"
+ ],
+ "x-ms-enum": {
+ "name": "Location",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "description": "Custom tags for the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "etag": {
+ "description": "The entity tag used for optimistic concurency when modifying the resource.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "ProvisioningState": {
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Creating",
+ "Failed",
+ "Succeeded",
+ "Canceled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState"
+ }
+ },
+ "Operation": {
+ "description": "Describes the supported REST operation.",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object.",
+ "type": "string"
+ },
+ "display": {
+ "description": "Contains the localized display information for this particular operation or action.",
+ "$ref": "#/definitions/Display"
+ },
+ "origin" : {
+ "description" : "The intended executor of the operation.",
+ "type" : "string"
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation or action.",
+ "properties": {
+ "provider": {
+ "description": "The localized, friendly version of the resource provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The localized, friendly version of the resource type related to this action or operation; the resource type should match the public documentation for the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The localized, friendly name for the operation. Use the name as it will displayed to the user.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The localized, friendly description for the operation. The description will be displayed to the user. It should be thorough and concise for used in both tooltips and detailed views.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "List of Operations",
+ "properties": {
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page of operations.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string",
+ "default": "2017-06-01"
+ },
+ "ResourceGroupNameParameter": {
+ "description": "Name of the resource group.",
+ "name": "resourceGroup",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RegistrationNameParameter": {
+ "description": "Name of the Azure Stack registration.",
+ "name": "registrationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json
new file mode 100644
index 000000000000..2c2e5b21acf5
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json
@@ -0,0 +1,263 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-06-01",
+ "title": "AzureStack Azure Bridge Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of products.": {
+ "$ref": "examples/CustomerSubscription/List.json"
+ }
+ },
+ "tags": [
+ "CustomerSubscription"
+ ],
+ "description": "Returns a list of products.",
+ "operationId": "CustomerSubscriptions_List",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomerSubscriptionList"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the specified product.": {
+ "$ref": "examples/CustomerSubscription/Get.json"
+ }
+ },
+ "tags": [
+ "CustomerSubscription"
+ ],
+ "description": "Returns the specified product.",
+ "operationId": "CustomerSubscriptions_Get",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomerSubscriptionNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomerSubscription"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Deletes a customer subscription under a registration.": {
+ "$ref": "examples/CustomerSubscription/Delete.json"
+ }
+ },
+ "tags": [
+ "CustomerSubscription"
+ ],
+ "description": "Deletes a customer subscription under a registration.",
+ "operationId": "CustomerSubscriptions_Delete",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomerSubscriptionNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NO CONTENT"
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates a new customer subscription under a registration.": {
+ "$ref": "examples/CustomerSubscription/Put.json"
+ }
+ },
+ "tags": [
+ "CustomerSubscription"
+ ],
+ "description": "Creates a new customer subscription under a registration.",
+ "operationId": "CustomerSubscriptions_Create",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomerSubscriptionNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CustomerSubscriptionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CustomerSubscription"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CustomerSubscription": {
+ "description": "Customer subcription.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Customer subscription properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomerSubscriptionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "AzureStack.json#/definitions/Resource"
+ }
+ ]
+ },
+ "CustomerSubscriptionProperties": {
+ "description": "Customer subscription properties.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "Tenant Id.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomerSubscriptionList": {
+ "description": "Pageable list of customer subscriptions.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of customer subscriptions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomerSubscription"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "CustomerSubscriptionNameParameter": {
+ "description": "Name of the product.",
+ "name": "customerSubscriptionName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "CustomerSubscriptionParameter": {
+ "description": "Parameters use to create a customer subscription.",
+ "name": "customerCreationParameters",
+ "schema": {
+ "$ref": "#/definitions/CustomerSubscription"
+ },
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
new file mode 100644
index 000000000000..a41ce97fb660
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
@@ -0,0 +1,504 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-06-01",
+ "title": "AzureStack Azure Bridge Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of products.": {
+ "$ref": "examples/Product/List.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns a list of products.",
+ "operationId": "Products_List",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductList"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the specified product.": {
+ "$ref": "examples/Product/Get.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns the specified product.",
+ "operationId": "Products_Get",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Product"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails": {
+ "post": {
+ "x-ms-examples": {
+ "Returns the extended properties of a product.": {
+ "$ref": "examples/Product/Post.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns the extended properties of a product.",
+ "operationId": "Products_ListDetails",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtendedProduct"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ComputeRole": {
+ "description": "Compute role type (IaaS or PaaS).",
+ "type": "string",
+ "enum": [
+ "None",
+ "IaaS",
+ "PaaS"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeRole",
+ "modelAsString": true
+ }
+ },
+ "OperatingSystem": {
+ "description": "Operating system type (Windows or Linux).",
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystem",
+ "modelAsString": true
+ }
+ },
+ "Uri": {
+ "description": "The URI.",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "The URI.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ExtendedProduct": {
+ "description": "Extended description about the product required for installing it into Azure Stack.",
+ "type": "object",
+ "properties": {
+ "galleryPackageBlobSasUri": {
+ "description": "The URI to the .azpkg file that provides information required for showing product in the gallery.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productKind": {
+ "description": "Specifies the kind of the product (virtualMachine or virtualMachineExtension).",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Specifies additional properties describing the product.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExtendedProductProperties",
+ "readOnly": true
+ }
+ }
+ },
+ "ExtendedProductProperties": {
+ "description": "Product information.",
+ "type": "object",
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineExtensionProductProperties"
+ },
+ {
+ "$ref": "#/definitions/VirtualMachineProductProperties"
+ }
+ ]
+ },
+ "VirtualMachineExtensionProductProperties": {
+ "description": "Product information.",
+ "type": "object",
+ "properties": {
+ "computeRole": {
+ "description": "Specifies kind of compute role inclided in the package.",
+ "$ref": "#/definitions/ComputeRole",
+ "readOnly": true
+ },
+ "isSystemExtension": {
+ "description": "Specifies if product is a Virtual Machine Extension.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "sourceBlob": {
+ "description": "Specifies a download location where content can be downloaded from.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/Uri",
+ "readOnly": true
+ },
+ "supportMultipleExtensions": {
+ "description": "Indicates if specified product supports multiple extensions.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Specifies product version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmOsType": {
+ "description": "Specifies operating system used by the product.",
+ "$ref": "#/definitions/OperatingSystem",
+ "readOnly": true
+ },
+ "vmScaleSetEnabled": {
+ "description": "Indicates if virtual machine Scale Set is enabled in the specified product.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualMachineProductProperties": {
+ "description": "Product information.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Specifies product version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osDiskImage": {
+ "description": "OS disk image used by product.",
+ "$ref": "#/definitions/OsDiskImage",
+ "readOnly": true
+ },
+ "dataDiskImages": {
+ "description": "List of attached data disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDiskImage"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "OsDiskImage": {
+ "description": "OS disk image.",
+ "type": "object",
+ "properties": {
+ "operatingSystem": {
+ "description": "OS operating system type.",
+ "$ref": "#/definitions/OperatingSystem",
+ "readOnly": true
+ },
+ "sourceBlobSasUri": {
+ "description": "SAS key for source blob.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataDiskImage": {
+ "description": "Data disk image.",
+ "type": "object",
+ "properties": {
+ "lun": {
+ "description": "The LUN.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "sourceBlobSasUri": {
+ "description": "SAS key for source blob.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Product": {
+ "description": "Product information.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of the product resource.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProductNestedProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "AzureStack.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ProductNestedProperties": {
+ "description": "Properties portion of the product resource.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "The display name of the product.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the product.",
+ "type": "string"
+ },
+ "publisherDisplayName": {
+ "description": "The user-friendly name of the product publisher.",
+ "type": "string"
+ },
+ "publisherIdentifier": {
+ "description": "Publisher identifier.",
+ "type": "string"
+ },
+ "offer": {
+ "description": "The offer representing the product.",
+ "type": "string"
+ },
+ "offerVersion": {
+ "description": "The version of the product offer.",
+ "type": "string"
+ },
+ "sku": {
+ "description": "The product SKU.",
+ "type": "string"
+ },
+ "billingPartNumber": {
+ "description": "The part number used for billing purposes.",
+ "type": "string"
+ },
+ "vmExtensionType": {
+ "description": "The type of the Virtual Machine Extension.",
+ "type": "string"
+ },
+ "galleryItemIdentity": {
+ "description": "The identifier of the gallery item corresponding to the product.",
+ "type": "string"
+ },
+ "iconUris": {
+ "description": "Additional links available for this product.",
+ "$ref": "#/definitions/IconUris"
+ },
+ "links": {
+ "description": "Additional links available for this product.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductLink"
+ }
+ },
+ "legalTerms": {
+ "description": "The legal terms.",
+ "type": "string"
+ },
+ "privacyPolicy": {
+ "description": "The privacy policy.",
+ "type": "string"
+ },
+ "payloadLength": {
+ "description": "The length of product content.",
+ "type": "integer",
+ "format" : "int64"
+ },
+ "productKind": {
+ "description": "The kind of the product (virtualMachine or virtualMachineExtension)",
+ "type": "string"
+ },
+ "productProperties": {
+ "description": "Additional properties for the product.",
+ "$ref": "#/definitions/ProductProperties"
+ }
+ }
+ },
+ "IconUris": {
+ "description": "Links to product icons.",
+ "type": "object",
+ "properties": {
+ "large": {
+ "description": "URI to large icon.",
+ "type": "string"
+ },
+ "wide": {
+ "description": "URI to wide icon.",
+ "type": "string"
+ },
+ "medium": {
+ "description": "URI to medium icon.",
+ "type": "string"
+ },
+ "small": {
+ "description": "URI to small icon.",
+ "type": "string"
+ },
+ "hero": {
+ "description": "URI to hero icon.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductProperties": {
+ "description": "Additional properties of the product",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductLink": {
+ "description": "Link with additional information about a product.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "The description of the link.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "The URI corresponding to the link.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductList": {
+ "description": "Pageable list of products.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of products.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Product"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ProductNameParameter": {
+ "description": "Name of the product.",
+ "name": "productName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json
new file mode 100644
index 000000000000..e2c8f289136e
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json
@@ -0,0 +1,335 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-06-01",
+ "title": "Azure Stack Azure Bridge Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of all registrations.": {
+ "$ref": "examples/Registration/List.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Returns a list of all registrations.",
+ "operationId": "Registrations_List",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RegistrationList"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the properties of an Azure Stack registration.": {
+ "$ref": "examples/Registration/Get.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Returns the properties of an Azure Stack registration.",
+ "operationId": "Registrations_Get",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Registration"
+ }
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete the requested Azure Stack registration.": {
+ "$ref": "./examples/Registration/Delete.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Delete the requested Azure Stack registration.",
+ "operationId": "Registrations_Delete",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NO CONTENT"
+ },
+ "404": {
+ "description": "NOT FOUND"
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create or update an Azure Stack registration.": {
+ "$ref": "examples/Registration/Put.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Create or update an Azure Stack registration.",
+ "operationId": "Registrations_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/NewRegistrationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Registration"
+ }
+ },
+ "201": {
+ "description": "CREATED",
+ "schema": {
+ "$ref": "#/definitions/Registration"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey": {
+ "post": {
+ "x-ms-examples": {
+ "Returns Azure Stack Activation Key.": {
+ "$ref": "./examples/Registration/Post.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Returns Azure Stack Activation Key.",
+ "operationId": "Registrations_GetActivationKey",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActivationKeyResult"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Registration": {
+ "description": "Registration information.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Registration resource.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RegistrationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "AzureStack.json#/definitions/Resource"
+ }
+ ]
+ },
+ "RegistrationProperties": {
+ "description": "Properties portion of the registration resource.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "description": "The object identifier associated with the Azure Stack connecting to Azure.",
+ "type": "string"
+ },
+ "cloudId": {
+ "description": "The identifier of the registered Azure Stack.",
+ "type": "string"
+ },
+ "billingModel": {
+ "description": "Specifies the billing mode for the Azure Stack registration.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistrationList": {
+ "description": "Pageable list of registrations.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of Registrations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Registration"
+ }
+ }
+ }
+ },
+ "ActivationKeyResult": {
+ "description": "The resource containing the Azure Stack activation key.",
+ "type": "object",
+ "properties": {
+ "activationKey": {
+ "description": "Azure Stack activation key.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistrationParameter": {
+ "description": "Registration resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of the Auzre Stack registration resource",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RegistrationParameterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "AzureStack.json#/definitions/Resource"
+ }
+ ]
+ },
+ "RegistrationParameterProperties": {
+ "description": "Properties of the Azure Stack regstration resource",
+ "type": "object",
+ "properties": {
+ "registrationToken": {
+ "description": "The token identifying registered Azure Stack",
+ "type": "string"
+ }
+ },
+ "required": [
+ "registrationToken"
+ ]
+ }
+ },
+ "parameters": {
+ "NewRegistrationParameter": {
+ "description": "Registration token",
+ "name": "token",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/RegistrationParameter"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Delete.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Delete.json
new file mode 100644
index 000000000000..79908cb9e4f3
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "customerSubscriptionName": "E09A4E93-29A7-4EBA-A6D4-76202383F07F",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Get.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Get.json
new file mode 100644
index 000000000000..75486aee8b19
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "customerSubscriptionName": "E09A4E93-29A7-4EBA-A6D4-76202383F07F",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/customerSubscriptions/E09A4E93-29A7-4EBA-A6D4-76202383F07F",
+ "name": "testregistration/E09A4E93-29A7-4EBA-A6D4-76202383F07F",
+ "type": "Microsoft.AzureStack/registrations/customerSubscriptions",
+ "properties": {
+ "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2"
+ },
+ "location": "global"
+ }
+ },
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/List.json
new file mode 100644
index 000000000000..12db8c760d04
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/customerSubscriptions/E09A4E93-29A7-4EBA-A6D4-76202383F07F",
+ "name": "testregistration/E09A4E93-29A7-4EBA-A6D4-76202383F07F",
+ "type": "Microsoft.AzureStack/registrations/customerSubscriptions",
+ "properties": {
+ "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2"
+ },
+ "location": "global"
+ }
+ ]
+ }
+ },
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Put.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Put.json
new file mode 100644
index 000000000000..60704daf5aa2
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Put.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "customerSubscriptionName": "E09A4E93-29A7-4EBA-A6D4-76202383F07F",
+ "api-version": "2017-06-01",
+ "customerCreationParameters": {
+ "properties": {
+ "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "",
+ "name": "",
+ "type": "",
+ "location": "global",
+ "properties": {
+ "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json
new file mode 100644
index 000000000000..48e2fb12edcd
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureStack/registrations/read",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Registration",
+ "operation": "Get Azure Stack Registration",
+ "description": "Gets the properties of an Azure Stack registration"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/write",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Registration",
+ "operation": "Create Azure Stack Registration",
+ "description": "Creates or updates an Azure Stack registration"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/delete",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Registration",
+ "operation": "Delete Azure Stack Registration",
+ "description": "Deletes an Azure Stack registration"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/getActivationKey/action",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Registration",
+ "operation": "Get Azure Stack Activation Key",
+ "description": "Gets the latest Azure Stack activation key"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/register/action",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "operation": "Register Subscription for Azure Stack",
+ "description": "Registers Subscription with Microsoft.AzureStack resource provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/products/read",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Marketplace Product",
+ "operation": "Get Azure Stack Marketplace Product",
+ "description": "Gets the properties of an Azure Stack Marketplace product"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/products/listDetails/action",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Marketplace Product",
+ "operation": "Get Azure Stack Marketplace Product Details",
+ "description": "Retrieves extended details for an Azure Stack Marketplace product"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/customerSubscriptions/read",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Customer Subscription",
+ "operation": "Get Azure Stack Customer Subscription",
+ "description": "Gets the properties of an Azure Stack Customer Subscription"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/customerSubscriptions/write",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Customer Subscription",
+ "operation": "Create Azure Stack Customer Subscription",
+ "description": "Creates or updates an Azure Stack Customer Subscription"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/registrations/customerSubscriptions/delete",
+ "display": {
+ "provider": "Azure Stack Resource Provider",
+ "resource": "Azure Stack Customer Subscription",
+ "operation": "Delete Azure Stack Customer Subscription",
+ "description": "Deletes an Azure Stack Customer Subscription"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AzureStack/Operations/read",
+ "display": {
+ "provider": "Name of the Resource Provider.",
+ "resource": "Resource Type Display Name.",
+ "operation": "Read Resource Provider Operations",
+ "description": "The localized friendly description for the operation, as it should be shown to the user."
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Get.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Get.json
new file mode 100644
index 000000000000..be71ca103ef8
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Get.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "VM Access For Linux Extension",
+ "publisherDisplayName": "Microsoft Corp.",
+ "publisherIdentifier": "Microsoft.OSTCExtensions",
+ "offer": "",
+ "offerVersion": "",
+ "sku": "",
+ "vmExtensionType": "VMAccessForLinux",
+ "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7",
+ "iconUris": {
+ "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png"
+ },
+ "payloadLength": 46959,
+ "productKind": "virtualMachineExtension",
+ "productProperties": {
+ "version": "1.4.7"
+ }
+ },
+ "location": "global"
+ }
+ },
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/List.json
new file mode 100644
index 000000000000..27027dfcfb87
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/List.json
@@ -0,0 +1,152 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "VM Access For Linux Extension",
+ "publisherDisplayName": "Microsoft Corp.",
+ "publisherIdentifier": "Microsoft.OSTCExtensions",
+ "offer": "",
+ "offerVersion": "",
+ "sku": "",
+ "vmExtensionType": "VMAccessForLinux",
+ "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7",
+ "iconUris": {
+ "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png"
+ },
+ "payloadLength": 46959,
+ "productKind": "virtualMachineExtension",
+ "productProperties": {
+ "version": "1.4.7"
+ }
+ },
+ "location": "global"
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepoint",
+ "name": "testregistration/dummysharepoint",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/dummysharepoint/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/dummysharepoint/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/dummysharepoint/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/dummysharepoint/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/dummysharepoint/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "1.0.1"
+ }
+ },
+ "location": "global"
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepointTest526",
+ "name": "testregistration/dummysharepointTest526",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/dummysharepointTest526/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/dummysharepointTest526/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/dummysharepointTest526/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/dummysharepointTest526/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/dummysharepointTest526/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "2.0.2"
+ }
+ },
+ "location": "global"
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d",
+ "name": "testregistration/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "1.0.1"
+ }
+ },
+ "location": "global"
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/wordpress4-4",
+ "name": "testregistration/wordpress4-4",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "WordPress",
+ "publisherDisplayName": "WordPress",
+ "publisherIdentifier": "bitnami",
+ "offer": "wordpress",
+ "offerVersion": "1.0.8",
+ "sku": "4-4",
+ "galleryItemIdentity": "bitnami.wordpress4-4.1.0.8",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/wordpress4-4/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/wordpress4-4/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/wordpress4-4/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/wordpress4-4/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/wordpress4-4/icons/Small.png"
+ },
+ "payloadLength": 32212604365,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "4.5.31"
+ }
+ },
+ "location": "global"
+ }
+ ]
+ }
+ },
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Post.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Post.json
new file mode 100644
index 000000000000..7f60582dbaf8
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Post.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "galleryPackageBlobSasUri": "https://azstrptestwcu001.blob.core.windows.net/packages/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/gallery/package.azpkg?sv=2015-04-05&sr=b&sig=mnzKeDrSMWoDilUrfrETb7n%2BG0Shme6f3AYzl3uzkYA%3D&se=2018-02-13T10%3A46%3A24Z&sp=r",
+ "productKind": "virtualMachineExtension",
+ "properties": {
+ "version": "1.4.7",
+ "vmOsType": "Linux",
+ "sourceBlob": {
+ "uri": "https://azstrptestwcu001.blob.core.windows.net/packages/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/extension/vmext.zip?sv=2015-04-05&sr=b&sig=XtLzuO2rlqxyZOzfoTEDZW4DU9OxBZVCOw%2FVgY2%2FiUo%3D&se=2018-02-13T10%3A46%3A24Z&sp=r"
+ },
+ "computeRole": "IaaS",
+ "vmScaleSetEnabled": false,
+ "supportMultipleExtensions": false,
+ "isSystemExtension": false
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Delete.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Delete.json
new file mode 100644
index 000000000000..2c1f00a0e015
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Get.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Get.json
new file mode 100644
index 000000000000..862f62bc0997
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration",
+ "name": "azurestack",
+ "type": "Microsoft.AzureStack/registrations",
+ "location": "global",
+ "etag": "0d00527e-0000-0000-0000-5a81ebdf0000",
+ "properties": {
+ "objectId": "9e9704ab-561a-4498-ac60-64b2314456ee",
+ "billingModel": "Development"
+ }
+ }
+ },
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/List.json
new file mode 100644
index 000000000000..9683b1069386
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration",
+ "name": "testregistration",
+ "type": "Microsoft.AzureStack/registrations",
+ "location": "global",
+ "etag": "0d00527e-0000-0000-0000-5a81ebdf0000",
+ "properties": {
+ "objectId": "9e9704ab-561a-4498-ac60-64b2314456ee",
+ "billingModel": "Development"
+ }
+ }
+ ]
+ }
+ },
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Post.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Post.json
new file mode 100644
index 000000000000..be48955bf8b9
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Post.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "activationKey": "EYJRawQioiIzyzkYoDA2zJRJotc0Odg1oDHLM2zIYJfJmTzkYmQ2yYISiCjHbgCIoIjsuZi1niJ9.EyjZDWjzy3JPchrpB25JzcI6iJKWmdfmMZZLltqXzguTngVKYi05oTEZLTc4MGZhnWQWnMiZnIIsiNJLC291CMNLR3JVdXBOyw1LijoiDgVzDciSinjLZ2lZdHJHDGLvbK5hBwuIoijheNN0zxN0czU2mTyilCJjzXJ0UglUbmLuz1JvB3RtDWjqZWn0CyI6WYJDtj1cywx0Aw1vCMugq3liZXJucNvZDCBSB290LCbpVT1dEWJlCLrYdXn0LCbPpuJhBHRPBw9yzSwGqz1JrsJdlcJJZXJ0UglUBMlUZ0ludGvYBwvKawf0zvroDw1iChJPbnRziJpbiJQxN0uYmjUWmZDgQKZBqtrgOTU3NjFeNUfFnzi5RTfBRue3rTNBndiIlCi1neq5rdIWmJM5MdGwqzMYmzE2RuQ5RKY5oDbbnDg5ODHgNeFERjjEiIwiOEEzodc1nuqWotK2ODizRKU4RKezMtE2QtI3N0nfnDQ2rUfdnEu5osisiKFeodk4Qum3M0RgMZMZRUi2mEfDMUy1rKm2QZRcmjiXoUrEQjc5qJCILCI5n0vgrJMWmjg2NZC4oTrcREq0RjLbQzUzrjC4ouJfrTvErJrBrdg2IIWIOTq4rTe2ntI1odYyNdbEndUZMJG3Qui2OuNBrUi4RjJgNEyWmJExnYjdLCJ1c2FnzuVuZhbVaW50IjoIAhr0Chm6Ly9HEnn0DxnndgvzDHdJDtaWMs50cMFMzmLjbwFUywdlCI5UZxQilcjtYxjRZXRwbgFJzUvUzhBVAw50IJoiahR0chm6Ly9tyw5hZ2vTZw50LMf6dxJllMNVBsIsiNVzywdLUMvzb3VyY2VVcmKioIJODHRWczoVl3VzYWDllM1pY3jVC29MdGF6dXJLC3rhy2sUy29tiIwIbwfya2v0cgxhy2vsZxnvdxjJzvvYaSI6imh0dHbzOI8vBWfya2V0CgXhy2uubWLjCm9zb2z0YXp1CmVZdgFjAY5JB20IlcJleHBpCMvzIjoioTk5oS0xMi0zmFQyMzo1OTo1OS45OtK5OTk5wiiSiMNsB3vKswQIoIi2otQ2NDg5ns0ZYTfHLtQ1mgeTotGyNC00yjc2mdhKoTIWM2YIlcJvYMplY3RjzcI6IjvIM2iWNMe4lTljnmmTNdG4OC05ZWiZlWU4y2Rhy2U3NdC5NSisimJPBGxPBmDnb2rlBcI6IKrLdmvsB3btZW50iiWIAGFyzHDHcmvjbMZvijPbEYJUYW1LijoISEMxDTe1YTAYmTIilcj1dwLKiJOINWM5mwu3njyTmjU5Os00oTiwLwi0oDmTNgzhoTiwM2rJYtcxIIWIbnVtq29YZxMIOJISImJpb3MioLsiM2RKMMEwmDDHmtk0nDMwNDhiZmRMyJK4MzC5NjdlY2YiXswibmljIJPBIMvlnjrlmMmXzMRjyzQ5Y2u4n2UXYZzlMZrIzmrimzBhiiwImdc2oWexn2vjzdg2ngM1YwjlnzVJmjLKZjM4mzdjzwMIXSWIy3b1iJpbIjy4Ntm5mgJJzGE0mDRiZgq5ytHhOtK5MGvLZgNkzjM0iiwiMzi3nzGzzWy3n2I4NgqzyJLhmWqYOwe0NzvKOGvLyzuixsWizglzayI6WYI5y2VmNwe3MZU5nDQ0nTc2ymu3yzdmYwnmzJmXmmflmiiSIMvmowyZmMEXZwfhodQ1ntq5ndM1zTUwmDqZMGJhmwnIIL0sIm1LBW9YesI6wyIwMMQwnznHYZC1NGE0ZmuxYTG5mwqzZDhMoWUWMgq2MSISijC3MGU4ZTQ0ODk0YZQwM2RiOTBMZWE2nWYWOwqxyjZkiL19XswidXNhz2vSZXbvCnrpBMDFbMFibGVKijPmyWxzzSwIBWfYa2V0CgXhy2VTEW5KAWNhdgLVBKvuywjszwqIOnryDwUsiMLZC3vlCii6INnvBwvvbMUILcJ2ZXJzaw9uIJOims4WIn0.NkqXrYRthQij4vCeR06SRCIkl44HIRzH8SyOH7za8cm_ObTWk4ZPls_SPYDqQXsOC-SdWUFf1-zbYLbXHSNWpIM_Z6NF2WgMceW78ynPf96sxX9o2R8zcUFf16O0IFqb4SJAlD_JZAsQrdQuC4JkA1AjLFjE4NkTVdxAumK61Ie31C91Nlkqzqyv6cjzoFaj9ybrBu_lTR9-7GR8RxPfpwgNdScRo6VbDQcne8y45PEujA0x-vugmoXjCA7ONM1Z5A2iidzzLEXpHjGHZ5qLMkaQkaN0DimgXw19GlWTFUjDY4JhfEptLdIRlOEpJGn4pmyIYktvHO2W2u5SLcIWha"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Put.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Put.json
new file mode 100644
index 000000000000..7cbb4fb631bd
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Put.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01",
+ "token": {
+ "properties": {
+ "registrationToken": "EyjIAWXSAw5nTw9KZWWiOiJeZxZlbg9wBwvUdCiSIM9iaMVjdeLkijoinwIzyJa2Ytgtowm2yy00OdG4lTlLyJmtztHjZGfJZTC0NZK1iIWiY2XvdWRJzCi6iJy5nDy0oDk1LTNHmWeTnDUwyS05oDI0LTrINzYwoGq5mjAzziIsim1HCmtldHBsYwnLu3LuZGljYXrpB25FBmfIbgVkIJp0CNvLLCJOYXJkd2FYzuLUZM8iOlt7IM51bunvcMVZiJoYlCjcaw9ZiJPBIjNkzDJHmda3yte5ndqZMdq4YmZkZmi5oDM3OTY3ZwNMIL0SIM5PyYI6WyJLZTy0ztJJMwZKy2m0OWNLODDLMwm2zTm0ymzKyjmWySisiJA3njlHmtdlY2q4NjRjnwFIZtC1YZi5ZGyZodM3Y2vjIl0siMnwDsi6wyi2oDUZoTbiY2RhNDa0ymrKoWe4YtK5otblzWrJzGyzNCISIjmYnzC4M2vmnZdIoDRKM2i5ytfkmJlhnDc1zdhLzWm1il0sim5HBwuiOijIqzF1MTvhmDIXmIIsimrpc2SiolsioWNlZjVhnZM1otQ0nDu3NmjlN2M3zmfjzmyZMTJhZtiiLcjLZjLmmZJhmWVhytG0NTu0OTqZNWu1Mda0MZbIYtfjyijdLCj1DWlKijoinwM5Mwu3NjytMju5Os00oTIwlWi0OdmTnGzHotiWm2RjyTCxIIwiBWvTb3J5ijPbijAYZDA3M2fjNzu0YTRMZTfhodkxzDnkogY5ZtAWzdyXIiwINZcWzThLnDQ4otrJndAzZGI5MGzlYtY1ZJA5ZdfiNMQIXX1DlcJpC3n1zxiiOijZb21lB25LIIWIdmVyC2LVbiI6IJeuMcJ9"
+ },
+ "location": "global"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration",
+ "name": "testregistration",
+ "type": "Microsoft.AzureStack/registrations",
+ "location": "global",
+ "etag": "\"0e00ab2b-0000-0000-0000-5a82517f0000\"",
+ "properties": {
+ "cloudId": "5bf881b2-6be7-42a1-9f47-d6fcb6737747",
+ "objectId": "2dbdd5f4-daf3-442a-be35-b71c3debee5a",
+ "billingModel": "Development"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration",
+ "name": "testregistration",
+ "type": "Microsoft.AzureStack/registrations",
+ "location": "global",
+ "etag": "\"0e00ab2b-0000-0000-0000-5a82517f0000\"",
+ "properties": {
+ "cloudId": "5bf881b2-6be7-42a1-9f47-d6fcb6737747",
+ "objectId": "2dbdd5f4-daf3-442a-be35-b71c3debee5a",
+ "billingModel": "Development"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
new file mode 100644
index 000000000000..c8b7d4a8abbe
--- /dev/null
+++ b/specification/azurestack/resource-manager/readme.md
@@ -0,0 +1,132 @@
+# AzureStack
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Azure Stack.
+
+
+The Azure Stack RP comprises of small services where each service has its own tag.
+Hence, each sub-service has its own swagger spec.
+
+All of them are tied together using this configuration and are packaged together into one Azure Stack client library.
+This makes it easier for customers to download one (nuget/npm/pip/maven/gem) Azure Stack client library package rather than installing individual packages for each sub service.
+
+
+---
+## Getting Started
+To build the SDK for Azure Stack, 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 Azure Stack API.
+
+``` yaml
+title: AzureStackManagementClient
+description: Azure Stack
+openapi-type: arm
+tag: package-2017-06-01
+```
+
+### Tag: package-2017-06-01
+
+These settings apply only when `--tag=package-2017-06-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-06-01'
+input-file:
+- Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
+- Microsoft.AzureStack/stable/2017-06-01/Product.json
+- Microsoft.AzureStack/stable/2017-06-01/Registration.json
+- Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json
+```
+
+---
+
+### Validations
+Run validations when `--validate` is specified on command line
+
+``` yaml $(validate)
+azure-validator: true
+model-validator: true
+semantic-validator: true
+message-format: 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ # last generated with AutoRest.1.0.0-Nightly20170126
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.AzureStack
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/AzureStack/Management.AzureStack/Generated
+ clear-output-folder: true
+```
+
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+```
+
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+
+``` yaml $(python)
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ package-name: azure-mgmt-azurestack
+ no-namespace-folders: true
+ clear-output-folder: true
+```
+
+## 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.azurestack
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azurestack
+```
diff --git a/specification/batch/data-plane/readme.md b/specification/batch/data-plane/readme.md
index 90ddd444dc19..acca980c01c0 100644
--- a/specification/batch/data-plane/readme.md
+++ b/specification/batch/data-plane/readme.md
@@ -203,6 +203,17 @@ input-file:
---
# 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-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -244,3 +255,100 @@ python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/azure-batch
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: batch
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-05.5.0
+```
+
+### Tag: package-2017-09.6.0 and go
+
+These settings apply only when `--tag=package-2017-09.6.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-09.6.0' && $(go)
+output-folder: $(go-sdk-folder)/services/batch/2017-09-01.6.0/batch
+```
+
+### Tag: package-2017-06.5.1 and go
+
+These settings apply only when `--tag=package-2017-06.5.1 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-06.5.1' && $(go)
+output-folder: $(go-sdk-folder)/services/batch/2017-06-01.5.1/batch
+```
+
+### Tag: package-2017-05.5.0 and go
+
+These settings apply only when `--tag=package-2017-05.5.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-05.5.0' && $(go)
+output-folder: $(go-sdk-folder)/services/batch/2017-05-01.5.0/batch
+```
+
+### Tag: package-2017-01.4.0 and go
+
+These settings apply only when `--tag=package-2017-01.4.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-01.4.0' && $(go)
+output-folder: $(go-sdk-folder)/services/batch/2017-01-01.4.0/batch
+```
+
+### Tag: package-2016-07.3.1 and go
+
+These settings apply only when `--tag=package-2016-07.3.1 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-07.3.1' && $(go)
+output-folder: $(go-sdk-folder)/services/batch/2016-07-01.3.1/batch
+```
+
+### Tag: package-2016-02.3.0 and go
+
+These settings apply only when `--tag=package-2016-02.3.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-02.3.0' && $(go)
+output-folder: $(go-sdk-folder)/services/batch/2016-02-01.3.0/batch
+```
+
+### Tag: package-2015-12.2.2 and go
+
+These settings apply only when `--tag=package-2017-05.5.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-05.5.0' && $(go)
+output-folder: $(go-sdk-folder)/services/batch/2015-12-01.2.2/batch
+```
+
+
+## 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.batch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-batch
+```
diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md
index 452d13114e7a..97c4f7d62048 100644
--- a/specification/batch/resource-manager/readme.md
+++ b/specification/batch/resource-manager/readme.md
@@ -82,6 +82,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -137,6 +150,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-09
+ - tag: package-2017-05
+ - tag: package-2017-01
+ - tag: package-2015-12
+```
+
### Tag: package-2017-09 and go
These settings apply only when `--tag=package-2017-09 --go` is specified on the command line.
@@ -171,4 +193,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.batch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-batch
```
\ No newline at end of file
diff --git a/specification/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md
index 5c528a82eb5f..ac31031e99c0 100644
--- a/specification/batchai/resource-manager/readme.md
+++ b/specification/batchai/resource-manager/readme.md
@@ -41,6 +41,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
@@ -82,3 +95,46 @@ python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/azure-mgmt-batchai
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: batchai
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-09-preview
+```
+
+### Tag: package-2017-09-preview and go
+
+These settings apply only when `--tag=package-2017-09-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-09-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/batchai/mgmt/2017-09-preview/batchai
+```
+
+
+## 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.batchai
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-batchai
+```
diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md
index 22078bed4bac..288f79007011 100644
--- a/specification/billing/resource-manager/readme.md
+++ b/specification/billing/resource-manager/readme.md
@@ -49,6 +49,22 @@ input-file:
```
---
+# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -102,6 +118,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04-preview
+ - tag: package-2017-02-preview
+```
+
### Tag: package-2017-04-preview and go
These settings apply only when `--tag=package-2017-04-preview --go` is specified on the command line.
@@ -119,3 +142,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.billing
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-billing
+```
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/cdn.json
new file mode 100644
index 000000000000..339bce4c3891
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/cdn.json
@@ -0,0 +1,3186 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-10-12",
+ "title": "CdnManagementClient",
+ "description": "Use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure."
+ },
+ "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}/providers/Microsoft.Cdn/profiles": {
+ "get": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Lists all of the CDN profiles within an Azure subscription.",
+ "operationId": "Profiles_List",
+ "x-ms-examples": {
+ "Profiles_List": {
+ "$ref": "./examples/Profiles_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ProfileListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles": {
+ "get": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Lists all of the CDN profiles within a resource group.",
+ "operationId": "Profiles_ListByResourceGroup",
+ "x-ms-examples": {
+ "Profiles_ListByResourceGroup": {
+ "$ref": "./examples/Profiles_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ProfileListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}": {
+ "get": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Gets a CDN profile with the specified profile name under the specified subscription and resource group.",
+ "operationId": "Profiles_Get",
+ "x-ms-examples": {
+ "Profiles_Get": {
+ "$ref": "./examples/Profiles_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Creates a new CDN profile with a profile name under the specified subscription and resource group.",
+ "operationId": "Profiles_Create",
+ "x-ms-examples": {
+ "Profiles_Create": {
+ "$ref": "./examples/Profiles_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Profile properties needed to create a new profile.",
+ "in": "body",
+ "name": "profile",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new profile has been created.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Updates an existing CDN profile with the specified profile name under the specified subscription and resource group.",
+ "operationId": "Profiles_Update",
+ "x-ms-examples": {
+ "Profiles_Update": {
+ "$ref": "./examples/Profiles_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "profileUpdateParameters",
+ "in": "body",
+ "description": "Profile properties needed to update an existing profile.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProfileUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Profile"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Deletes an existing CDN profile with the specified parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints, origins and custom domains.",
+ "operationId": "Profiles_Delete",
+ "x-ms-examples": {
+ "Profiles_Delete": {
+ "$ref": "./examples/Profiles_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "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 profile was not found."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri": {
+ "post": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemnetal portal is used to configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The SSO URI changes approximately every 10 minutes.",
+ "operationId": "Profiles_GenerateSsoUri",
+ "x-ms-examples": {
+ "Profiles_GenerateSsoUri": {
+ "$ref": "./examples/Profiles_GenerateSsoUri.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/SsoUri"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes": {
+ "post": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization type from the listed values.",
+ "operationId": "Profiles_ListSupportedOptimizationTypes",
+ "x-ms-examples": {
+ "Profiles_ListSupportedOptimizationTypes": {
+ "$ref": "./examples/Profiles_ListSupportedOptimizationTypes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/SupportedOptimizationTypesListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage": {
+ "post": {
+ "tags": [
+ "Profiles"
+ ],
+ "description": "Checks the quota and actual usage of endpoints under the given CDN profile.",
+ "operationId": "Profiles_ListResourceUsage",
+ "x-ms-examples": {
+ "Profiles_ListResourceUsage": {
+ "$ref": "./examples/Profiles_ListResourceUsage.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ResourceUsageListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Lists existing CDN endpoints.",
+ "operationId": "Endpoints_ListByProfile",
+ "x-ms-examples": {
+ "Endpoints_ListByProfile": {
+ "$ref": "./examples/Endpoints_ListByProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EndpointListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.",
+ "operationId": "Endpoints_Get",
+ "x-ms-examples": {
+ "Endpoints_Get": {
+ "$ref": "./examples/Endpoints_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.",
+ "operationId": "Endpoints_Create",
+ "x-ms-examples": {
+ "Endpoints_Create": {
+ "$ref": "./examples/Endpoints_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpoint",
+ "in": "body",
+ "description": "Endpoint properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new endpoint has been created.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags and Origin HostHeader can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update custom domains, use the Update Custom Domain operation.",
+ "operationId": "Endpoints_Update",
+ "x-ms-examples": {
+ "Endpoints_Update": {
+ "$ref": "./examples/Endpoints_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointUpdateProperties",
+ "in": "body",
+ "description": "Endpoint update properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EndpointUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.",
+ "operationId": "Endpoints_Delete",
+ "x-ms-examples": {
+ "Endpoints_Delete": {
+ "$ref": "./examples/Endpoints_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the endpoint was not found."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Starts an existing CDN endpoint that is on a stopped state.",
+ "operationId": "Endpoints_Start",
+ "x-ms-examples": {
+ "Endpoints_Start": {
+ "$ref": "./examples/Endpoints_Start.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Stops an existing running CDN endpoint.",
+ "operationId": "Endpoints_Stop",
+ "x-ms-examples": {
+ "Endpoints_Stop": {
+ "$ref": "./examples/Endpoints_Stop.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Removes a content from CDN.",
+ "operationId": "Endpoints_PurgeContent",
+ "x-ms-examples": {
+ "Endpoints_PurgeContent": {
+ "$ref": "./examples/Endpoints_PurgeContent.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "contentFilePaths",
+ "in": "body",
+ "description": "The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PurgeParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Pre-loads a content to CDN. Available for Verizon Profiles.",
+ "operationId": "Endpoints_LoadContent",
+ "x-ms-examples": {
+ "Endpoints_LoadContent": {
+ "$ref": "./examples/Endpoints_LoadContent.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "contentFilePaths",
+ "in": "body",
+ "description": "The path to the content to be loaded. Path should be a full URL, e.g. ‘/pictires/city.png' which loads a single file ",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LoadParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.",
+ "operationId": "Endpoints_ValidateCustomDomain",
+ "x-ms-examples": {
+ "Endpoints_ValidateCustomDomain": {
+ "$ref": "./examples/Endpoints_ValidateCustomDomain.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainProperties",
+ "in": "body",
+ "description": "Custom domain to be validated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateCustomDomainInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ValidateCustomDomainOutput"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Checks the quota and usage of geo filters and custom domains under the given endpoint.",
+ "operationId": "Endpoints_ListResourceUsage",
+ "x-ms-examples": {
+ "Endpoints_ListResourceUsage": {
+ "$ref": "./examples/Endpoints_ListResourceUsage.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ResourceUsageListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins": {
+ "get": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Lists all of the existing origins within an endpoint.",
+ "operationId": "Origins_ListByEndpoint",
+ "x-ms-examples": {
+ "Origins_ListByEndpoint": {
+ "$ref": "./examples/Origins_ListByEndpoint.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OriginListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}": {
+ "get": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Gets an existing origin within an endpoint.",
+ "operationId": "Origins_Get",
+ "x-ms-examples": {
+ "Origins_Get": {
+ "$ref": "./examples/Origins_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originName",
+ "in": "path",
+ "description": "Name of the origin which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Origins"
+ ],
+ "description": "Updates an existing origin within an endpoint.",
+ "operationId": "Origins_Update",
+ "x-ms-examples": {
+ "Origins_Update": {
+ "$ref": "./examples/Origins_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originName",
+ "in": "path",
+ "description": "Name of the origin which is unique within the endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "originUpdateProperties",
+ "in": "body",
+ "description": "Origin properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OriginUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Origin"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains": {
+ "get": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Lists all of the existing custom domains within an endpoint.",
+ "operationId": "CustomDomains_ListByEndpoint",
+ "x-ms-examples": {
+ "CustomDomains_ListByEndpoint": {
+ "$ref": "./examples/CustomDomains_ListByEndpoint.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomainListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}": {
+ "get": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Gets an exisitng custom domain within an endpoint.",
+ "operationId": "CustomDomains_Get",
+ "x-ms-examples": {
+ "CustomDomains_Get": {
+ "$ref": "./examples/CustomDomains_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Creates a new custom domain within an endpoint.",
+ "operationId": "CustomDomains_Create",
+ "x-ms-examples": {
+ "CustomDomains_Create": {
+ "$ref": "./examples/CustomDomains_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainProperties",
+ "in": "body",
+ "description": "Properties required to create a new custom domain.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CustomDomainParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "201": {
+ "description": "Created. The request has been fulfilled and a new custom domain has been created.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Deletes an existing custom domain within an endpoint.",
+ "operationId": "CustomDomains_Delete",
+ "x-ms-examples": {
+ "CustomDomains_Delete": {
+ "$ref": "./examples/CustomDomains_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the custom domain was not found"
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps": {
+ "post": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Disable https delivery of the custom domain.",
+ "operationId": "CustomDomains_DisableCustomHttps",
+ "x-ms-examples": {
+ "CustomDomains_DisableCustomHttps": {
+ "$ref": "./examples/CustomDomains_DisableCustomHttps.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
+ "post": {
+ "tags": [
+ "CustomDomains"
+ ],
+ "description": "Enable https delivery of the custom domain.",
+ "operationId": "CustomDomains_EnableCustomHttps",
+ "x-ms-examples": {
+ "CustomDomains_EnableCustomHttps": {
+ "$ref": "./examples/CustomDomains_EnableCustomHttps.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "profileName",
+ "in": "path",
+ "description": "Name of the CDN profile which is unique within the resource group.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "endpointName",
+ "in": "path",
+ "description": "Name of the endpoint under the profile which is unique globally.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customDomainName",
+ "in": "path",
+ "description": "Name of the custom domain within an endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CustomDomain"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Cdn/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.",
+ "operationId": "CheckNameAvailability",
+ "x-ms-examples": {
+ "CheckNameAvailability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "checkNameAvailabilityInput",
+ "in": "body",
+ "description": "Input to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityOutput"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe": {
+ "post": {
+ "tags": [
+ "ValidateProbe"
+ ],
+ "description": "Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative to the origin path specified in the endpoint configuration.",
+ "operationId": "ValidateProbe",
+ "x-ms-examples": {
+ "ValidateProbe": {
+ "$ref": "./examples/ValidateProbe.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "validateProbeInput",
+ "in": "body",
+ "description": "Input to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateProbeInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ValidateProbeOutput"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage": {
+ "post": {
+ "tags": [
+ "CheckResourceUsage"
+ ],
+ "description": "Check the quota and actual usage of the CDN profiles under the given subscription.",
+ "operationId": "ResourceUsage_List",
+ "x-ms-examples": {
+ "ResourceUsage_List": {
+ "$ref": "./examples/ResourceUsage_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ResourceUsageListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Cdn/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available CDN REST API operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Cdn/edgenodes": {
+ "get": {
+ "tags": [
+ "Edgenodes"
+ ],
+ "description": "Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.",
+ "operationId": "EdgeNodes_List",
+ "x-ms-examples": {
+ "EdgeNodes_List": {
+ "$ref": "./examples/EdgeNodes_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EdgenodeResult"
+ }
+ },
+ "default": {
+ "description": "CDN error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Profile": {
+ "description": "CDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and pricing tier.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.",
+ "$ref": "#/definitions/Sku"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProfileProperties"
+ }
+ },
+ "required": [
+ "sku"
+ ]
+ },
+ "ProfileProperties": {
+ "description": "The JSON object that contains the properties required to create a profile.",
+ "properties": {
+ "resourceState": {
+ "description": "Resource status of the profile.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProfileResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the profile.",
+ "type": "string"
+ }
+ }
+ },
+ "ProfileListResult": {
+ "description": "Result of the request to list profiles. It contains a list of profile objects and a URL link to get the the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Profile"
+ },
+ "description": "List of CDN profiles within a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of profile objects if there are any."
+ }
+ }
+ },
+ "ProfileUpdateParameters": {
+ "type": "object",
+ "description": "Properties required to update a profile.",
+ "properties": {
+ "tags": {
+ "description": "Profile tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SsoUri": {
+ "description": "The URI required to login to the supplemental portal from the Azure portal.",
+ "type": "object",
+ "properties": {
+ "ssoUriValue": {
+ "description": "The URI used to login to the supplemental portal.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "SupportedOptimizationTypesListResult": {
+ "description": "The result of the GetSupportedOptimizationTypes API",
+ "type": "object",
+ "properties": {
+ "supportedOptimizationTypes": {
+ "description": "Supported optimization types for a profile.",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OptimizationType"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "Endpoint": {
+ "description": "CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format .azureedge.net.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EndpointProperties"
+ }
+ }
+ },
+ "EndpointProperties": {
+ "description": "The JSON object that contains the properties required to create an endpoint.",
+ "required": [
+ "origins"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointPropertiesUpdateParameters"
+ }
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. consoto.azureedge.net",
+ "type": "string",
+ "readOnly": true
+ },
+ "origins": {
+ "description": "The source of the content being delivered via CDN.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeepCreatedOrigin"
+ }
+ },
+ "resourceState": {
+ "description": "Resource status of the endpoint.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Deleting",
+ "Running",
+ "Starting",
+ "Stopped",
+ "Stopping"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "EndpointListResult": {
+ "description": "Result of the request to list endpoints. It contains a list of endpoint objects and a URL link to get the the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "description": "List of CDN endpoints within a profile"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of endpoint objects if there is any."
+ }
+ }
+ },
+ "EndpointUpdateParameters": {
+ "type": "object",
+ "description": "Properties required to create or update an endpoint.",
+ "properties": {
+ "tags": {
+ "description": "Endpoint tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EndpointPropertiesUpdateParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "EndpointPropertiesUpdateParameters": {
+ "description": "The JSON object containing endpoint update parameters.",
+ "properties": {
+ "originHostHeader": {
+ "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.",
+ "type": "string"
+ },
+ "originPath": {
+ "description": "A directory path on the origin that CDN can use to retreive content from, e.g. contoso.cloudapp.net/originpath.",
+ "type": "string"
+ },
+ "contentTypesToCompress": {
+ "description": "List of content types on which compression applies. The value should be a valid MIME type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isCompressionEnabled": {
+ "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.",
+ "type": "boolean"
+ },
+ "isHttpAllowed": {
+ "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
+ "type": "boolean"
+ },
+ "isHttpsAllowed": {
+ "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.",
+ "type": "boolean"
+ },
+ "queryStringCachingBehavior": {
+ "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.",
+ "$ref": "#/definitions/QueryStringCachingBehavior"
+ },
+ "optimizationType": {
+ "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.",
+ "$ref": "#/definitions/OptimizationType"
+ },
+ "probePath": {
+ "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.",
+ "type": "string"
+ },
+ "geoFilters": {
+ "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an acess rule to a specified path or content, e.g. block APAC for path /pictures/",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GeoFilter"
+ }
+ },
+ "deliveryPolicy": {
+ "description": "A policy that specifies the delivery rules to be used for an endpoint.",
+ "type": "object",
+ "required": [
+ "rules"
+ ],
+ "properties":{
+ "description": {
+ "description": "User-friendly description of the policy.",
+ "type": "string"
+ },
+ "rules": {
+ "description": "A list of the delivery rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRule"
+ }
+ }
+ }
+
+ }
+ }
+ },
+ "DeliveryRule": {
+ "description": "A rule that specifies a set of actions and conditions",
+ "type": "object",
+ "required": [
+ "order",
+ "actions"
+ ],
+ "properties": {
+ "order": {
+ "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.",
+ "type": "integer"
+ },
+ "actions": {
+ "description": "A list of actions that are executed when all the conditions of a rule are satisfied.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ },
+ "conditions": {
+ "description": "A list of conditions that must be matched for the actions to be executed",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ }
+ }
+ },
+ "DeliveryRuleCondition":{
+ "description": "A condition for the delivery rule.",
+ "discriminator": "name",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the condition for the delivery rule.",
+ "type": "string",
+ "enum": [
+ "UrlPath",
+ "UrlFileExtension"
+ ]
+ }
+ }
+ },
+ "DeliveryRuleUrlPathCondition": {
+ "description": "Defines the URL path condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlPath",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlPathConditionParameters"
+ }
+ }
+ },
+ "UrlPathConditionParameters": {
+ "description": "Defines the parameters for the URL path condition.",
+ "required": [
+ "path",
+ "matchType",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathConditionParameters"
+ ]
+ },
+ "path": {
+ "description": "A URL path for the condition of the delivery rule",
+ "type": "string"
+ },
+ "matchType": {
+ "description": "The match type for the condition of the delivery rule",
+ "type": "string",
+ "enum": [
+ "Literal",
+ "Wildcard"
+ ]
+ }
+ }
+ },
+ "DeliveryRuleUrlFileExtensionCondition": {
+ "description": "Defines the URL file extension condition for the delivery rule.",
+ "x-ms-discriminator-value": "UrlFileExtension",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleCondition"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the condition.",
+ "$ref": "#/definitions/UrlFileExtensionConditionParameters"
+ }
+ }
+ },
+ "UrlFileExtensionConditionParameters": {
+ "description": "Defines the parameters for the URL file extension condition.",
+ "required": [
+ "extensions",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionConditionParameters"
+ ]
+ },
+ "extensions": {
+ "description": "A list of extensions for the condition of the delivery rule.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DeliveryRuleAction": {
+ "description": "An action for the delivery rule.",
+ "discriminator": "name",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the action for the delivery rule.",
+ "type": "string",
+ "enum": [
+ "CacheExpiration"
+ ]
+ }
+ }
+ },
+ "DeliveryRuleCacheExpirationAction": {
+ "description": "Defines the cache expiration action for the delivery rule.",
+ "x-ms-discriminator-value": "CacheExpiration",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required":[
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/CacheExpirationActionParameters"
+ }
+ }
+ },
+ "CacheExpirationActionParameters": {
+ "description": "Defines the parameters for the cache expiration action.",
+ "required": [
+ "cacheBehavior",
+ "cacheType",
+ "@odata.type"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
+ ]
+ },
+ "cacheBehavior": {
+ "description": "Caching behavior for the requests that include query strings.",
+ "type": "string",
+ "enum": [
+ "BypassCache",
+ "Override",
+ "SetIfMissing"
+ ]
+ },
+ "cacheType": {
+ "description": "The level at which the content needs to be cached.",
+ "type": "string",
+ "enum": [
+ "All"
+ ]
+ },
+ "cacheDuration": {
+ "description": "The duration for which the the content needs to be cached. Allowed format is [d.]hh:mm:ss",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "DeepCreatedOrigin": {
+ "description": "The main origin of CDN content which is added when creating a CDN endpoint.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Origin name",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeepCreatedOriginProperties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DeepCreatedOriginProperties": {
+ "description": "Properties of the origin created on the CDN endpoint.",
+ "type": "object",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.",
+ "type": "string"
+ },
+ "httpPort": {
+ "description": "The value of the HTTP port. Must be between 1 and 65535",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "httpsPort": {
+ "description": "The value of the HTTPS port. Must be between 1 and 65535",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "GeoFilter": {
+ "description": "Rules defining user's geo access within a CDN endpoint.",
+ "type": "object",
+ "required": [
+ "relativePath",
+ "action",
+ "countryCodes"
+ ],
+ "properties": {
+ "relativePath": {
+ "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)",
+ "type": "string"
+ },
+ "action": {
+ "description": "Action of the geo filter, i.e. allow or block access.",
+ "enum": [
+ "Block",
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "GeoFilterActions",
+ "modelAsString": false
+ }
+ },
+ "countryCodes": {
+ "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PurgeParameters": {
+ "type": "object",
+ "description": "Parameters required for content purge.",
+ "required": [
+ "contentPaths"
+ ],
+ "properties": {
+ "contentPaths": {
+ "description": "The path to the content to be purged. Can describe a file path or a wild card directory.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "LoadParameters": {
+ "type": "object",
+ "description": "Parameters required for content load.",
+ "required": [
+ "contentPaths"
+ ],
+ "properties": {
+ "contentPaths": {
+ "description": "The path to the content to be loaded. Path should be a relative file URL of the origin.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Origin": {
+ "description": "CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginProperties"
+ }
+ }
+ },
+ "OriginProperties": {
+ "description": "The JSON object that contains the properties of the origin.",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.",
+ "type": "string"
+ },
+ "httpPort": {
+ "description": "The value of the HTTP port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "httpsPort": {
+ "description": "The value of the https port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "resourceState": {
+ "description": "Resource status of the origin.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OriginResourceState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the origin.",
+ "type": "string"
+ }
+ }
+ },
+ "OriginUpdateParameters": {
+ "type": "object",
+ "description": "Origin properties needed for origin creation or update.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OriginPropertiesParameters"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OriginPropertiesParameters": {
+ "description": "The JSON object that contains the properties of the origin.",
+ "properties": {
+ "hostName": {
+ "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.",
+ "type": "string"
+ },
+ "httpPort": {
+ "description": "The value of the HTTP port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ },
+ "httpsPort": {
+ "description": "The value of the HTTPS port. Must be between 1 and 65535.",
+ "type": "integer",
+ "maximum": 65535,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false
+ }
+ }
+ },
+ "OriginListResult": {
+ "description": "Result of the request to list origins. It contains a list of origin objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Origin"
+ },
+ "description": "List of CDN origins within an endpoint"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of origin objects if there are any."
+ }
+ }
+ },
+ "CustomDomain": {
+ "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.consoto.com.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomDomainProperties"
+ }
+ }
+ },
+ "CustomDomainProperties": {
+ "description": "The JSON object that contains the properties of the custom domain to create.",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ },
+ "resourceState": {
+ "description": "Resource status of the custom domain.",
+ "readOnly": true,
+ "enum": [
+ "Creating",
+ "Active",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomDomainResourceState",
+ "modelAsString": true
+ }
+ },
+ "customHttpsProvisioningState": {
+ "description": "Provisioning status of Custom Https of the custom domain.",
+ "readOnly": true,
+ "enum": [
+ "Enabling",
+ "Enabled",
+ "Disabling",
+ "Disabled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomHttpsProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "customHttpsProvisioningSubstate": {
+ "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.",
+ "readOnly": true,
+ "enum": [
+ "SubmittingDomainControlValidationRequest",
+ "PendingDomainControlValidationREquestApproval",
+ "DomainControlValidationRequestApproved",
+ "DomainControlValidationRequestRejected",
+ "DomainControlValidationRequestTimedOut",
+ "IssuingCertificate",
+ "DeployingCertificate",
+ "CertificateDeployed",
+ "DeletingCertificate",
+ "CertificateDeleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomHttpsProvisioningSubstate",
+ "modelAsString": true
+ }
+ },
+ "validationData": {
+ "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "description": "Provisioning status of the custom domain.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainParameters": {
+ "description": "The customDomain JSON object required for custom domain creation or update.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CustomDomainPropertiesParameters"
+ }
+ }
+ },
+ "CustomDomainPropertiesParameters": {
+ "description": "The JSON object that contains the properties of the custom domain to create.",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomDomainListResult": {
+ "description": "Result of the request to list custom domains. It contains a list of custom domain objects and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CustomDomain"
+ },
+ "description": "List of CDN CustomDomains within an endpoint."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of custom domain objects if there are any."
+ }
+ }
+ },
+ "ValidateCustomDomainInput": {
+ "description": "Input of the custom domain to be validated for DNS mapping.",
+ "type": "object",
+ "required": [
+ "hostName"
+ ],
+ "properties": {
+ "hostName": {
+ "description": "The host name of the custom domain. Must be a domain name.",
+ "type": "string"
+ }
+ }
+ },
+ "ValidateCustomDomainOutput": {
+ "description": "Output of custom domain validation.",
+ "type": "object",
+ "properties": {
+ "customDomainValidated": {
+ "description": "Indicates whether the custom domain is valid or not.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason why the custom domain is not valid.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message describing why the custom domain is not valid.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityInput": {
+ "description": "Input of CheckNameAvailability API.",
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "The resource name to validate.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the resource whose name is to be validated.",
+ "$ref": "#/definitions/ResourceType"
+ }
+ }
+ },
+ "CheckNameAvailabilityOutput": {
+ "description": "Output of check name availability API.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "Indicates whether the name is available.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason why the name is not available.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "The detailed error message describing why the name is not available.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ValidateProbeInput": {
+ "description": "Input of the validate probe API.",
+ "properties": {
+ "probeURL": {
+ "description": "The probe URL to validate.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "probeURL"
+ ],
+ "type": "object"
+ },
+ "ValidateProbeOutput": {
+ "description": "Output of the validate probe API.",
+ "properties": {
+ "isValid": {
+ "description": "Indicates whether the probe URL is accepted or not.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "errorCode": {
+ "description": "Specifies the error code when the probe url is not accepted.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "The detailed error message describing why the probe URL is not accepted.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceUsageListResult": {
+ "description": "Output of check resource usage API.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ResourceUsage"
+ },
+ "description": "List of resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of custom domain objects if there are any."
+ }
+ }
+ },
+ "ResourceUsage": {
+ "description": "Output of check resource usage API.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type for which the usage is provided."
+ },
+ "unit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unit of the usage. e.g. Count."
+ },
+ "currentValue": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Actual value of usage on the specified resource type."
+ },
+ "limit": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Quota of the specified resource type."
+ }
+ }
+ },
+ "ResourceType": {
+ "description": "Type of CDN resource used in CheckNameAvailability.",
+ "enum": [
+ "Microsoft.Cdn/Profiles/Endpoints"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceType",
+ "modelAsString": false
+ }
+ },
+ "Operation": {
+ "description": "CDN REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "readOnly": true,
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Cdn",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Profile, endpoint, etc.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationsListResult": {
+ "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of CDN operations supported by the CDN resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "EdgenodeResult": {
+ "description": "Result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EdgeNode"
+ },
+ "description": "Edge node of CDN service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of edgenode list results if there are any."
+ }
+ }
+ },
+ "EdgeNode": {
+ "description": "Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EdgeNodeProperties"
+ }
+ }
+ },
+ "EdgeNodeProperties": {
+ "description": "The JSON object that contains the properties required to create an edgenode.",
+ "required": [
+ "ipAddressGroups"
+ ],
+ "properties": {
+ "ipAddressGroups": {
+ "description": "List of ip address groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpAddressGroup"
+ }
+ }
+ }
+ },
+ "IpAddressGroup": {
+ "description": "CDN Ip address group",
+ "type": "object",
+ "properties": {
+ "deliveryRegion": {
+ "description": "The delivery region of the ip address group",
+ "type": "string"
+ },
+ "ipv4Addresses": {
+ "description": "The list of ip v4 addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cidrIpAddress"
+ }
+ },
+ "ipv6Addresses": {
+ "description": "The list of ip v6 addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cidrIpAddress"
+ }
+ }
+ }
+ },
+ "cidrIpAddress": {
+ "description": "CIDR Ip address",
+ "type": "object",
+ "properties": {
+ "baseIpAddress": {
+ "description": "Ip adress itself.",
+ "type": "string"
+ },
+ "prefixLength": {
+ "description": "The length of the prefix of the ip address.",
+ "type": "integer"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The core properties of ARM resources",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "QueryStringCachingBehavior": {
+ "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.",
+ "enum": [
+ "IgnoreQueryString",
+ "BypassCaching",
+ "UseQueryString",
+ "NotSet"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "QueryStringCachingBehavior",
+ "modelAsString": false
+ }
+ },
+ "Sku": {
+ "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.",
+ "properties": {
+ "name": {
+ "description": "Name of the pricing tier.",
+ "enum": [
+ "Standard_Verizon",
+ "Premium_Verizon",
+ "Custom_Verizon",
+ "Standard_Akamai",
+ "Standard_ChinaCdn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "type": "object"
+ },
+ "OptimizationType": {
+ "description": "Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.",
+ "enum": [
+ "GeneralWebDelivery",
+ "GeneralMediaStreaming",
+ "VideoOnDemandMediaStreaming",
+ "LargeFileDownload",
+ "DynamicSiteAcceleration"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OptimizationType",
+ "modelAsString": true
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error reponse indicates CDN 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"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. Current version is 2017-04-02."
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "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/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CheckNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..053b53667a51
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "checkNameAvailabilityInput": {
+ "name": "sampleName",
+ "type": "Microsoft.Cdn/Profiles/Endpoints"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "Name is already in use",
+ "message": "Name not available"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Create.json
new file mode 100644
index 000000000000..abb7e984c3db
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Create.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customDomainProperties": {
+ "hostName": "www.someDomain.net"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Enabling",
+ "customHttpsProvisioningSubstate": "PendingDomainControlValidationRequestApproval",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..0277f5bd4b47
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_DisableCustomHttps.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_DisableCustomHttps.json
new file mode 100644
index 000000000000..02f0185444a3
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_DisableCustomHttps.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttps.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttps.json
new file mode 100644
index 000000000000..02f0185444a3
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttps.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..ebde4b9a1050
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Disabled",
+ "customHttpsProvisioningSubstate": "None",
+ "validationData": null
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_ListByEndpoint.json
new file mode 100644
index 000000000000..d027d012cb6a
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_ListByEndpoint.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/customdomains",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "customHttpsProvisioningState": "Disabled",
+ "customHttpsProvisioningSubstate": "None",
+ "validationData": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/EdgeNodes_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/EdgeNodes_List.json
new file mode 100644
index 000000000000..9e360357bfc8
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/EdgeNodes_List.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Standard_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "180.240.184.128",
+ "prefixLength": 25
+ },
+ {
+ "baseIpAddress": "152.195.27.0",
+ "prefixLength": 24
+ }
+ ],
+ "ipv6Addresses": [
+ {
+ "baseIpAddress": "2606:2800:60f2::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "Premium_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Premium_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "152.195.27.0",
+ "prefixLength": 24
+ }
+ ],
+ "ipv6Addresses": [
+ {
+ "baseIpAddress": "2606:2800:60f2::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "name": "Custom_Verizon",
+ "id": "/providers/Microsoft.Cdn/edgenodes/Custom_Verizon",
+ "type": "Microsoft.Cdn/edgenodes",
+ "properties": {
+ "ipAddressGroups": [
+ {
+ "deliveryRegion": "All",
+ "ipv4Addresses": [
+ {
+ "baseIpAddress": "192.229.176.0",
+ "prefixLength": 24
+ },
+ {
+ "baseIpAddress": "2606:2800:420b::",
+ "prefixLength": 48
+ },
+ {
+ "baseIpAddress": "2606:2800:700c::",
+ "prefixLength": 48
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Create.json
new file mode 100644
index 000000000000..c98df30c0897
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Create.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "endpoint": {
+ "location": "WestCentralUs",
+ "properties": {
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {},
+ "location": "WestCentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": null,
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "IgnoreQueryString",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "customDomains": [],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Delete.json
new file mode 100644
index 000000000000..b98388fb2273
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Get.json
new file mode 100644
index 000000000000..e3a4b9d5f056
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Get.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {},
+ "location": "CentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Running",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "customDomains": [],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ListByProfile.json
new file mode 100644
index 000000000000..217122b2398a
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ListByProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {},
+ "location": "CentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Running",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "customDomains": [],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ListResourceUsage.json
new file mode 100644
index 000000000000..a8871983f300
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ListResourceUsage.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "customdomain",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 20
+ },
+ {
+ "resourceType": "geofilter",
+ "unit": "count",
+ "currentValue": 0,
+ "limit": 25
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_LoadContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_LoadContent.json
new file mode 100644
index 000000000000..03d16a432059
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_LoadContent.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "contentFilePaths": {
+ "contentPaths": ["/folder1"]
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_PurgeContent.json
new file mode 100644
index 000000000000..03d16a432059
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_PurgeContent.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "contentFilePaths": {
+ "contentPaths": ["/folder1"]
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Start.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Start.json
new file mode 100644
index 000000000000..4754a74bb2cd
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Start.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Starting",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "customDomains": [],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Stop.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Stop.json
new file mode 100644
index 000000000000..50a2e1544fae
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Stop.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": "www.bing.com",
+ "provisioningState": "Succeeded",
+ "resourceState": "Stopping",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "NotSet",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "customDomains": [],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": "DynamicSiteAcceleration",
+ "probePath": "/image",
+ "geoFilters": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Update.json
new file mode 100644
index 000000000000..ad3bea2cccf5
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_Update.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "endpointUpdateProperties": {
+ "tags": {
+ "additionalProperties": "Tag1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "endpoint1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1",
+ "type": "Microsoft.Cdn/profiles/endpoints",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "properties": {
+ "hostName": "endpoint1.azureedge.net",
+ "originHostHeader": null,
+ "provisioningState": "Creating",
+ "resourceState": "Creating",
+ "isHttpAllowed": true,
+ "isHttpsAllowed": true,
+ "queryStringCachingBehavior": "IgnoreQueryString",
+ "originPath": null,
+ "origins": [
+ {
+ "name": "www-bing-com",
+ "properties": {
+ "hostName": "www.bing.com",
+ "httpPort": 80,
+ "httpsPort": 443
+ }
+ }
+ ],
+ "customDomains": [],
+ "contentTypesToCompress": [],
+ "isCompressionEnabled": false,
+ "optimizationType": null,
+ "probePath": null,
+ "geoFilters": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ValidateCustomDomain.json
new file mode 100644
index 000000000000..b6460da5055d
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Endpoints_ValidateCustomDomain.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainProperties": {
+ "hostname": "www.someDomain.com"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "customDomainValidated": true,
+ "message": null,
+ "reason": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Operations_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Operations_List.json
new file mode 100644
index 000000000000..d143720c7729
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Operations_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Cdn/register/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Microsoft.Cdn Resource Provider",
+ "operation": "Registers the Microsoft.Cdn Resource Provider",
+ "description": "Registers the subscription for the CDN resource provider and enables the creation of CDN profiles."
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/read",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "read"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/edgenodes/delete",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "EdgeNode",
+ "operation": "delete"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/profiles/read",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "read"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/profiles/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/write",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "write"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/delete",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "delete"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/CheckResourceUsage/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "CheckResourceUsage"
+ }
+ },
+ {
+ "name": "Microsoft.Cdn/operationresults/profileresults/GenerateSsoUri/action",
+ "display": {
+ "provider": "Microsoft.Cdn",
+ "resource": "Profile",
+ "operation": "GenerateSsoUri"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_Get.json
new file mode 100644
index 000000000000..41a1a2a986f2
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": null,
+ "httpsPort": null
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_ListByEndpoint.json
new file mode 100644
index 000000000000..3cbffb8249f4
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_ListByEndpoint.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": null,
+ "httpsPort": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_Update.json
new file mode 100644
index 000000000000..55ab446897c2
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Origins_Update.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "originName": "www-someDomain-net",
+ "originUpdateProperties": {
+ "httpPort": 42,
+ "httpsPort": 43
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "www-someDomain-net",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
+ "type": "Microsoft.Cdn/profiles/endpoints/origins",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active",
+ "hostName": "www.someDomain.net",
+ "httpPort": 42,
+ "httpsPort": 43
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Create.json
new file mode 100644
index 000000000000..2d104cd08f83
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Create.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "profile": {
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "resourceState": "Creating"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Delete.json
new file mode 100644
index 000000000000..36d27e79ad17
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_GenerateSsoUri.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_GenerateSsoUri.json
new file mode 100644
index 000000000000..16d1339efaf7
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_GenerateSsoUri.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "ssoUriValue": "https://someuri.com"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Get.json
new file mode 100644
index 000000000000..c2282dbf91c6
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Get.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_List.json
new file mode 100644
index 000000000000..4e554c9ac204
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_List.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile2",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListByResourceGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListByResourceGroup.json
new file mode 100644
index 000000000000..e1d8c0dfe4ac
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ },
+ {
+ "name": "profile2",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile2",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {},
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Akamai"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListResourceUsage.json
new file mode 100644
index 000000000000..303f674c060b
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListResourceUsage.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "endpoint",
+ "unit": "count",
+ "currentValue": 0,
+ "limit": 25
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListSupportedOptimizationTypes.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListSupportedOptimizationTypes.json
new file mode 100644
index 000000000000..3417109dc336
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_ListSupportedOptimizationTypes.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "supportedOptimizationTypes": [
+ "GeneralWebDelivery",
+ "DynamicSiteAcceleration"
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Update.json
new file mode 100644
index 000000000000..082d3e242457
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/Profiles_Update.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "profileUpdateParameters": {
+ "tags":{
+ "additionalProperties": "Tag1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "profile1",
+ "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1",
+ "type": "Microsoft.Cdn/profiles",
+ "tags": {
+ "additionalProperties": "Tag1"
+ },
+ "location": "WestCentralUs",
+ "sku": {
+ "name": "Standard_Verizon"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceState": "Active"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/ResourceUsage_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/ResourceUsage_List.json
new file mode 100644
index 000000000000..4fe6534c0344
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/ResourceUsage_List.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "profile",
+ "unit": "count",
+ "currentValue": 31,
+ "limit": 200
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/ValidateProbe.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/ValidateProbe.json
new file mode 100644
index 000000000000..217da3f3f9a2
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/ValidateProbe.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "validateProbeInput": {
+ "probeURL": "https://www.bing.com/image"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true,
+ "errorCode": "None",
+ "message": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md
index 6eb8631e72f0..45d256028d5a 100644
--- a/specification/cdn/resource-manager/readme.md
+++ b/specification/cdn/resource-manager/readme.md
@@ -29,6 +29,15 @@ openapi-type: arm
tag: package-2017-04
```
+### Tag: package-2017-10
+
+These settings apply only when `--tag=package-2017-10` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-10'
+input-file:
+- Microsoft.Cdn/stable/2017-10-12/cdn.json
+```
+
### Tag: package-2017-04
These settings apply only when `--tag=package-2017-04` is specified on the command line.
@@ -70,6 +79,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -124,6 +146,26 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-10
+ - tag: package-2017-04
+ - tag: package-2016-10
+ - tag: package-2016-04
+ - tag: package-2015-06
+```
+
+### Tag: package-2017-10 and go
+
+These settings apply only when `--tag=package-2017-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-10' && $(go)
+output-folder: $(go-sdk-folder)/services/cdn/mgmt/2017-10-12/cdn
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
@@ -159,3 +201,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.cdn
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cdn
+```
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
index bef0f7a95d31..57565a902bb4 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
@@ -21,6 +21,19 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/ComputerVision.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -29,7 +42,7 @@ csharp:
license-header: MICROSOFT_MIT_NO_VERSION
azure-arm: false
namespace: Microsoft.Azure.CognitiveServices.Vision.ComputerVision
- output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/Vision/Generated/ComputerVision
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/ComputerVision/ComputerVision/Generated
clear-output-folder: true
```
@@ -71,6 +84,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -78,4 +98,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.computervision
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/computervision
+```
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/readme.md b/specification/cognitiveservices/data-plane/ContentModerator/readme.md
index 8c469db077ec..231029ec2129 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/readme.md
+++ b/specification/cognitiveservices/data-plane/ContentModerator/readme.md
@@ -27,6 +27,19 @@ add-credentials: true
openapi-type: data-plane
```
+## 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -55,6 +68,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.cognitiveservices.vision.contentmoderator
package-name: azure-cognitiveservices-vision-contentmoderator
+ package-version: 0.1.0
clear-output-folder: true
title: "Content Moderator API"
```
@@ -80,6 +94,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -87,4 +108,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.contentmoderator
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/contentmoderator
+```
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/ContentModerator.json b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/ContentModerator.json
index bb21a80989ce..6f9002a50f07 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/ContentModerator.json
+++ b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/ContentModerator.json
@@ -264,7 +264,7 @@
},
"x-ms-examples": {
"Detect Language request": {
- "$ref": "./examples/ScreenTextResource.JSON"
+ "$ref": "../v1.0/examples/ScreenTextResource.JSON"
}
},
"produces": [
@@ -321,7 +321,7 @@
},
"x-ms-examples": {
"Detect Language request": {
- "$ref": "./examples/DetectLanguageResource.JSON"
+ "$ref": "../v1.0/examples/DetectLanguageResource.JSON"
}
},
"produces": [
@@ -359,7 +359,7 @@
},
"x-ms-examples": {
"Get List Id Details request": {
- "$ref": "./examples/GetImageListIdDetailsResource.JSON"
+ "$ref": "../v1.0/examples/GetImageListIdDetailsResource.JSON"
}
},
"produces": [
@@ -393,7 +393,7 @@
},
"x-ms-examples": {
"Delete Imagelist request": {
- "$ref": "./examples/DeleteImageListResource.JSON"
+ "$ref": "../v1.0/examples/DeleteImageListResource.JSON"
}
},
"produces": [
@@ -440,7 +440,7 @@
},
"x-ms-examples": {
"Update Imagelist request": {
- "$ref": "./examples/UpdateImageListResource.JSON"
+ "$ref": "../v1.0/examples/UpdateImageListResource.JSON"
}
},
"produces": [
@@ -486,7 +486,7 @@
},
"x-ms-examples": {
"Create Imagelist request": {
- "$ref": "./examples/CreateImageListResource.JSON"
+ "$ref": "../v1.0/examples/CreateImageListResource.JSON"
}
},
"produces": [
@@ -518,7 +518,7 @@
},
"x-ms-examples": {
"Get All Imagelists request": {
- "$ref": "./examples/GetImageListsResource.JSON"
+ "$ref": "../v1.0/examples/GetImageListsResource.JSON"
}
},
"produces": [
@@ -557,7 +557,7 @@
},
"x-ms-examples": {
"Refresh Image Index request": {
- "$ref": "./examples/RefreshImageIndexResource.JSON"
+ "$ref": "../v1.0/examples/RefreshImageIndexResource.JSON"
}
},
"produces": [
@@ -593,7 +593,7 @@
},
"x-ms-examples": {
"Get Term ListId Details request": {
- "$ref": "./examples/GetTermListIdDetailsResource.JSON"
+ "$ref": "../v1.0/examples/GetTermListIdDetailsResource.JSON"
}
},
"produces": [
@@ -627,7 +627,7 @@
},
"x-ms-examples": {
"Delete Termlist request": {
- "$ref": "./examples/DeleteTermListResource.JSON"
+ "$ref": "../v1.0/examples/DeleteTermListResource.JSON"
}
},
"produces": [
@@ -674,7 +674,7 @@
},
"x-ms-examples": {
"Update Termlist request": {
- "$ref": "./examples/UpdateTermListResource.JSON"
+ "$ref": "../v1.0/examples/UpdateTermListResource.JSON"
}
},
"produces": [
@@ -720,7 +720,7 @@
},
"x-ms-examples": {
"Create Termlist request": {
- "$ref": "./examples/CreateTermListResource.JSON"
+ "$ref": "../v1.0/examples/CreateTermListResource.JSON"
}
},
"produces": [
@@ -752,7 +752,7 @@
},
"x-ms-examples": {
"Get All Termlists request": {
- "$ref": "./examples/GetTermListsResource.JSON"
+ "$ref": "../v1.0/examples/GetTermListsResource.JSON"
}
},
"produces": [
@@ -795,7 +795,7 @@
},
"x-ms-examples": {
"Refresh Term Index request": {
- "$ref": "./examples/RefreshTermIndexResource.JSON"
+ "$ref": "../v1.0/examples/RefreshTermIndexResource.JSON"
}
},
"produces": [
@@ -880,7 +880,7 @@
},
"x-ms-examples": {
"Delete All Images request": {
- "$ref": "./examples/DeleteAllImagesResource.JSON"
+ "$ref": "../v1.0/examples/DeleteAllImagesResource.JSON"
}
},
"produces": [
@@ -914,7 +914,7 @@
},
"x-ms-examples": {
"Get All Image Ids request": {
- "$ref": "./examples/GetAllImageIdsResource.JSON"
+ "$ref": "../v1.0/examples/GetAllImageIdsResource.JSON"
}
},
"produces": [
@@ -953,7 +953,7 @@
},
"x-ms-examples": {
"Delete Image request": {
- "$ref": "./examples/DeleteImageResource.JSON"
+ "$ref": "../v1.0/examples/DeleteImageResource.JSON"
}
},
"produces": [
@@ -999,7 +999,7 @@
},
"x-ms-examples": {
"Add Term request": {
- "$ref": "./examples/AddTermResource.JSON"
+ "$ref": "../v1.0/examples/AddTermResource.JSON"
}
},
"produces": [
@@ -1040,7 +1040,7 @@
},
"x-ms-examples": {
"Delete Term request": {
- "$ref": "./examples/DeleteTermResource.JSON"
+ "$ref": "../v1.0/examples/DeleteTermResource.JSON"
}
},
"produces": [
@@ -1094,7 +1094,7 @@
},
"x-ms-examples": {
"Get All Terms request": {
- "$ref": "./examples/GetAllTermsResource.JSON"
+ "$ref": "../v1.0/examples/GetAllTermsResource.JSON"
}
},
"produces": [
@@ -1131,7 +1131,7 @@
},
"x-ms-examples": {
"Delete AllTerms request": {
- "$ref": "./examples/DeleteAllTermsResource.JSON"
+ "$ref": "../v1.0/examples/DeleteAllTermsResource.JSON"
}
},
"produces": [
@@ -1178,7 +1178,7 @@
},
"x-ms-examples": {
"Get Review request": {
- "$ref": "./examples/GetReviewResource.JSON"
+ "$ref": "../v1.0/examples/GetReviewResource.JSON"
}
},
"produces": [
@@ -1225,7 +1225,7 @@
},
"x-ms-examples": {
"Get Job Details request": {
- "$ref": "./examples/GetJobDetailsResource.JSON"
+ "$ref": "../v1.0/examples/GetJobDetailsResource.JSON"
}
},
"produces": [
@@ -1336,7 +1336,7 @@
},
"x-ms-examples": {
"Create Review request": {
- "$ref": "./examples/CreateReviewResource.JSON"
+ "$ref": "../v1.0/examples/CreateReviewResource.JSON"
}
},
"produces": [
@@ -1423,7 +1423,7 @@
},
"x-ms-examples": {
"Create Job request": {
- "$ref": "./examples/CreateJobResource.JSON"
+ "$ref": "../v1.0/examples/CreateJobResource.JSON"
}
},
"produces": [
@@ -1572,7 +1572,7 @@
},
"x-ms-examples": {
"publish video request": {
- "$ref": "./examples/PublishVideoReviewResource.JSON"
+ "$ref": "../v1.0/examples/PublishVideoReviewResource.JSON"
}
},
"produces": [
@@ -1623,7 +1623,7 @@
},
"x-ms-examples": {
"Transcript moderation result request": {
- "$ref": "./examples/TranscriptModerationResult.JSON"
+ "$ref": "../v1.0/examples/TranscriptModerationResult.JSON"
}
},
"produces": [
@@ -1678,7 +1678,7 @@
},
"x-ms-examples": {
"Add transcript request": {
- "$ref": "./examples/AddVideoTranscriptResource.JSON"
+ "$ref": "../v1.0/examples/AddVideoTranscriptResource.JSON"
}
},
"produces": [
@@ -1831,7 +1831,7 @@
},
"x-ms-examples": {
"Image OCR request": {
- "$ref": "./examples/OCRResource.JSON"
+ "$ref": "../v1.0/examples/OCRResource.JSON"
}
},
"produces": [
@@ -2028,7 +2028,7 @@
},
"x-ms-examples": {
"Match Image request": {
- "$ref": "./examples/MatchImageResource.JSON"
+ "$ref": "../v1.0/examples/MatchImageResource.JSON"
}
},
"produces": [
@@ -2231,7 +2231,7 @@
},
"x-ms-examples": {
"Create video review request": {
- "$ref": "./examples/CreateVideoReviewResource.JSON"
+ "$ref": "../v1.0/examples/CreateVideoReviewResource.JSON"
}
},
"produces": [
@@ -2468,17 +2468,32 @@
"Classification": {
"description": "The classification details of the text.",
"properties": {
- "AdultScore": {
- "description": "The adult score.",
- "type": "number"
+ "Category1": {
+ "description": "The category1 score details of the text. Click here for more details on category classification.",
+ "properties": {
+ "Score": {
+ "description": "The category1 score.",
+ "type": "number"
+ }
+ }
},
- "RacyScore": {
- "description": "The racy score.",
- "type": "number"
+ "Category2": {
+ "description": "The category2 score details of the text. Click here for more details on category classification.",
+ "properties": {
+ "Score": {
+ "description": "The category2 score.",
+ "type": "number"
+ }
+ }
},
- "OffensiveScore": {
- "description": "The offensive score.",
- "type": "number"
+ "Category3": {
+ "description": "The category3 score details of the text. Click here for more details on category classification.",
+ "properties": {
+ "Score": {
+ "description": "The category3 score.",
+ "type": "number"
+ }
+ }
},
"ReviewRecommended": {
"description": "The review recommended flag.",
@@ -2486,6 +2501,7 @@
}
}
},
+
"PII": {
"description": "Personal Identifier Information details.",
"properties": {
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddFrameResource.JSON b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddFrameResource.JSON
index e3b806b3cc31..6b41a91630aa 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddFrameResource.JSON
+++ b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddFrameResource.JSON
@@ -4,10 +4,9 @@
"baseUrl": "southeastasia.api.cognitive.microsoft.com",
"teamName": "ModeratorTeam",
"reviewId": "201711v18ea829372b14f9e9d382621e62429a9",
- "timescale": 1,
"Content-Type": "application/json",
"videoFrameBody": [
- {
+ {
"Timestamp": "2334",
"FrameImage": "https://ae01.alicdn.com/kf/HTB1QMvNMVXXXXbpapXXq6xXFXXXJ/Sexy-Europe-font-b-Racy-b-font-Lingerie-Lace-font-b-Red-b-font-Bow-Bride.jpg",
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddImageResource.JSON b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddImageResource.JSON
index f56b07b1a0c1..e1c1e31f5671 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddImageResource.JSON
+++ b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/AddImageResource.JSON
@@ -3,7 +3,7 @@
"Ocp-Apim-Subscription-Key": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
"baseUrl": "southeastasia.api.cognitive.microsoft.com",
"listId": "89003",
- "tag": 105,
+
"label": "test",
"Content-Type": "application/json",
"ImageUrl": {
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/EvaluateImageResource.JSON b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/EvaluateImageResource.JSON
index 2cc0ae9fa247..bca197a93e6e 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/EvaluateImageResource.JSON
+++ b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/EvaluateImageResource.JSON
@@ -2,7 +2,7 @@
"parameters": {
"Ocp-Apim-Subscription-Key": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
"baseUrl": "southeastasia.api.cognitive.microsoft.com",
- "CacheImage": true,
+
"Content-Type": "application/json",
"ImageUrl": {
"DataRepresentation": "URL",
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/FindFacesResource.JSON b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/FindFacesResource.JSON
index ad03662f3001..491963284806 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/FindFacesResource.JSON
+++ b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/FindFacesResource.JSON
@@ -2,7 +2,7 @@
"parameters": {
"Ocp-Apim-Subscription-Key": "a79e5f9eeafa4f059ac507a93e1a9ff1",
"baseUrl": "southeastasia.api.cognitive.microsoft.com",
- "CacheImage": true,
+
"Content-Type": "application/json",
"ImageUrl": {
"DataRepresentation": "URL",
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/GetFramesResource.JSON b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/GetFramesResource.JSON
index 15bf27cdc2f3..f7d6a949aa3b 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/GetFramesResource.JSON
+++ b/specification/cognitiveservices/data-plane/ContentModerator/stable/v1.0/examples/GetFramesResource.JSON
@@ -3,9 +3,7 @@
"Ocp-Apim-Subscription-Key": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
"baseUrl": "southeastasia.api.cognitive.microsoft.com",
"teamName": "Content moderator",
- "reviewId": "201711v18ea829372b14f9e9d382621e62429a9",
- "startSeed": "1",
- "noOfRecords": "1"
+ "reviewId": "201711v18ea829372b14f9e9d382621e62429a9"
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/CustomSearch/readme.md b/specification/cognitiveservices/data-plane/CustomSearch/readme.md
index ddc07dfe8517..3c50b64f5fa5 100644
--- a/specification/cognitiveservices/data-plane/CustomSearch/readme.md
+++ b/specification/cognitiveservices/data-plane/CustomSearch/readme.md
@@ -21,6 +21,20 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/CustomSearch.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -68,6 +82,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -84,3 +105,19 @@ directive:
- suppress: R3016
reason: _type is a polymorphic discriminator that can't be changed.
```
+
+
+## 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.cognitiveservices.customsearch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/customsearch
+```
diff --git a/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/CustomSearch.json b/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/CustomSearch.json
index c8a3f48ab3b6..fc9316f94580 100644
--- a/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/CustomSearch.json
+++ b/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/CustomSearch.json
@@ -101,9 +101,10 @@
"x-ms-client-name": "CustomConfig",
"in": "query",
"description": "The identifier for the custom search configuration",
- "required": false,
+ "required": true,
"type": "integer",
- "format": "int32"
+ "format": "int64",
+ "minimum": 0
},
{
"name": "cc",
diff --git a/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/examples/SuccessfulQueryRequest.json b/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/examples/SuccessfulQueryRequest.json
index 7e01c9635456..e1d779f0dfac 100644
--- a/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/examples/SuccessfulQueryRequest.json
+++ b/specification/cognitiveservices/data-plane/CustomSearch/stable/v1.0/examples/SuccessfulQueryRequest.json
@@ -2,7 +2,8 @@
"parameters": {
"X-BingApis-SDK": "true",
"Ocp-Apim-Subscription-Key": "{API key}",
- "q": "cortana"
+ "q": "cortana",
+ "customConfig": 123456
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
new file mode 100644
index 000000000000..fca9e260742d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
@@ -0,0 +1,78 @@
+# Cognitive Services Custom Vision SDK
+
+> see https://aka.ms/autorest
+
+Configuration for generating Custom Vision Prediction SDK.
+
+The current release is `release_1_0`.
+
+``` yaml
+
+tag: release_1_0
+openapi-type: data-plane
+```
+# Releases
+
+### Release 1.0
+These settings apply only when `--tag=release_1_0` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_0'
+input-file: stable/v1.1/Prediction.json
+```
+
+# Code Generation
+
+## Suppression
+``` yaml
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: Live service and portal doesn't use came case properties
+```
+
+## 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
+```
+
+## 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.Vision.CustomVision.Prediction
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/Vision/Generated/CustomVision/Prediction
+ clear-output-folder: true
+```
+
+## 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:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.cognitiveservices.vision.customvision.prediction
+ package-name: azure-cognitiveservices-vision-customvision
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision/azure/cognitiveservices/vision/customvision/prediction
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision
+```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/Prediction.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/Prediction.json
new file mode 100644
index 000000000000..abd0a213fc87
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/Prediction.json
@@ -0,0 +1,385 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.1",
+ "title": "PredictionEndpoint"
+ },
+ "host": "southcentralus.api.cognitive.microsoft.com",
+ "basePath": "/customvision/v1.1/Prediction",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/{projectId}/url": {
+ "post": {
+ "tags": [
+ "ImagePredictionApi"
+ ],
+ "summary": "Predict an image url and saves the result",
+ "operationId": "PredictImageUrl",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "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": "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",
+ "x-nullable": true
+ },
+ {
+ "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/ImagePredictionResultModel"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Prediction with Url request": {
+ "$ref": "./examples/SuccessfulPredictionWithUrl.json"
+ }
+ }
+ }
+ },
+ "/{projectId}/image": {
+ "post": {
+ "tags": [
+ "ImagePredictionApi"
+ ],
+ "summary": "Predict an image and saves the result",
+ "operationId": "PredictImage",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "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",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePredictionResultModel"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Prediction with Image request": {
+ "$ref": "./examples/SuccessfulPredictionWithImage.json"
+ }
+ }
+ }
+ },
+ "/{projectId}/url/nostore": {
+ "post": {
+ "tags": [
+ "ImagePredictionApi"
+ ],
+ "summary": "Predict an image url without saving the result",
+ "operationId": "PredictImageUrlWithNoStore",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "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": "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",
+ "x-nullable": true
+ },
+ {
+ "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/ImagePredictionResultModel"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Prediction with Url request": {
+ "$ref": "./examples/SuccessfulPredictionWithUrl.json"
+ }
+ }
+ }
+ },
+ "/{projectId}/image/nostore": {
+ "post": {
+ "tags": [
+ "ImagePredictionApi"
+ ],
+ "summary": "Predict an image without saving the result",
+ "operationId": "PredictImageWithNoStore",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "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",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePredictionResultModel"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Prediction with Image request": {
+ "$ref": "./examples/SuccessfulPredictionWithImage.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ImageUrl": {
+ "type": "object",
+ "properties": {
+ "Url": {
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImagePredictionResultModel": {
+ "description": "result of an image prediction request",
+ "type": "object",
+ "properties": {
+ "Id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Project": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Iteration": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Predictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagPredictionModel"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageTagPredictionModel": {
+ "type": "object",
+ "properties": {
+ "TagId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Tag": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Probability": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ }
+ },
+ "parameters": {
+ "ApiKey": {
+ "name": "Prediction-Key",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "x-ms-client-name": "ApiKey"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/examples/SuccessfulPredictionWithImage.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/examples/SuccessfulPredictionWithImage.json
new file mode 100644
index 000000000000..9d9a1cc71a84
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/examples/SuccessfulPredictionWithImage.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Prediction-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:41.6789561Z",
+ "Predictions": [
+ {
+ "TagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "Tag": "Hemlock",
+ "Probability": 0.05149666
+ },
+ {
+ "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "Tag": "Japanese Cherry",
+ "Probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/examples/SuccessfulPredictionWithUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/examples/SuccessfulPredictionWithUrl.json
new file mode 100644
index 000000000000..f369b17a802b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v1.1/examples/SuccessfulPredictionWithUrl.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Prediction-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:41.6789561Z",
+ "Predictions": [
+ {
+ "TagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "Tag": "Hemlock",
+ "Probability": 0.05149666
+ },
+ {
+ "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "Tag": "Japanese Cherry",
+ "Probability": 0.000193528482
+ }
+ ]
+ }
+ }
+ }
+}
\ 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
new file mode 100644
index 000000000000..01c52b82bd78
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
@@ -0,0 +1,79 @@
+# Cognitive Services Custom Vision SDK
+
+> see https://aka.ms/autorest
+
+Configuration for generating Custom Vision Training SDK.
+
+The current release is `release_1_0`.
+
+``` yaml
+
+tag: release_1_0
+openapi-type: data-plane
+```
+# Releases
+
+### Release 1.0
+These settings apply only when `--tag=release_1_0` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_0'
+input-file: stable/v1.2/Training.json
+```
+
+# Code Generation
+
+## Suppression
+``` yaml
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: Live service and portal doesn't use came case properties
+```
+
+## 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
+```
+
+## 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.Vision.CustomVision.Training
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/Vision/Generated/CustomVision/Training
+ clear-output-folder: true
+```
+
+## 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:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.cognitiveservices.vision.customvision.training
+ package-name: azure-cognitiveservices-vision-customvision
+ clear-output-folder: true
+
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision/azure/cognitiveservices/vision/customvision/training
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision
+```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/Training.json
new file mode 100644
index 000000000000..c1d7e9435534
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/Training.json
@@ -0,0 +1,2929 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.2",
+ "title": "TrainingApi"
+ },
+ "host": "southcentralus.api.cognitive.microsoft.com",
+ "basePath": "/customvision/v1.2/Training",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/account": {
+ "get": {
+ "tags": [
+ "AccountApi"
+ ],
+ "summary": "Get basic information about your account",
+ "operationId": "GetAccountInfo",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetAccountInfo request": {
+ "$ref": "./examples/GetAccountInfo.json"
+ }
+ }
+ }
+ },
+ "/domains": {
+ "get": {
+ "tags": [
+ "DomainsApi"
+ ],
+ "summary": "Get a list of the available domains",
+ "operationId": "GetDomains",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Domain"
+ },
+ "x-nullable": true
+ }
+ }
+ },
+ "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",
+ "text/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"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetDomain request": {
+ "$ref": "./examples/GetDomain.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",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "An 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",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ],
+ "x-nullable": false
+ },
+ {
+ "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
+ },
+ {
+ "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"
+ },
+ "x-nullable": true
+ }
+ }
+ },
+ "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",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ],
+ "x-nullable": false
+ },
+ {
+ "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
+ },
+ {
+ "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"
+ },
+ "x-nullable": true
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetUntaggedImages request": {
+ "$ref": "./examples/GetUntaggedImages.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",
+ "text/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",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ }
+ },
+
+ "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. Limted to 256 images per batch",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "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",
+ "operationId": "CreateImagesFromFiles",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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"
+ }
+ }
+ },
+ "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",
+ "operationId": "CreateImagesFromUrls",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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"
+ }
+ }
+ },
+ "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",
+ "operationId": "CreateImagesFromPredictions",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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. Limted 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"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromPredictions request": {
+ "$ref": "./examples/CreateImagesFromPredictions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tags": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Associate a set of images with a set of tags",
+ "operationId": "PostImageTags",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful PostImageTags request": {
+ "$ref": "./examples/PostImageTags.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",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "Tags to be deleted from the specified images. Limted to 20 tags",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImageTags request": {
+ "$ref": "./examples/DeleteImageTags.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/predictions/query": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Get images that were sent to your prediction endpoint",
+ "operationId": "QueryPredictionResults",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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/PredictionQuery"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QueryPredictionResults request": {
+ "$ref": "./examples/QueryPredictionResults.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",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "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",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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 {Iris.Web.Api.Models.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",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePredictionResult"
+ }
+ }
+ },
+ "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": [
+ "application/json",
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "required": true,
+ "type": "file"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePredictionResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuickTestImage request": {
+ "$ref": "./examples/QuickTestImage.json"
+ }
+ }
+ }
+ },
+ "/projects": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get your projects",
+ "operationId": "GetProjects",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Project"
+ },
+ "x-nullable": true
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetProjects request": {
+ "$ref": "./examples/GetProjects.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Create a project",
+ "operationId": "CreateProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "Name of the project",
+ "required": true,
+ "type": "string",
+ "x-nullable": true
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "The description of the project",
+ "required": false,
+ "type": "string",
+ "x-nullable": true
+ },
+ {
+ "name": "domainId",
+ "in": "query",
+ "description": "The id of the domain to use for this project. Defaults to General",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ }
+ },
+ "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",
+ "text/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"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteProject request": {
+ "$ref": "./examples/DeleteProject.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific project",
+ "operationId": "UpdateProject",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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"
+ }
+ }
+ },
+ "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",
+ "text/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": {
+ "$ref": "#/definitions/Iteration"
+ }
+ }
+ },
+ "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",
+ "text/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"
+ },
+ "x-nullable": true
+ }
+ }
+ },
+ "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",
+ "text/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"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteIteration request": {
+ "$ref": "./examples/DeleteIteration.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific iteration",
+ "operationId": "UpdateIteration",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateIteration request": {
+ "$ref": "./examples/UpdateIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get detailed performance information about a trained iteration",
+ "operationId": "GetIterationPerformance",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/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 id of the trained iteration",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "description": "The 0 to 1 threshold to determine positive prediction",
+ "required": true,
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IterationPerformance"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIterationPerformance request": {
+ "$ref": "./examples/GetIterationPerformance.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",
+ "text/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"
+ },
+ "x-nullable": true
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetExports request": {
+ "$ref": "./examples/GetExports.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Export a trained iteration",
+ "operationId": "ExportIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/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 (coreml or tensorflow)",
+ "required": true,
+ "type": "string",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ExportIteration request": {
+ "$ref": "./examples/ExportIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get the tags for a given project and iteration",
+ "operationId": "GetTags",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TagList"
+ }
+ }
+ },
+ "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",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "Optional description for the tag",
+ "required": false,
+ "type": "string",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateTag request": {
+ "$ref": "./examples/CreateTag.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags/{tagId}": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get information about a specific tag",
+ "operationId": "GetTag",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/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",
+ "x-nullable": true
+ },
+ {
+ "$ref": "#/parameters/ApiKey"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteTag request": {
+ "$ref": "./examples/DeleteTag.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Update a tag",
+ "operationId": "UpdateTag",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "text/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"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateTag request": {
+ "$ref": "./examples/UpdateTag.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Account": {
+ "description": "Represents a user account",
+ "type": "object",
+ "properties": {
+ "UserName": {
+ "description": "Gets the name of the account owner",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Email": {
+ "description": "Gets the email associated with this account",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Keys": {
+ "$ref": "#/definitions/ApiKeys",
+ "description": "Gets the api keys associated with this account",
+ "readOnly": true
+ },
+ "Quotas": {
+ "$ref": "#/definitions/AccountQuota",
+ "description": "Gets the quotas associated with this account",
+ "readOnly": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ApiKeys": {
+ "type": "object",
+ "properties": {
+ "TrainingKeys": {
+ "$ref": "#/definitions/KeyPair"
+ },
+ "PredictionKeys": {
+ "$ref": "#/definitions/KeyPair"
+ }
+ },
+ "x-nullable": true
+ },
+ "AccountQuota": {
+ "description": "Represents a set of quotas assocated with an account",
+ "type": "object",
+ "properties": {
+ "Tier": {
+ "description": "Gets the tier of user",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Projects": {
+ "$ref": "#/definitions/Quota",
+ "description": "Gets the project quota",
+ "readOnly": true
+ },
+ "Predictions": {
+ "$ref": "#/definitions/Quota",
+ "description": "Gets the prediction quota",
+ "readOnly": true
+ },
+ "PerProject": {
+ "description": "Gets a list of quotas that apply per-project for each project",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerProjectQuota"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "KeyPair": {
+ "type": "object",
+ "properties": {
+ "PrimaryKey": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "SecondaryKey": {
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "Quota": {
+ "description": "Represents a quota",
+ "type": "object",
+ "properties": {
+ "Total": {
+ "format": "int32",
+ "description": "The total allowable amount in the quota",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Used": {
+ "format": "int32",
+ "description": "The amount of quota that has currently been used",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "TimeUntilReset": {
+ "format": "duration",
+ "description": "Gets the time remaining until the quota resets. Null if this quota does not reset.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "PerProjectQuota": {
+ "description": "Represents a set of quotas for a given project",
+ "type": "object",
+ "properties": {
+ "ProjectId": {
+ "format": "uuid",
+ "description": "Gets the project id of the project this quota applies to",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Iterations": {
+ "$ref": "#/definitions/Quota",
+ "description": "Gets the iteration quota for the project",
+ "readOnly": true
+ },
+ "Images": {
+ "$ref": "#/definitions/Quota",
+ "description": "Gets the image quota for the project",
+ "readOnly": true
+ },
+ "Tags": {
+ "$ref": "#/definitions/Quota",
+ "description": "Gets the tag quota for the project",
+ "readOnly": true
+ }
+ },
+ "x-nullable": true
+ },
+ "Domain": {
+ "type": "object",
+ "properties": {
+ "Id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Name": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Exportable": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "Image": {
+ "description": "Image model to be sent as JSON",
+ "type": "object",
+ "properties": {
+ "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": true
+ },
+ "ThumbnailUri": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Predictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PredictionTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageTag": {
+ "type": "object",
+ "properties": {
+ "TagId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "PredictionTag": {
+ "type": "object",
+ "properties": {
+ "TagId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Tag": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Probability": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageCreateSummary": {
+ "type": "object",
+ "properties": {
+ "IsBatchSuccessful": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageCreateResult"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageCreateResult": {
+ "type": "object",
+ "properties": {
+ "SourceUrl": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Status": {
+ "enum": [
+ "OK",
+ "OKDuplicate",
+ "ErrorSource",
+ "ErrorImageFormat",
+ "ErrorImageSize",
+ "ErrorStorage",
+ "ErrorLimitExceed",
+ "ErrorTagLimitExceed",
+ "ErrorUnknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Image": {
+ "$ref": "#/definitions/Image",
+ "readOnly": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageFileCreateBatch": {
+ "type": "object",
+ "properties": {
+ "Images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageFileCreateEntry"
+ },
+ "x-nullable": true
+ },
+ "TagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageFileCreateEntry": {
+ "type": "object",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "Contents": {
+ "format": "byte",
+ "type": "string",
+ "x-nullable": true
+ },
+ "TagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageUrlCreateBatch": {
+ "type": "object",
+ "properties": {
+ "Images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageUrlCreateEntry"
+ },
+ "x-nullable": true
+ },
+ "TagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageUrlCreateEntry": {
+ "type": "object",
+ "properties": {
+ "Url": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "TagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageIdCreateBatch": {
+ "type": "object",
+ "properties": {
+ "Images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageIdCreateEntry"
+ },
+ "x-nullable": true
+ },
+ "TagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageIdCreateEntry": {
+ "type": "object",
+ "properties": {
+ "Id": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "TagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageTagCreateBatch": {
+ "type": "object",
+ "properties": {
+ "Tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageTagCreateEntry": {
+ "type": "object",
+ "properties": {
+ "ImageId": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "TagId": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageTagCreateSummary": {
+ "type": "object",
+ "properties": {
+ "Created": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "x-nullable": true
+ },
+ "Duplicated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "x-nullable": true
+ },
+ "Exceeded": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "PredictionQueryToken": {
+ "type": "object",
+ "properties": {
+ "Session": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "Continuation": {
+ "type": "string",
+ "x-nullable": true
+ },
+ "MaxCount": {
+ "format": "int32",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "OrderBy": {
+ "enum": [
+ "Newest",
+ "Oldest",
+ "Suggested"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "Tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PredictionQueryTag"
+ },
+ "x-nullable": true
+ },
+ "IterationId": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": true
+ },
+ "StartTime": {
+ "format": "date-time",
+ "type": "string",
+ "x-nullable": true
+ },
+ "EndTime": {
+ "format": "date-time",
+ "type": "string",
+ "x-nullable": true
+ },
+ "Application": {
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "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
+ }
+ },
+ "x-nullable": true
+ },
+ "PredictionQuery": {
+ "type": "object",
+ "properties": {
+ "Results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Token": {
+ "$ref": "#/definitions/PredictionQueryToken",
+ "readOnly": true
+ }
+ },
+ "x-nullable": true
+ },
+ "Prediction": {
+ "description": "result of an image classification request",
+ "type": "object",
+ "properties": {
+ "Id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Project": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Iteration": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Predictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PredictionTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "ImageUri": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "ThumbnailUri": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageUrl": {
+ "type": "object",
+ "properties": {
+ "Url": {
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImagePredictionResult": {
+ "description": "result of an image prediction request",
+ "type": "object",
+ "properties": {
+ "Id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Project": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Iteration": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Predictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagPrediction"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageTagPrediction": {
+ "type": "object",
+ "properties": {
+ "TagId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Tag": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Probability": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "Project": {
+ "description": "Represents a project",
+ "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",
+ "x-nullable": true
+ },
+ "Description": {
+ "description": "Gets or sets the description of the project",
+ "type": "string",
+ "x-nullable": true
+ },
+ "Settings": {
+ "$ref": "#/definitions/ProjectSettings",
+ "description": "Gets or sets the project settings"
+ },
+ "CurrentIterationId": {
+ "format": "uuid",
+ "description": "Gets the current iteration id",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "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 modifed",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "ThumbnailUri": {
+ "description": "Gets the thumbnail url representing the image",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": 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",
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "Iteration": {
+ "description": "Iteration model to be sent over JSON",
+ "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",
+ "x-nullable": true
+ },
+ "IsDefault": {
+ "description": "Gets or sets a value indicating whether the iteration is the default iteration for the project",
+ "type": "boolean",
+ "x-nullable": false
+ },
+ "Status": {
+ "description": "Gets the current iteration status",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "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
+ },
+ "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
+ }
+ },
+ "x-nullable": 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"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "Precision": {
+ "format": "double",
+ "description": "Gets the precision",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "PrecisionStdDeviation": {
+ "format": "double",
+ "description": "Gets the standard deviation for the precision",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Recall": {
+ "format": "double",
+ "description": "Gets the recall",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "RecallStdDeviation": {
+ "format": "double",
+ "description": "Gets the standard deviation for the recall",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "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": true
+ },
+ "Precision": {
+ "format": "double",
+ "description": "Gets the precision",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "PrecisionStdDeviation": {
+ "format": "double",
+ "description": "Gets the standard deviation for the precision",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Recall": {
+ "format": "double",
+ "description": "Gets the recall",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "RecallStdDeviation": {
+ "format": "double",
+ "description": "Gets the standard deviation for the recall",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "Export": {
+ "type": "object",
+ "properties": {
+ "Platform": {
+ "enum": [
+ "CoreML",
+ "TensorFlow"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "Status": {
+ "enum": [
+ "Exporting",
+ "Failed",
+ "Done"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "DownloadUri": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "x-nullable": true
+ },
+ "TagList": {
+ "type": "object",
+ "properties": {
+ "Tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "TotalTaggedImages": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "TotalUntaggedImages": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ },
+ "Tag": {
+ "description": "Represents a Tag",
+ "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",
+ "x-nullable": true
+ },
+ "Description": {
+ "description": "Gets or sets the description of the tag",
+ "type": "string",
+ "x-nullable": true
+ },
+ "ImageCount": {
+ "format": "int32",
+ "description": "Gets the number of images with this tag",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "x-nullable": true
+ }
+ },
+ "parameters": {
+ "ApiKey": {
+ "name": "Training-Key",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "x-ms-client-name": "ApiKey"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromData.json
new file mode 100644
index 000000000000..8586988f96d9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromData.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "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:10.65Z",
+ "Width": 1095,
+ "Height": 900,
+ "ImageUri": "{Image Uri}",
+ "ThumbnailUri": "{Thumbnail Uri}",
+ "Tags": [
+ {
+ "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "Created": "2017-12-19T15:56:09.6105895Z"
+ }
+ ]
+ }
+ },
+ {
+ "SourceUrl": "\"hemlock_6.jpg\"",
+ "Status": "OK",
+ "Image": {
+ "Id": "f1855a92-b873-47e7-b513-f07a667ceda1",
+ "Created": "2017-12-19T15:56:10.57Z",
+ "Width": 900,
+ "Height": 1531,
+ "ImageUri": "{Image Uri}",
+ "ThumbnailUri": "{Thumbnail Uri}",
+ "Tags": [
+ {
+ "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "Created": "2017-12-19T15:56:09.5168568Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromFiles.json
new file mode 100644
index 000000000000..de26daed03b0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromFiles.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "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:10.65Z",
+ "Width": 1095,
+ "Height": 900,
+ "ImageUri": "{Image Uri}",
+ "ThumbnailUri": "{Thumbnail Uri}",
+ "Tags": [
+ {
+ "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "Created": "2017-12-19T15:56:09.6105895Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromPredictions.json
new file mode 100644
index 000000000000..fb0b1cd2e38d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromPredictions.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "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:10.65Z",
+ "Width": 1095,
+ "Height": 900,
+ "ImageUri": "{Image Uri}",
+ "ThumbnailUri": "{Thumbnail Uri}",
+ "Tags": [
+ {
+ "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "Created": "2017-12-19T15:56:09.6105895Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromUrls.json
new file mode 100644
index 000000000000..9334979f0071
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateImagesFromUrls.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "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:10.65Z",
+ "Width": 1095,
+ "Height": 900,
+ "ImageUri": "{Image Uri}",
+ "ThumbnailUri": "{Thumbnail Uri}",
+ "Tags": [
+ {
+ "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "Created": "2017-12-19T15:56:09.6105895Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateProject.json
new file mode 100644
index 000000000000..1bb1cae15f71
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateProject.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "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"
+ },
+ "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c",
+ "Created": "2017-12-18T05:43:18.08Z",
+ "LastModified": "2017-12-18T05:43:18.0962423Z",
+ "ThumbnailUri": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateTag.json
new file mode 100644
index 000000000000..0ab8558b7498
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/CreateTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "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",
+ "ImageCount": 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteImageTags.json
new file mode 100644
index 000000000000..518da817475e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteImageTags.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "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/v1.2/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteImages.json
new file mode 100644
index 000000000000..145476cdc56d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteImages.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "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/v1.2/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteIteration.json
new file mode 100644
index 000000000000..e8485f9861ca
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteIteration.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "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/v1.2/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeletePrediction.json
new file mode 100644
index 000000000000..4d32761fe2ee
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeletePrediction.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "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/v1.2/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteProject.json
new file mode 100644
index 000000000000..df01ee93a164
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteProject.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "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/v1.2/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteTag.json
new file mode 100644
index 000000000000..a0ec1fcd1899
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/DeleteTag.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "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/v1.2/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/ExportIteration.json
new file mode 100644
index 000000000000..b6d9687804ee
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/ExportIteration.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "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": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetAccountInfo.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetAccountInfo.json
new file mode 100644
index 000000000000..8efef30fd54a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetAccountInfo.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "UserName": "User Name",
+ "Email": "User@email.com",
+ "Keys": {
+ "TrainingKeys": {
+ "PrimaryKey": "{API Key}",
+ "SecondaryKey": "{API Key}"
+ },
+ "PredictionKeys": {
+ "PrimaryKey": "{API Key}",
+ "SecondaryKey": "{API Key}"
+ }
+ },
+ "Quotas": {
+ "Tier": "Free",
+ "Projects": {
+ "Total": 20,
+ "Used": 9
+ },
+ "Predictions": {
+ "Total": 1000,
+ "Used": 0
+ },
+ "PerProject": [
+ {
+ "ProjectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "Iterations": {
+ "Total": 20,
+ "Used": 0
+ },
+ "Images": {
+ "Total": 1000,
+ "Used": 0
+ },
+ "Tags": {
+ "Total": 50,
+ "Used": 2
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetDomain.json
new file mode 100644
index 000000000000..21638cd4413e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetDomain.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "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",
+ "Exportable": false
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetDomains.json
new file mode 100644
index 000000000000..bfb0e025d9b2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetDomains.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "Name": "General",
+ "Exportable": false
+ },
+ {
+ "Id": "c151d5b5-dd07-472a-acc8-15d29dea8518",
+ "Name": "Food",
+ "Exportable": false
+ },
+ {
+ "Id": "ca455789-012d-4b50-9fec-5bb63841c793",
+ "Name": "Landmarks",
+ "Exportable": false
+ },
+ {
+ "Id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39",
+ "Name": "Retail",
+ "Exportable": false
+ },
+ {
+ "Id": "45badf75-3591-4f26-a705-45678d3e9f5f",
+ "Name": "Adult",
+ "Exportable": false
+ },
+ {
+ "Id": "0732100f-1a38-4e49-a514-c9b44c697ab5",
+ "Name": "General (compact)",
+ "Exportable": true
+ },
+ {
+ "Id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894",
+ "Name": "Landmarks (compact)",
+ "Exportable": true
+ },
+ {
+ "Id": "6b4faeda-8396-481b-9f8b-177b9fa3097f",
+ "Name": "Retail (compact)",
+ "Exportable": true
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetExports.json
new file mode 100644
index 000000000000..54ea2e5ac9b2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetExports.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "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",
+ "DownloadUri": "{Download URI"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIteration.json
new file mode 100644
index 000000000000..6e94014acfd1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIteration.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "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",
+ "IsDefault": false,
+ "Status": "Completed",
+ "Created": "2017-12-18T22:40:36.9066667Z",
+ "LastModified": "2017-12-19T15:47:02.9511889Z",
+ "TrainedAt": "2017-12-19T15:47:02.9511889Z",
+ "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "Exportable": false,
+ "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIterationPerformance.json
new file mode 100644
index 000000000000..65774776e4f3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIterationPerformance.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "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/v1.2/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIterations.json
new file mode 100644
index 000000000000..605c84ca26c7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetIterations.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "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",
+ "IsDefault": true,
+ "Status": "Completed",
+ "Created": "2017-12-18T22:40:29.7304213Z",
+ "LastModified": "2017-12-18T22:40:41.3173903Z",
+ "TrainedAt": "2017-12-18T22:40:41.0058589Z",
+ "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "Exportable": false,
+ "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ {
+ "Id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "Name": "Iteration 2",
+ "IsDefault": false,
+ "Status": "Completed",
+ "Created": "2017-12-18T22:40:36.9066667Z",
+ "LastModified": "2017-12-19T15:47:02.9511889Z",
+ "TrainedAt": "2017-12-19T15:47:02.9511889Z",
+ "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "Exportable": false,
+ "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ {
+ "Id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5",
+ "Name": "Iteration 3",
+ "IsDefault": false,
+ "Status": "New",
+ "Created": "2017-12-19T15:46:59.2533333Z",
+ "LastModified": "2017-12-19T15:46:59.2699369Z",
+ "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "Exportable": false,
+ "DomainId": null
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetProject.json
new file mode 100644
index 000000000000..7bef04cddce3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetProject.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "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"
+ },
+ "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c",
+ "Created": "2017-12-18T05:43:18.08Z",
+ "LastModified": "2017-12-18T05:43:18.0962423Z",
+ "ThumbnailUri": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetProjects.json
new file mode 100644
index 000000000000..a681f0e41be2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetProjects.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "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"
+ },
+ "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c",
+ "Created": "2017-12-18T05:43:18.08Z",
+ "LastModified": "2017-12-18T05:43:18.0962423Z",
+ "ThumbnailUri": null
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTag.json
new file mode 100644
index 000000000000..f6c3f7f1bb19
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTag.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "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",
+ "ImageCount": 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTaggedImages.json
new file mode 100644
index 000000000000..b4074dc03914
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTaggedImages.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "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/v1.2/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTags.json
new file mode 100644
index 000000000000..710ba35167bc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetTags.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Tags": [
+ {
+ "Id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "Name": "Tag1",
+ "Description": "Description of Tag1",
+ "ImageCount": 0
+ }
+ ],
+ "TotalTaggedImages": 0,
+ "TotalUntaggedImages": 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetUntaggedImages.json
new file mode 100644
index 000000000000..b4074dc03914
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/GetUntaggedImages.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "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/v1.2/examples/PostImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/PostImageTags.json
new file mode 100644
index 000000000000..9b847879781a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/PostImageTags.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "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/v1.2/examples/QueryPredictionResults.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QueryPredictionResults.json
new file mode 100644
index 000000000000..927e0e9910db
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QueryPredictionResults.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "query": {
+ "OrderBy": "Newest",
+ "Tags": [
+ {
+ "Id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "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:26.5806336Z",
+ "Predictions": [
+ {
+ "TagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "Tag": "Tag 1",
+ "Probability": 1.0
+ },
+ {
+ "TagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "Tag": "Tag 2",
+ "Probability": 3.60627153E-12
+ }
+ ],
+ "ImageUri": "",
+ "ThumbnailUri": ""
+ }
+ ],
+ "Token": {
+ "Session": "1:286613",
+ "Continuation": null,
+ "MaxCount": 0,
+ "OrderBy": "Newest",
+ "Tags": [
+ {
+ "Id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "MinThreshold": 0.9,
+ "MaxThreshold": 1.0
+ }
+ ],
+ "IterationId": null,
+ "StartTime": null,
+ "EndTime": null,
+ "Application": null
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QuickTestImage.json
new file mode 100644
index 000000000000..9acd750814f9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QuickTestImage.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "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:41.6789561Z",
+ "Predictions": [
+ {
+ "TagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "Tag": "Hemlock",
+ "Probability": 0.05149666
+ },
+ {
+ "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "Tag": "Japanese Cherry",
+ "Probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QuickTestImageUrl.json
new file mode 100644
index 000000000000..504e20d5f4e3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/QuickTestImageUrl.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "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:41.6789561Z",
+ "Predictions": [
+ {
+ "TagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "Tag": "Hemlock",
+ "Probability": 0.05149666
+ },
+ {
+ "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "Tag": "Japanese Cherry",
+ "Probability": 0.000193528482
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/TrainProject.json
new file mode 100644
index 000000000000..b4d68b58a7f8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/TrainProject.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "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",
+ "IsDefault": false,
+ "Status": "Training",
+ "Created": "2017-12-18T22:40:36.9066667Z",
+ "LastModified": "2017-12-19T15:46:58.197323Z",
+ "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "Exportable": false,
+ "DomainId": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateIteration.json
new file mode 100644
index 000000000000..6aaad490dc74
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateIteration.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "updatedIteration": {
+ "Name": "Best Iteration"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "Name": "Best Iteration",
+ "IsDefault": false,
+ "Status": "Completed",
+ "Created": "2017-12-18T22:40:36.9066667Z",
+ "LastModified": "2017-12-19T15:53:07.8782881Z",
+ "TrainedAt": "2017-12-19T15:47:02.9511889Z",
+ "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "Exportable": false,
+ "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateProject.json
new file mode 100644
index 000000000000..3bd413f960fb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateProject.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "updatedProject": {
+ "Name": "New Project Name",
+ "Description": "A new Description"
+ }
+ },
+ "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"
+ },
+ "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c",
+ "Created": "2017-12-18T05:43:18.08Z",
+ "LastModified": "2017-12-18T05:43:18.0962423Z",
+ "ThumbnailUri": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateTag.json
new file mode 100644
index 000000000000..1cb8052da178
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v1.2/examples/UpdateTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "updatedTag": {
+ "Name": "Better Tag Name",
+ "Description": "Better description"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "Name": "Better Tag Name",
+ "Description": "Better description",
+ "ImageCount": 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/EntitySearch/readme.md b/specification/cognitiveservices/data-plane/EntitySearch/readme.md
index b15729b13018..ce6299ceddcf 100644
--- a/specification/cognitiveservices/data-plane/EntitySearch/readme.md
+++ b/specification/cognitiveservices/data-plane/EntitySearch/readme.md
@@ -21,6 +21,19 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/EntitySearch.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -67,6 +80,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -74,4 +94,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.entitysearch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/entitysearch
+```
diff --git a/specification/cognitiveservices/data-plane/Face/readme.md b/specification/cognitiveservices/data-plane/Face/readme.md
index ca5f897f05ba..9a986e0c4cb6 100644
--- a/specification/cognitiveservices/data-plane/Face/readme.md
+++ b/specification/cognitiveservices/data-plane/Face/readme.md
@@ -21,6 +21,19 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/Face.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -29,7 +42,7 @@ csharp:
license-header: MICROSOFT_MIT_NO_VERSION
azure-arm: false
namespace: Microsoft.Azure.CognitiveServices.Vision.Face
- output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/Vision/Generated/Face
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/Face/Face/Generated
clear-output-folder: true
```
@@ -71,6 +84,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -78,4 +98,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.face
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/face
+```
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
index 2b51c3288b46..5f5171cb1d02 100644
--- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
@@ -56,7 +56,7 @@
"200": {
"description": "A successful call returns an array of the most similar faces represented in faceId if the input parameter is faceIds or persistedFaceId if the input parameter is faceListId.",
"schema": {
- "$ref": "#/definitions/SimilarFaceResults"
+ "$ref": "#/definitions/SimilarFaces"
}
},
"default": {
@@ -99,7 +99,7 @@
"200": {
"description": "A successful call returns one or more groups of similar faces (rank by group size) and a messyGroup.",
"schema": {
- "$ref": "#/definitions/GroupResponse"
+ "$ref": "#/definitions/GroupResult"
}
},
"default": {
@@ -142,7 +142,7 @@
"200": {
"description": "A successful call returns the identified candidate person(s) for each query face.",
"schema": {
- "$ref": "#/definitions/IdentifyResult"
+ "$ref": "#/definitions/IdentifyResults"
}
},
"default": {
@@ -162,7 +162,7 @@
"/verify": {
"post": {
"description": "Verify whether two faces belong to a same person or whether one face belongs to a person.",
- "operationId": "Face_Verify",
+ "operationId": "Face_VerifyFaceToFace",
"parameters": [
{
"name": "body",
@@ -171,7 +171,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/VerifyRequest"
+ "$ref": "#/definitions/VerifyFaceToFaceRequest"
}
}
],
@@ -197,7 +197,7 @@
},
"x-ms-examples": {
"Verify faces example": {
- "$ref": "./examples/VerifyFaces.json"
+ "$ref": "./examples/VerifyFaceToFace.json"
}
}
}
@@ -205,16 +205,10 @@
"/persongroups/{personGroupId}/persons": {
"post": {
"description": "Create a new person in a specified person group.",
- "operationId": "Person_Create",
+ "operationId": "PersonGroupPerson_Create",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the target person group to create the person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
"name": "body",
@@ -223,7 +217,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/CreatePersonRequest"
+ "$ref": "#/definitions/NameAndUserDataContract"
}
}
],
@@ -237,7 +231,7 @@
"200": {
"description": "A successful call returns a new personId created.",
"schema": {
- "$ref": "#/definitions/CreatePersonResult"
+ "$ref": "#/definitions/Person"
}
},
"default": {
@@ -249,27 +243,16 @@
},
"x-ms-examples": {
"Create new person example": {
- "$ref": "./examples//CreateNewPerson.json"
+ "$ref": "./examples/CreateNewPerson.json"
}
}
},
"get": {
"description": "List all persons in a person group, and retrieve person information (including personId, name, userData and persistedFaceIds of registered faces of the person).",
- "operationId": "Person_List",
- "x-ms-examples": {
- "List persons in person group": {
- "$ref": "./examples/ListPersonGroupPersons.json"
- }
- },
+ "operationId": "PersonGroupPerson_List",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "personGroupId of the target person group.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
"name": "start",
@@ -295,7 +278,7 @@
"200": {
"description": "A successful call returns an array of person information that belong to the person group.",
"schema": {
- "$ref": "#/definitions/PersonResults"
+ "$ref": "#/definitions/Persons"
}
},
"default": {
@@ -304,30 +287,24 @@
"$ref": "#/definitions/APIError"
}
}
+ },
+ "x-ms-examples": {
+ "List persons in person group": {
+ "$ref": "./examples/ListPersonGroupPersons.json"
+ }
}
}
},
"/persongroups/{personGroupId}/persons/{personId}": {
"delete": {
"description": "Delete an existing person from a person group. Persisted face images of the person will also be deleted.",
- "operationId": "Person_Delete",
+ "operationId": "PersonGroupPerson_Delete",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "The target personId to delete.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
}
],
"responses": {
@@ -349,24 +326,13 @@
},
"get": {
"description": "Retrieve a person's information, including registered persisted faces, name and userData.",
- "operationId": "Person_Get",
+ "operationId": "PersonGroupPerson_Get",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the target person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "Specifying the target person.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
}
],
"produces": [
@@ -376,7 +342,7 @@
"200": {
"description": "A successful call returns the person's information.",
"schema": {
- "$ref": "#/definitions/PersonResult"
+ "$ref": "#/definitions/Person"
}
},
"default": {
@@ -394,33 +360,22 @@
},
"patch": {
"description": "Update name or userData of a person.",
- "operationId": "Person_Update",
+ "operationId": "PersonGroupPerson_Update",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the target person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "personId of the target person.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
},
{
"name": "body",
- "description": "Request body for person update operation.",
+ "description": "Request body for person update operation.",
"in": "body",
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/CreatePersonRequest"
+ "$ref": "#/definitions/NameAndUserDataContract"
}
}
],
@@ -448,32 +403,16 @@
"/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}": {
"delete": {
"description": "Delete a face from a person. Relative image for the persisted face will also be deleted.",
- "operationId": "Person_DeleteFace",
+ "operationId": "PersonGroupPerson_DeleteFace",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the target person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "Specifying the person that the target persisted face belong to.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
},
{
- "name": "persistedFaceId",
- "in": "path",
- "description": "The persisted face to remove.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/persistedFaceId"
}
],
"responses": {
@@ -495,32 +434,16 @@
},
"get": {
"description": "Retrieve information about a persisted face (specified by persistedFaceId, personId and its belonging personGroupId).",
- "operationId": "Person_GetFace",
+ "operationId": "PersonGroupPerson_GetFace",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the target person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "Specifying the target person that the face belongs to.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
},
{
- "name": "persistedFaceId",
- "in": "path",
- "description": "The persistedFaceId of the target persisted face of the person.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/persistedFaceId"
}
],
"produces": [
@@ -530,7 +453,7 @@
"200": {
"description": "A successful call returns target persisted face's information (persistedFaceId and userData).",
"schema": {
- "$ref": "#/definitions/PersonFaceResult"
+ "$ref": "#/definitions/PersistedFace"
}
},
"default": {
@@ -548,32 +471,16 @@
},
"patch": {
"description": "Update a person persisted face's userData field.",
- "operationId": "Person_UpdateFace",
+ "operationId": "PersonGroupPerson_UpdateFace",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the target person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "personId of the target person.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
},
{
- "name": "persistedFaceId",
- "in": "path",
- "description": "persistedFaceId of target face, which is persisted and will not expire.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/persistedFaceId"
},
{
"name": "body",
@@ -582,7 +489,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/UpdatePersonFaceDataRequest"
+ "$ref": "#/definitions/UpdatePersonFaceRequest"
}
}
],
@@ -613,13 +520,7 @@
"operationId": "PersonGroup_Create",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "User-provided personGroupId as a string.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
"name": "body",
@@ -628,7 +529,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/CreatePersonGroupRequest"
+ "$ref": "#/definitions/NameAndUserDataContract"
}
}
],
@@ -657,13 +558,7 @@
"operationId": "PersonGroup_Delete",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "The personGroupId of the person group to be deleted.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
}
],
"responses": {
@@ -688,20 +583,14 @@
"operationId": "PersonGroup_Get",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "personGroupId of the target person group.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
}
],
"responses": {
"200": {
"description": "A successful call returns the person group's information.",
"schema": {
- "$ref": "#/definitions/PersonGroupResult"
+ "$ref": "#/definitions/PersonGroup"
}
},
"default": {
@@ -725,13 +614,7 @@
"operationId": "PersonGroup_Update",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "personGroupId of the person group to be updated.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
"name": "body",
@@ -740,7 +623,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/CreatePersonGroupRequest"
+ "$ref": "#/definitions/NameAndUserDataContract"
}
}
],
@@ -771,13 +654,7 @@
"operationId": "PersonGroup_GetTrainingStatus",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "personGroupId of target person group.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
}
],
"responses": {
@@ -835,7 +712,7 @@
"200": {
"description": "A successful call returns an array of person groups and their information.",
"schema": {
- "$ref": "#/definitions/PersonGroupResults"
+ "$ref": "#/definitions/PersonGroups"
}
},
"default": {
@@ -858,13 +735,7 @@
"operationId": "PersonGroup_Train",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Target person group to be trained.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
}
],
"produces": [
@@ -894,13 +765,7 @@
"operationId": "FaceList_Create",
"parameters": [
{
- "name": "faceListId",
- "in": "path",
- "description": "Id referencing a particular face list.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/faceListId"
},
{
"name": "body",
@@ -909,7 +774,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/CreateFaceListRequest"
+ "$ref": "#/definitions/NameAndUserDataContract"
}
}
],
@@ -941,13 +806,7 @@
"operationId": "FaceList_Get",
"parameters": [
{
- "name": "faceListId",
- "in": "path",
- "description": "Id referencing a Face List.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/faceListId"
}
],
"produces": [
@@ -957,7 +816,7 @@
"200": {
"description": "A successful call returns the face list's information.",
"schema": {
- "$ref": "#/definitions/GetFaceListResult"
+ "$ref": "#/definitions/FaceList"
}
},
"default": {
@@ -978,13 +837,7 @@
"operationId": "FaceList_Update",
"parameters": [
{
- "name": "faceListId",
- "in": "path",
- "description": "Id referencing a Face List.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/faceListId"
},
{
"name": "body",
@@ -993,7 +846,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/CreateFaceListRequest"
+ "$ref": "#/definitions/NameAndUserDataContract"
}
}
],
@@ -1022,13 +875,7 @@
"operationId": "FaceList_Delete",
"parameters": [
{
- "name": "faceListId",
- "in": "path",
- "description": "Id referencing a Face List.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/faceListId"
}
],
"responses": {
@@ -1058,7 +905,7 @@
"200": {
"description": "A successful call returns an array of faceList.",
"schema": {
- "$ref": "#/definitions/FaceListResults"
+ "$ref": "#/definitions/FaceLists"
}
},
"default": {
@@ -1084,21 +931,10 @@
"operationId": "FaceList_DeleteFace",
"parameters": [
{
- "name": "faceListId",
- "in": "path",
- "description": "faceListId of an existing face list.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/faceListId"
},
{
- "name": "persistedFaceId",
- "in": "path",
- "description": "persistedFaceId of an existing face.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/persistedFaceId"
}
],
"responses": {
@@ -1122,31 +958,16 @@
"/persongroups/{personGroupId}/persons/{personId}/persistedFaces": {
"post": {
"description": "Add a representative face to a person for identification. The input face is specified as an image with a targetFace rectangle.",
- "operationId": "Person_AddPersonFace",
+ "operationId": "PersonGroupPerson_AddPersonFaceFromUrl",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the target person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "Target person that the face is added to.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
},
{
- "name": "userData",
- "in": "query",
- "description": "User-specified data about the target face to add for any purpose. The maximum length is 1KB.",
- "type": "string",
- "maxLength": 1024
+ "$ref": "#/parameters/faceUserData"
},
{
"$ref": "#/parameters/targetFace"
@@ -1165,7 +986,7 @@
"200": {
"description": "A successful call returns the new persistedFaceId.",
"schema": {
- "$ref": "#/definitions/PersistedFaceResult"
+ "$ref": "#/definitions/PersistedFace"
}
},
"default": {
@@ -1177,7 +998,7 @@
},
"x-ms-examples": {
"Add Person face example": {
- "$ref": "./examples/CreateNewPersonFace.json"
+ "$ref": "./examples/AddPersonFaceFromUrl.json"
}
}
}
@@ -1185,7 +1006,7 @@
"/detect": {
"post": {
"description": "Detect human faces in an image and returns face locations, and optionally with faceIds, landmarks, and attributes.",
- "operationId": "Face_Detect",
+ "operationId": "Face_DetectWithUrl",
"parameters": [
{
"name": "returnFaceId",
@@ -1218,7 +1039,7 @@
"200": {
"description": "A successful call returns an array of face entries ranked by face rectangle size in descendingorder. An empty response indicates no faces detected.",
"schema": {
- "$ref": "#/definitions/DetectionResult"
+ "$ref": "#/definitions/DetectedFaces"
}
},
"default": {
@@ -1229,8 +1050,8 @@
}
},
"x-ms-examples": {
- "Detect example": {
- "$ref": "./examples/Detect.json"
+ "Detect with url example": {
+ "$ref": "./examples/DetectWithUrl.json"
}
}
}
@@ -1238,23 +1059,13 @@
"/facelists/{faceListId}/persistedFaces": {
"post": {
"description": "Add a face to a face list. The input face is specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face, and persistedFaceId will not expire.",
- "operationId": "FaceList_AddFace",
+ "operationId": "FaceList_AddFaceFromUrl",
"parameters": [
{
- "name": "faceListId",
- "in": "path",
- "description": "Id referencing a Face List.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/faceListId"
},
{
- "name": "userData",
- "in": "query",
- "description": "User-specified data about the face list for any purpose. The maximum length is 1KB.",
- "type": "string",
- "maxLength": 1024
+ "$ref": "#/parameters/faceUserData"
},
{
"$ref": "#/parameters/targetFace"
@@ -1273,7 +1084,7 @@
"200": {
"description": "A successful call returns a new persistedFaceId.",
"schema": {
- "$ref": "#/definitions/PersistedFaceResult"
+ "$ref": "#/definitions/PersistedFace"
}
},
"default": {
@@ -1285,7 +1096,7 @@
},
"x-ms-examples": {
"Create face list face example": {
- "$ref": "./examples/CreateNewFaceListFace.json"
+ "$ref": "./examples/AddFaceListFaceFromUrl.json"
}
}
}
@@ -1295,7 +1106,7 @@
"/verify?overload=persongroup": {
"post": {
"description": "Verify whether two faces belong to a same person. Compares a face Id with a Person Id",
- "operationId": "Face_VerifyWithPersonGroup",
+ "operationId": "Face_VerifyFaceToPerson",
"parameters": [
{
"name": "body",
@@ -1304,7 +1115,7 @@
"required": true,
"x-ms-client-flatten": true,
"schema": {
- "$ref": "#/definitions/VerifyPersonGroupRequest"
+ "$ref": "#/definitions/VerifyFaceToPersonRequest"
}
}
],
@@ -1329,8 +1140,8 @@
}
},
"x-ms-examples": {
- "Verify with person group example": {
- "$ref": "./examples/VerifyPersonGroup.json"
+ "Verify face to person example": {
+ "$ref": "./examples/VerifyFaceToPerson.json"
}
}
}
@@ -1338,7 +1149,7 @@
"/detect?overload=stream": {
"post": {
"description": "Detect human faces in an image and returns face locations, and optionally with faceIds, landmarks, and attributes.",
- "operationId": "Face_DetectInStream",
+ "operationId": "Face_DetectWithStream",
"parameters": [
{
"name": "returnFaceId",
@@ -1371,7 +1182,7 @@
"200": {
"description": "A successful call returns an array of face entries ranked by face rectangle size in descendingorder. An empty response indicates no faces detected.",
"schema": {
- "$ref": "#/definitions/DetectionResult"
+ "$ref": "#/definitions/DetectedFaces"
}
},
"default": {
@@ -1391,31 +1202,16 @@
"/persongroups/{personGroupId}/persons/{personId}/persistedFaces?overload=stream": {
"post": {
"description": "Add a representative face to a person for identification. The input face is specified as an image with a targetFace rectangle.",
- "operationId": "Person_AddPersonFaceFromStream",
+ "operationId": "PersonGroupPerson_AddPersonFaceFromStream",
"parameters": [
{
- "name": "personGroupId",
- "in": "path",
- "description": "Specifying the person group containing the target person.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/personGroupId"
},
{
- "name": "personId",
- "in": "path",
- "description": "Target person that the face is added to.",
- "required": true,
- "type": "string",
- "format": "uuid"
+ "$ref": "#/parameters/personId"
},
{
- "name": "userData",
- "in": "query",
- "description": "User-specified data about the target face to add for any purpose. The maximum length is 1KB.",
- "type": "string",
- "maxLength": 1024
+ "$ref": "#/parameters/faceUserData"
},
{
"$ref": "#/parameters/targetFace"
@@ -1434,7 +1230,7 @@
"200": {
"description": "A successful call returns the new persistedFaceId.",
"schema": {
- "$ref": "#/definitions/PersistedFaceResult"
+ "$ref": "#/definitions/PersistedFace"
}
},
"default": {
@@ -1446,7 +1242,7 @@
},
"x-ms-examples": {
"Add face to person with stream example": {
- "$ref": "./examples/CreateNewPersonFaceFromStream.json"
+ "$ref": "./examples/AddPersonFaceFromStream.json"
}
}
}
@@ -1457,20 +1253,10 @@
"operationId": "FaceList_AddFaceFromStream",
"parameters": [
{
- "name": "faceListId",
- "in": "path",
- "description": "Id referencing a Face List.",
- "required": true,
- "type": "string",
- "maxLength": 64,
- "pattern": "^[a-z0-9-_]+$"
+ "$ref": "#/parameters/faceListId"
},
{
- "name": "userData",
- "in": "query",
- "description": "User-specified data about the face list for any purpose. The maximum length is 1KB.",
- "type": "string",
- "maxLength": 1024
+ "$ref": "#/parameters/faceUserData"
},
{
"$ref": "#/parameters/targetFace"
@@ -1486,7 +1272,7 @@
"200": {
"description": "A successful call returns a new persistedFaceId.",
"schema": {
- "$ref": "#/definitions/PersistedFaceResult"
+ "$ref": "#/definitions/PersistedFace"
}
},
"default": {
@@ -1501,7 +1287,7 @@
],
"x-ms-examples": {
"Add face to face list from stream example": {
- "$ref": "./examples/CreateNewFaceListFaceFromStream.json"
+ "$ref": "./examples/AddFaceListFaceFromStream.json"
}
}
}
@@ -1529,26 +1315,12 @@
}
}
},
- "DetectionResult": {
+ "DetectedFaces": {
"type": "array",
"items": {
"$ref": "#/definitions/DetectedFace"
}
},
- "PersistedFaceResult": {
- "type": "object",
- "required": [
- "persistedFaceId"
- ],
- "description": "Persisted face result.",
- "properties": {
- "persistedFaceId": {
- "type": "string",
- "format": "uuid",
- "description": "persistedFaceId of candidate face when find by faceListId. persistedFaceId in face list is persisted and will not expire. As showed in below response"
- }
- }
- },
"DetectedFace": {
"type": "object",
"required": [
@@ -1603,7 +1375,7 @@
}
}
},
- "Position": {
+ "Coordinate": {
"type": "object",
"required": [
"x",
@@ -1626,85 +1398,85 @@
"description": "A collection of 27-point face landmarks pointing to the important positions of face components.",
"properties": {
"pupilLeft": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"pupilRight": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"noseTip": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"mouthLeft": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"mouthRight": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyebrowLeftOuter": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyebrowLeftInner": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeLeftOuter": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeLeftTop": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeLeftBottom": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeLeftInner": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyebrowRightInner": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyebrowRightOuter": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeRightInner": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeRightTop": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeRightBottom": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"eyeRightOuter": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"noseRootLeft": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"noseRootRight": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"noseLeftAlarTop": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"noseRightAlarTop": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"noseLeftAlarOutTip": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"noseRightAlarOutTip": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"upperLipTop": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"upperLipBottom": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"underLipTop": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
},
"underLipBottom": {
- "$ref": "#/definitions/Position"
+ "$ref": "#/definitions/Coordinate"
}
}
},
@@ -1730,20 +1502,18 @@
]
},
"smile": {
- "type": "number",
- "format": "float",
"description": "Smile intensity, a number between [0,1] ",
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Level"
},
"facialHair": {
- "$ref": "#/definitions/FacialHairProperties"
+ "description": "Properties describing facial hair attributes.",
+ "$ref": "#/definitions/FacialHair"
},
"glasses": {
"type": "string",
"description": "Glasses type if any of the face.",
"x-ms-enum": {
- "name": "GlassesTypes",
+ "name": "GlassesType",
"modelAsString": false
},
"enum": [
@@ -1754,59 +1524,62 @@
]
},
"headPose": {
- "$ref": "#/definitions/HeadPoseProperties"
+ "description": "Properties indicating head pose of the face.",
+ "$ref": "#/definitions/HeadPose"
},
"emotion": {
- "$ref": "#/definitions/EmotionProperties"
+ "description": "Properties describing facial emotion in form of confidence ranging from 0 to 1.",
+ "$ref": "#/definitions/Emotion"
},
"hair": {
- "$ref": "#/definitions/HairProperties"
+ "description": "Properties describing hair attributes.",
+ "$ref": "#/definitions/Hair"
},
"makeup": {
- "$ref": "#/definitions/MakeupProperties"
+ "description": "Properties describing present makeups on a given face.",
+ "$ref": "#/definitions/Makeup"
},
"occlusion": {
- "$ref": "#/definitions/OcclusionProperties"
+ "description": "Properties describing occlusions on a given face.",
+ "$ref": "#/definitions/Occlusion"
},
"accessories": {
- "$ref": "#/definitions/AccessoryProperties"
+ "description": "Properties describing any accessories on a given face.",
+ "$ref": "#/definitions/Accessories"
},
"blur": {
- "$ref": "#/definitions/BlurProperties"
+ "description": "Properties describing any presence of blur within the image.",
+ "$ref": "#/definitions/Blur"
},
"exposure": {
- "$ref": "#/definitions/ExposureProperties"
+ "description": "Properties describing exposure level of the image.",
+ "$ref": "#/definitions/Exposure"
},
"noise": {
- "$ref": "#/definitions/NoiseProperties"
+ "description": "Properties describing noise level of the image.",
+ "$ref": "#/definitions/Noise"
}
}
},
- "FacialHairProperties": {
+ "FacialHair": {
"type": "object",
"description": "Properties describing facial hair attributes.",
"properties": {
"moustache": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"beard": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"sideburns": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
}
}
},
- "HeadPoseProperties": {
+ "HeadPose": {
"type": "object",
"description": "Properties indicating head pose of the face.",
"properties": {
@@ -1824,70 +1597,52 @@
}
}
},
- "EmotionProperties": {
+ "Emotion": {
"type": "object",
"description": "Properties describing facial emotion in form of confidence ranging from 0 to 1.",
"properties": {
"anger": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"contempt": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"disgust": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"fear": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"happiness": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"neutral": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"sadness": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"surprise": {
- "type": "number",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
}
}
},
- "HairProperties": {
+ "Hair": {
"type": "object",
"description": "Properties describing hair attributes.",
"properties": {
"bald": {
- "type": "number",
"description": "A number describing confidence level of whether the person is bald.",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Confidence"
},
"invisible": {
"type": "boolean",
@@ -1895,32 +1650,48 @@
"x-nullable": false
},
"hairColor": {
+ "description": "An array of candidate colors and confidence level in the presence of each.",
"$ref": "#/definitions/HairColors"
}
}
},
"HairColors": {
"type": "array",
- "description": "An array of candidate colors and confidence level in the presence of each.",
"items": {
- "$ref": "#/definitions/ColorProperty"
+ "$ref": "#/definitions/HairColor"
}
},
- "ColorProperty": {
+ "HairColor": {
"type": "object",
"description": "Hair color and associated confidence",
"properties": {
"color": {
"type": "string",
- "description": "Name of the color."
+ "description": "Name of the hair color.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "HairColorType",
+ "modelAsString": false
+ },
+ "enum": [
+ "unknown",
+ "white",
+ "gray",
+ "blond",
+ "brown",
+ "red",
+ "black",
+ "other"
+ ]
},
"confidence": {
"x-nullable": false,
- "$ref": "#/definitions/ConfidenceProperty"
+ "description": "Confidence level of the color",
+ "$ref": "#/definitions/Confidence"
}
}
},
- "MakeupProperties": {
+ "Makeup": {
"type": "object",
"description": "Properties describing present makeups on a given face.",
"properties": {
@@ -1936,9 +1707,9 @@
}
}
},
- "OcclusionProperties": {
+ "Occlusion": {
"type": "object",
- "description": "Properties describing occulusions on a given face.",
+ "description": "Properties describing occlusions on a given face.",
"properties": {
"foreheadOccluded": {
"type": "boolean",
@@ -1957,29 +1728,39 @@
}
}
},
- "AccessoryProperties": {
+ "Accessories": {
"type": "array",
"description": "Properties describing any accessories on a given face.",
"items": {
- "$ref": "#/definitions/AccessoryItem"
+ "$ref": "#/definitions/Accessory"
}
},
- "AccessoryItem": {
+ "Accessory": {
"type": "object",
"description": "Accessory item and corresponding confidence level.",
"properties": {
"type": {
"type": "string",
- "description": "Description of an accessory",
- "x-nullable": false
+ "description": "Type of an accessory",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "AccessoryType",
+ "modelAsString": false
+ },
+ "enum": [
+ "headWear",
+ "glasses",
+ "mask"
+ ]
},
"confidence": {
"x-nullable": false,
- "$ref": "#/definitions/ConfidenceProperty"
+ "description": "Confidence level of an accessory",
+ "$ref": "#/definitions/Confidence"
}
}
},
- "BlurProperties": {
+ "Blur": {
"type": "object",
"description": "Properties describing any presence of blur within the image.",
"properties": {
@@ -1988,7 +1769,7 @@
"description": "An enum value indicating level of blurriness.",
"x-nullable": false,
"x-ms-enum": {
- "name": "BlurLevels",
+ "name": "BlurLevel",
"modelAsString": false
},
"enum": [
@@ -1998,15 +1779,13 @@
]
},
"value": {
- "type": "number",
"description": "A number indicating level of blurriness ranging from 0 to 1.",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Level"
}
}
},
- "ExposureProperties": {
+ "Exposure": {
"type": "object",
"description": "Properties describing exposure level of the image.",
"properties": {
@@ -2015,7 +1794,7 @@
"description": "An enum value indicating level of exposure.",
"x-nullable": false,
"x-ms-enum": {
- "name": "ExposureLevels",
+ "name": "ExposureLevel",
"modelAsString": false
},
"enum": [
@@ -2025,15 +1804,13 @@
]
},
"value": {
- "type": "number",
"description": "A number indicating level of exposure level ranging from 0 to 1. [0, 0.25) is under exposure. [0.25, 0.75) is good exposure. [0.75, 1] is over exposure.",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Level"
}
}
},
- "NoiseProperties": {
+ "Noise": {
"type": "object",
"description": "Properties describing noise level of the image.",
"properties": {
@@ -2042,7 +1819,7 @@
"description": "An enum value indicating level of noise.",
"x-nullable": false,
"x-ms-enum": {
- "name": "NoiseLevels",
+ "name": "NoiseLevel",
"modelAsString": false
},
"enum": [
@@ -2052,11 +1829,9 @@
]
},
"value": {
- "type": "number",
"description": "A number indicating level of noise level ranging from 0 to 1. [0, 0.25) is under exposure. [0.25, 0.75) is good exposure. [0.75, 1] is over exposure. [0, 0.3) is low noise level. [0.3, 0.7) is medium noise level. [0.7, 1] is high noise level.",
"x-nullable": false,
- "minimum": 0,
- "maximum": 1
+ "$ref": "#/definitions/Level"
}
}
},
@@ -2100,7 +1875,7 @@
"default": "matchPerson",
"x-nullable": false,
"x-ms-enum": {
- "name": "FaceMatchingMode",
+ "name": "FindSimilarMatchMode",
"modelAsString": false
},
"enum": [
@@ -2110,29 +1885,32 @@
}
}
},
- "SimilarFaceResults": {
+ "SimilarFaces": {
"type": "array",
"items": {
- "$ref": "#/definitions/SimilarFaceResult"
+ "$ref": "#/definitions/SimilarFace"
}
},
- "SimilarFaceResult": {
+ "SimilarFace": {
"type": "object",
+ "required": [
+ "confidence"
+ ],
"description": "Response body for find similar face operation.",
"properties": {
"faceId": {
"type": "string",
"format": "uuid",
- "description": "faceId of candidate face when find by faceIds. faceId is created by Face - Detect and will expire 24 hours after the detection call"
+ "description": "FaceId of candidate face when find by faceIds. faceId is created by Face - Detect and will expire 24 hours after the detection call"
},
"persistedFaceId": {
"type": "string",
"format": "uuid",
- "description": "persistedFaceId of candidate face when find by faceListId. persistedFaceId in face list is persisted and will not expire. As showed in below response"
+ "description": "PersistedFaceId of candidate face when find by faceListId. persistedFaceId in face list is persisted and will not expire. As showed in below response"
},
"confidence": {
- "x-nullable": false,
- "$ref": "#/definitions/ConfidenceProperty"
+ "description": "Similarity confidence of the candidate face. The higher confidence, the more similar. Range between [0,1].",
+ "$ref": "#/definitions/Confidence"
}
}
},
@@ -2149,12 +1927,13 @@
"maxItems": 1000,
"items": {
"type": "string",
- "format": "uuid"
+ "format": "uuid",
+ "x-nullable": false
}
}
}
},
- "GroupResponse": {
+ "GroupResult": {
"type": "object",
"required": [
"groups"
@@ -2168,7 +1947,8 @@
"type": "array",
"items": {
"type": "string",
- "format": "uuid"
+ "format": "uuid",
+ "x-nullable": false
}
}
},
@@ -2177,7 +1957,8 @@
"description": "Face ids array of faces that cannot find any similar faces from original faces.",
"items": {
"type": "string",
- "format": "uuid"
+ "format": "uuid",
+ "x-nullable": false
}
}
}
@@ -2191,39 +1972,41 @@
"description": "Request body for identify face operation.",
"properties": {
"personGroupId": {
- "description": "personGroupId of the target person group, created by PersonGroups.Create",
+ "description": "PersonGroupId of the target person group, created by PersonGroups.Create",
"type": "string",
"maxLength": 64,
"pattern": "^[a-z0-9-_]+$"
},
"faceIds": {
"type": "array",
- "description": "Array of candidate faceId created by Face - Detect.",
- "maxItems": 1000,
+ "description": "Array of query faces faceIds, created by the Face - Detect. Each of the faces are identified independently. The valid number of faceIds is between [1, 10].",
+ "maxItems": 10,
"items": {
"type": "string",
- "format": "uuid"
+ "format": "uuid",
+ "x-nullable": false
}
},
"maxNumOfCandidatesReturned": {
"type": "integer",
- "description": "The number of top similar faces returned.",
+ "description": "The range of maxNumOfCandidatesReturned is between 1 and 5 (default is 1).",
"default": 1,
"minimum": 1,
- "maximum": 1000
+ "maximum": 5
},
"confidenceThreshold": {
- "$ref": "#/definitions/ConfidenceProperty"
+ "description": "Confidence threshold of identification, used to judge whether one face belong to one person. The range of confidenceThreshold is [0, 1] (default specified by algorithm).",
+ "$ref": "#/definitions/Confidence"
}
}
},
- "IdentifyResult": {
+ "IdentifyResults": {
"type": "array",
"items": {
- "$ref": "#/definitions/IdentifyResultItem"
+ "$ref": "#/definitions/IdentifyResult"
}
},
- "IdentifyResultItem": {
+ "IdentifyResult": {
"type": "object",
"required": [
"faceId",
@@ -2234,17 +2017,18 @@
"faceId": {
"type": "string",
"format": "uuid",
- "description": "faceId of the query face"
+ "description": "FaceId of the query face"
},
"candidates": {
"type": "array",
+ "description": "Identified person candidates for that face (ranked by confidence). Array size should be no larger than input maxNumOfCandidatesReturned. If no person is identified, will return an empty array.",
"items": {
- "$ref": "#/definitions/IdentifyResultCandidate"
+ "$ref": "#/definitions/IdentifyCandidate"
}
}
}
},
- "IdentifyResultCandidate": {
+ "IdentifyCandidate": {
"type": "object",
"required": [
"personId",
@@ -2258,12 +2042,12 @@
"description": "Id of candidate"
},
"confidence": {
- "x-nullable": false,
- "$ref": "#/definitions/ConfidenceProperty"
+ "description": "Confidence threshold of identification, used to judge whether one face belong to one person. The range of confidenceThreshold is [0, 1] (default specified by algorithm).",
+ "$ref": "#/definitions/Confidence"
}
}
},
- "VerifyPersonGroupRequest": {
+ "VerifyFaceToPersonRequest": {
"type": "object",
"required": [
"faceId",
@@ -2275,22 +2059,22 @@
"faceId": {
"type": "string",
"format": "uuid",
- "description": "faceId the face, comes from Face - Detect"
- },
- "personId": {
- "type": "string",
- "format": "uuid",
- "description": "Specify a certain person in a person group. personId is created in Persons.Create."
+ "description": "FaceId the face, comes from Face - Detect"
},
"personGroupId": {
"description": "Using existing personGroupId and personId for fast loading a specified person. personGroupId is created in Person Groups.Create.",
"type": "string",
"maxLength": 64,
"pattern": "^[a-z0-9-_]+$"
+ },
+ "personId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Specify a certain person in a person group. personId is created in Persons.Create."
}
}
},
- "VerifyRequest": {
+ "VerifyFaceToFaceRequest": {
"type": "object",
"required": [
"faceId1",
@@ -2301,19 +2085,20 @@
"faceId1": {
"type": "string",
"format": "uuid",
- "description": "faceId of the first face, comes from Face - Detect"
+ "description": "FaceId of the first face, comes from Face - Detect"
},
"faceId2": {
"type": "string",
"format": "uuid",
- "description": "faceId of the second face, comes from Face - Detect"
+ "description": "FaceId of the second face, comes from Face - Detect"
}
}
},
"VerifyResult": {
"type": "object",
"required": [
- "isIdentical"
+ "isIdentical",
+ "confidence"
],
"description": "Result of the verify operation.",
"properties": {
@@ -2322,83 +2107,46 @@
"description": "True if the two faces belong to the same person or the face belongs to the person, otherwise false."
},
"confidence": {
- "x-nullable": false,
- "$ref": "#/definitions/ConfidenceProperty"
- }
- }
- },
- "CreateFaceListRequest": {
- "type": "object",
- "description": "Request to create a face list.",
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the face list, maximum length is 128.",
- "maxLength": 128
- },
- "userData": {
- "type": "string",
- "description": "Optional user defined data for the face list. Length should not exceed 16KB.",
- "maxLength": 16384
+ "description": "A number indicates the similarity confidence of whether two faces belong to the same person, or whether the face belongs to the person. By default, isIdentical is set to True if similarity confidence is greater than or equal to 0.5. This is useful for advanced users to override \"isIdentical\" and fine-tune the result on their own data.",
+ "$ref": "#/definitions/Confidence"
}
}
},
- "GetFaceListResult": {
+ "FaceList": {
+ "description": "Face list object.",
"type": "object",
"required": [
"faceListId"
],
- "description": "Result of the GetFaceList operation.",
"properties": {
"faceListId": {
"type": "string",
- "description": "faceListId of the target face list.",
+ "description": "FaceListId of the target face list.",
"maxLength": 64,
"pattern": "^[a-z0-9-_]+$"
},
- "name": {
- "type": "string",
- "description": "Face list's display name, maximum length is 128.",
- "maxLength": 128
- },
- "userData": {
- "type": "string",
- "description": "User-provided data attached to this face list. Length should not exceed 16KB.",
- "maxLength": 16384
- },
"persistedFaces": {
"type": "array",
"description": "Persisted faces within the face list.",
"items": {
- "$ref": "#/definitions/PersonFaceResult"
+ "$ref": "#/definitions/PersistedFace"
}
}
- }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ ]
},
- "FaceListResults": {
+ "FaceLists": {
"type": "array",
- "description": "An array of face list results.",
+ "description": "An array of face list results, with fields of faceListId, name and userData",
"items": {
- "$ref": "#/definitions/GetFaceListResult"
+ "$ref": "#/definitions/FaceList"
}
},
- "CreatePersonGroupRequest": {
- "type": "object",
- "description": "Request to create a person group.",
- "properties": {
- "name": {
- "type": "string",
- "description": "Person group display name. The maximum length is 128.",
- "maxLength": 128
- },
- "userData": {
- "type": "string",
- "description": "User-provided data attached to the person group. The size limit is 16KB.",
- "maxLength": 16384
- }
- }
- },
- "PersonGroupResult": {
+ "PersonGroup": {
"type": "object",
"required": [
"personGroupId"
@@ -2406,61 +2154,26 @@
"description": "Person group object.",
"properties": {
"personGroupId": {
- "description": "personGroupId of the existing person groups.",
+ "description": "PersonGroupId of the existing person groups.",
"type": "string",
"maxLength": 64,
"pattern": "^[a-z0-9-_]+$"
- },
- "name": {
- "type": "string",
- "description": "Person group's display name, maximum length is 128.",
- "maxLength": 128
- },
- "userData": {
- "type": "string",
- "description": "User-provided data attached to this person group. Length should not exceed 16KB.",
- "maxLength": 16384
}
- }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ ]
},
- "PersonGroupResults": {
+ "PersonGroups": {
"type": "array",
"description": "An array of person groups.",
"items": {
- "$ref": "#/definitions/PersonGroupResult"
- }
- },
- "CreatePersonRequest": {
- "type": "object",
- "description": "Request to create a person object.",
- "properties": {
- "name": {
- "type": "string",
- "description": "Display name of the target person. The maximum length is 128.",
- "maxLength": 128
- },
- "userData": {
- "type": "string",
- "description": "Optional fields for user-provided data attached to a person. Size limit is 16KB.",
- "maxLength": 16384
- }
+ "$ref": "#/definitions/PersonGroup"
}
},
- "CreatePersonResult": {
- "type": "object",
- "required": [
- "personId"
- ],
- "description": "Result of creating person.",
- "properties": {
- "personId": {
- "type": "string",
- "format": "uuid",
- "description": "personID of the new created person."
- }
- }
- },
- "PersonResult": {
+ "Person": {
"type": "object",
"required": [
"personId"
@@ -2470,36 +2183,32 @@
"personId": {
"type": "string",
"format": "uuid",
- "description": "personId of the target face list."
+ "description": "PersonId of the target face list."
},
"persistedFaceIds": {
"type": "array",
- "description": "persistedFaceIds of registered faces in the person. These persistedFaceIds are returned from Person - Add a Person Face, and will not expire.",
+ "description": "PersistedFaceIds of registered faces in the person. These persistedFaceIds are returned from Person - Add a Person Face, and will not expire.",
"items": {
"type": "string",
- "format": "uuid"
+ "format": "uuid",
+ "x-nullable": false
}
- },
- "name": {
- "type": "string",
- "description": "Person's display name, maximum length is 128.",
- "maxLength": 128
- },
- "userData": {
- "type": "string",
- "description": "User-provided data attached to this person. Length should not exceed 16KB.",
- "maxLength": 16384
}
- }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ ]
},
- "PersonResults": {
+ "Persons": {
"type": "array",
- "description": "An array of PersonResults.",
+ "description": "An array of Persons.",
"items": {
- "$ref": "#/definitions/PersonResult"
+ "$ref": "#/definitions/Person"
}
},
- "PersonFaceResult": {
+ "PersistedFace": {
"type": "object",
"required": [
"persistedFaceId"
@@ -2518,7 +2227,7 @@
}
}
},
- "UpdatePersonFaceDataRequest": {
+ "UpdatePersonFaceRequest": {
"type": "object",
"description": "Request to update person face data.",
"properties": {
@@ -2532,14 +2241,14 @@
"TrainingStatus": {
"type": "object",
"required": [
- "status"
+ "status",
+ "createdDateTime"
],
"description": "Training status object.",
"properties": {
"status": {
"type": "string",
"description": "Training status: notstarted, running, succeeded, failed. If the training process is waiting to perform, the status is notstarted. If the training is ongoing, the status is running. Status succeed means this person group is ready for Face - Identify. Status failed is often caused by no person or no persisted face exist in the person group",
- "x-nullable": false,
"x-ms-enum": {
"name": "TrainingStatusType",
"modelAsString": false
@@ -2569,11 +2278,33 @@
}
}
},
- "ConfidenceProperty": {
+ "Confidence": {
"description": "A number ranging from 0 to 1 indicating a level of confidence associated with a property.",
"type": "number",
"minimum": 0,
"maximum": 1
+ },
+ "Level": {
+ "description": "A number ranging from 0 to 1 indicating the intensity level associated with a property.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1
+ },
+ "NameAndUserDataContract": {
+ "type": "object",
+ "description": "A combination of user defined name and user specified data for the person, personGroup, and faceList",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User defined name, maximum length is 128.",
+ "maxLength": 128
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
}
},
"parameters": {
@@ -2589,7 +2320,7 @@
"type": "string",
"x-nullable": false,
"x-ms-enum": {
- "name": "FaceAttributeTypes",
+ "name": "FaceAttributeType",
"modelAsString": false
},
"enum": [
@@ -2625,6 +2356,58 @@
"maxItems": 4,
"minItems": 4
}
+ },
+ "faceUserData": {
+ "name": "userData",
+ "in": "query",
+ "description": "User-specified data about the face for any purpose. The maximum length is 1KB.",
+ "type": "string",
+ "maxLength": 1024,
+ "x-ms-parameter-location": "method",
+ "required": false,
+ "collectionFormat": "csv"
+ },
+ "faceListId": {
+ "name": "faceListId",
+ "in": "path",
+ "description": "Id referencing a particular face list.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "personGroupId": {
+ "name": "personGroupId",
+ "in": "path",
+ "description": "Id referencing a particular person group.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "personId": {
+ "name": "personId",
+ "in": "path",
+ "description": "Id referencing a particular person.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
+ },
+ "persistedFaceId": {
+ "name": "persistedFaceId",
+ "in": "path",
+ "description": "Id referencing a particular persistedFaceId of an existing face.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
}
}
}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewFaceListFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddFaceListFaceFromStream.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewFaceListFaceFromStream.json
rename to specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddFaceListFaceFromStream.json
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewFaceListFace.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddFaceListFaceFromUrl.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewFaceListFace.json
rename to specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddFaceListFaceFromUrl.json
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewPersonFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddPersonFaceFromStream.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewPersonFaceFromStream.json
rename to specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddPersonFaceFromStream.json
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewPersonFace.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddPersonFaceFromUrl.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/CreateNewPersonFace.json
rename to specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/AddPersonFaceFromUrl.json
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/Detect.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/DetectWithUrl.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/Detect.json
rename to specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/DetectWithUrl.json
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetTrainingStatus.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetTrainingStatus.json
index 04c0e8e8c740..4231df1f4a3b 100644
--- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetTrainingStatus.json
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetTrainingStatus.json
@@ -9,7 +9,7 @@
"200": {
"body": {
"status": "succeeded",
- "createdDateTime": "1/3/2017 4:11:35 AM"
+ "createdDateTime": "2017-08-01T00:00:00.00Z"
}
}
}
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyFaces.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyFaceToFace.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyFaces.json
rename to specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyFaceToFace.json
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyPersonGroup.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyFaceToPerson.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyPersonGroup.json
rename to specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/VerifyFaceToPerson.json
diff --git a/specification/cognitiveservices/data-plane/ImageSearch/readme.md b/specification/cognitiveservices/data-plane/ImageSearch/readme.md
index 2fb94154f125..cad1a9c791e2 100644
--- a/specification/cognitiveservices/data-plane/ImageSearch/readme.md
+++ b/specification/cognitiveservices/data-plane/ImageSearch/readme.md
@@ -21,6 +21,19 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/ImageSearch.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -68,6 +81,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -83,3 +103,20 @@ Suppressing errors due to API design:
directive:
- suppress: R3016
reason: _type is a polymorphic discriminator that can't be changed.
+```
+
+
+## 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.cognitiveservices.imagesearch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/imagesearch
+```
diff --git a/specification/cognitiveservices/data-plane/LUIS/Programmatic/readme.md b/specification/cognitiveservices/data-plane/LUIS/Programmatic/readme.md
index 5853bdc61324..760c71c9a608 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Programmatic/readme.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Programmatic/readme.md
@@ -48,6 +48,20 @@ directive:
reason: Changing casing will break existing clients/consumers
```
+---
+# 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-go
+```
+
### Programmatic 2.0 - CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -57,7 +71,7 @@ csharp:
license-header: MICROSOFT_MIT_NO_VERSION
azure-arm: false
namespace: Microsoft.Azure.CognitiveServices.Language.LUIS.Programmatic
- output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Language/LUIS-Programmatic/Generated
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Language/LUIS/Programmatic/Generated
clear-output-folder: true
```
@@ -72,11 +86,34 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: programmatic_2_0
+```
+
### Tag: programmatic_2_0 and go
These settings apply only when `--tag=programmatic_2_0 --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'programmatic_2_0' && $(go)
-output-folder: $(go-sdk-folder)/services/cognitiveservices/luis/v2.0/programmatic
-```
\ No newline at end of file
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v2.0/luis/programmatic
+```
+
+
+## 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.cognitiveservices.luis.programmatic
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/luis/programmatic
+```
diff --git a/specification/cognitiveservices/data-plane/LUIS/Programmatic/stable/v2.0/LUIS-Programmatic.json b/specification/cognitiveservices/data-plane/LUIS/Programmatic/stable/v2.0/LUIS-Programmatic.json
index 27acb32dcef0..68fa3053acc0 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Programmatic/stable/v2.0/LUIS-Programmatic.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Programmatic/stable/v2.0/LUIS-Programmatic.json
@@ -8,7 +8,7 @@
"hostTemplate": "{AzureRegion}.api.cognitive.microsoft.com",
"parameters": [
{
- "$ref": "../../../Common/ExtendedRegions.json#/parameters/AzureRegion"
+ "$ref": "../../../../Common/ExtendedRegions.json#/parameters/AzureRegion"
}
]
},
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md
index fbee22849cb9..487f09cdcf3b 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md
@@ -25,6 +25,20 @@ directive:
remove-operation: Prediction_Resolve2
```
+---
+# 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-go
+```
+
### Runtime 2.0 - CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -34,7 +48,7 @@ csharp:
license-header: MICROSOFT_MIT_NO_VERSION
azure-arm: false
namespace: Microsoft.Azure.CognitiveServices.Language.LUIS
- output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Language/LUIS-Runtime/Generated
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Language/LUIS/Runtime/Generated
clear-output-folder: true
# csharp has support for modelAsExtensible now; replace modelAsString with that.
@@ -59,11 +73,34 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: runtime_2_0
+```
+
### Tag: runtime_2_0 and go
These settings apply only when `--tag=runtime_2_0 --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'runtime_2_0' && $(go)
-output-folder: $(go-sdk-folder)/services/cognitiveservices/luis/v2.0/runtime
-```
\ No newline at end of file
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v2.0/luis/runtime
+```
+
+
+## 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.cognitiveservices.luis.runtime
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/luis/runtime
+```
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v2.0/LUIS-Runtime.json b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v2.0/LUIS-Runtime.json
index 89afc3246c20..d3b080f6df81 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v2.0/LUIS-Runtime.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/stable/v2.0/LUIS-Runtime.json
@@ -8,7 +8,7 @@
"hostTemplate": "{AzureRegion}.api.cognitive.microsoft.com",
"parameters": [
{
- "$ref": "../../../Common/ExtendedRegions.json#/parameters/AzureRegion"
+ "$ref": "../../../../Common/ExtendedRegions.json#/parameters/AzureRegion"
}
]
},
@@ -43,7 +43,7 @@
},
{
"name": "q",
- "x-ms-client-name":"query",
+ "x-ms-client-name": "query",
"in": "query",
"required": true,
"maxLength": 500,
@@ -123,7 +123,7 @@
},
{
"name": "q",
- "x-ms-client-name":"query",
+ "x-ms-client-name": "query",
"in": "body",
"required": true,
"schema": {
@@ -188,7 +188,7 @@
"produces": [
"application/json"
],
- "x-ms-examples":{
+ "x-ms-examples": {
"Successful Get Predictions From Endpoint Via Post request": {
"$ref": "./examples/prediction/SuccessfulGetPredictionsFromEndpointViaPostRequest.json"
}
@@ -304,7 +304,7 @@
"EntityModel": {
"description": "An entity extracted from the utterance.",
"type": "object",
- "properties":{
+ "properties": {
"entity": {
"type": "string",
"description": "Name of the entity, as defined in LUIS."
@@ -326,7 +326,12 @@
"type": "object",
"description": "List of additional properties. E.g.: score and resolution values for pre-built LUIS entities."
},
- "required": [ "entity", "type", "startIndex", "endIndex" ]
+ "required": [
+ "entity",
+ "type",
+ "startIndex",
+ "endIndex"
+ ]
},
"EntityWithScore": {
"allOf": [
diff --git a/specification/cognitiveservices/data-plane/NewsSearch/readme.md b/specification/cognitiveservices/data-plane/NewsSearch/readme.md
index 28b682716ef0..21ba89e349da 100644
--- a/specification/cognitiveservices/data-plane/NewsSearch/readme.md
+++ b/specification/cognitiveservices/data-plane/NewsSearch/readme.md
@@ -30,6 +30,19 @@ directive:
reason: _type is a polymorphic discriminator that can't be changed.
```
+## 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -77,6 +90,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -84,4 +104,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.newssearch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/newssearch
+```
diff --git a/specification/cognitiveservices/data-plane/NewsSearch/stable/v1.0/NewsSearch.json b/specification/cognitiveservices/data-plane/NewsSearch/stable/v1.0/NewsSearch.json
index 31d7af1ca2f2..c9fc6f196705 100644
--- a/specification/cognitiveservices/data-plane/NewsSearch/stable/v1.0/NewsSearch.json
+++ b/specification/cognitiveservices/data-plane/NewsSearch/stable/v1.0/NewsSearch.json
@@ -325,7 +325,7 @@
"name": "count",
"x-ms-client-name": "Count",
"in": "query",
- "description": "The number of news articles to return in the response. The actual number delivered may be less than requested. The default is 10 and the maximum value is 100. The actual number delivered may be less than requested.You may use this parameter along with the offset parameter to page results. For example, if your user interface displays 20 articles per page, set count to 20 and offset to 0 to get the first page of results. For each subsequent page, increment offset by 20 (for example, 0, 20, 40). It is possible for multiple pages to include some overlap in results. If you do not specify the [category](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference#category) parameter, Bing ignores this paramter.",
+ "description": "The number of news articles to return in the response. The actual number delivered may be less than requested. The default is 10 and the maximum value is 100. The actual number delivered may be less than requested.You may use this parameter along with the offset parameter to page results. For example, if your user interface displays 20 articles per page, set count to 20 and offset to 0 to get the first page of results. For each subsequent page, increment offset by 20 (for example, 0, 20, 40). It is possible for multiple pages to include some overlap in results. If you do not specify the [category](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference#category) parameter, Bing ignores this parameter.",
"required": false,
"type": "integer",
"format": "int32"
@@ -351,7 +351,7 @@
"name": "offset",
"x-ms-client-name": "Offset",
"in": "query",
- "description": "The zero-based offset that indicates the number of news to skip before returning news. The default is 0. The offset should be less than ([totalEstimatedMatches](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference#news-totalmatches) - count). Use this parameter along with the count parameter to page results. For example, if your user interface displays 20 news per page, set count to 20 and offset to 0 to get the first page of results. For each subsequent page, increment offset by 20 (for example, 0, 20, 40). It is possible for multiple pages to include some overlap in results. If you do not specify the [category](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference#category) parameter, Bing ignores this paramter.",
+ "description": "The zero-based offset that indicates the number of news to skip before returning news. The default is 0. The offset should be less than ([totalEstimatedMatches](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference#news-totalmatches) - count). Use this parameter along with the count parameter to page results. For example, if your user interface displays 20 news per page, set count to 20 and offset to 0 to get the first page of results. For each subsequent page, increment offset by 20 (for example, 0, 20, 40). It is possible for multiple pages to include some overlap in results. If you do not specify the [category](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-news-api-v7-reference#category) parameter, Bing ignores this parameter.",
"required": false,
"type": "integer",
"format": "int32"
diff --git a/specification/cognitiveservices/data-plane/SpellCheck/readme.md b/specification/cognitiveservices/data-plane/SpellCheck/readme.md
index 5221e9d2d954..a68d6efd7b23 100644
--- a/specification/cognitiveservices/data-plane/SpellCheck/readme.md
+++ b/specification/cognitiveservices/data-plane/SpellCheck/readme.md
@@ -21,6 +21,19 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/V1.0/SpellCheck.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -68,6 +81,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -75,4 +95,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.spellcheck
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/spellcheck
+```
diff --git a/specification/cognitiveservices/data-plane/SpellCheck/stable/V1.0/SpellCheck.json b/specification/cognitiveservices/data-plane/SpellCheck/stable/V1.0/SpellCheck.json
index b3c7061240bd..7f8ccebabb97 100644
--- a/specification/cognitiveservices/data-plane/SpellCheck/stable/V1.0/SpellCheck.json
+++ b/specification/cognitiveservices/data-plane/SpellCheck/stable/V1.0/SpellCheck.json
@@ -191,8 +191,8 @@
"required": false,
"type": "string",
"enum": [
- "Proof",
- "Spell"
+ "proof",
+ "spell"
],
"x-ms-enum": {
"name": "Mode",
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
index c789957ccbc7..9f3bc3db2100 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -127,6 +127,19 @@ input-file: stable/v2.0/TextAnalytics.json
log-file: logs/log.txt
```
+## 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -177,6 +190,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_2_0
+```
+
### Tag: release_2_0 and go
These settings apply only when `--tag=release_2_0 --go` is specified on the command line.
@@ -184,4 +204,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.textanalytics
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/textanalytics
+```
diff --git a/specification/cognitiveservices/data-plane/VideoSearch/readme.md b/specification/cognitiveservices/data-plane/VideoSearch/readme.md
index 65910dd4ac72..3f1c23fe7768 100644
--- a/specification/cognitiveservices/data-plane/VideoSearch/readme.md
+++ b/specification/cognitiveservices/data-plane/VideoSearch/readme.md
@@ -21,6 +21,19 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/VideoSearch.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -68,6 +81,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -75,4 +95,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.videosearch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/videosearch
+```
diff --git a/specification/cognitiveservices/data-plane/WebSearch/readme.md b/specification/cognitiveservices/data-plane/WebSearch/readme.md
index 20c5a7cb2582..66bc987d0834 100644
--- a/specification/cognitiveservices/data-plane/WebSearch/readme.md
+++ b/specification/cognitiveservices/data-plane/WebSearch/readme.md
@@ -20,6 +20,19 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
``` yaml $(tag) == 'release_1_0'
input-file: stable/v1.0/WebSearch.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-go
+```
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
@@ -68,6 +81,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_1_0
+```
+
### Tag: release_1_0 and go
These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
@@ -75,4 +95,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.cognitiveservices.websearch
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-cognitiveservices/websearch
+```
diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md
index b598116fe9a4..a03589efadf3 100644
--- a/specification/cognitiveservices/resource-manager/readme.md
+++ b/specification/cognitiveservices/resource-manager/readme.md
@@ -5,7 +5,7 @@
This is the AutoRest configuration file for CognitiveServices.
# Notice
-Microsoft will use data you send to the Cognitive Services to improve Microsoft products and services. Where you send personal data to the Cognitive Services, you are responsible for obtaining sufficient consent from the data subjects. The General Privacy and Security Terms in the Online Services Terms do not apply to the Cognitive Services. Please refer to the Microsoft Cognitive Services section in the [Online Services Terms](https://www.microsoft.com/en-us/Licensing/product-licensing/products.aspx) for details. Microsoft offers policy controls that may be used to [disable new Cognitive Services deployments](https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account).
+Microsoft will use data you send to Bing Search Services or the Translator Speech API to improve Microsoft products and services. Where you send personal data to these Cognitive Services, you are responsible for obtaining sufficient consent from the data subjects. The General Privacy and Security Terms in the Online Services Terms do not apply to these Cognitive Services. Please refer to the Microsoft Cognitive Services section in the [Online Services Terms](https://www.microsoft.com/en-us/Licensing/product-licensing/products.aspx) for details. Microsoft offers policy controls that may be used to [disable new Cognitive Services deployments](https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account).
---
## Getting Started
@@ -54,6 +54,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -80,6 +93,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04
+ - tag: package-2016-02-preview
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
@@ -97,3 +118,35 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.advisor
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-advisor
+```
+
+
+## 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.cognitiveservices
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cognitiveservices
+```
diff --git a/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json b/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
index 77fe4f64c96b..15ba153a1219 100644
--- a/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
+++ b/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
@@ -180,6 +180,8 @@
"description": "UTC end time for the usage bucket to which this usage aggregate belongs."
},
"quantity": {
+ "type": "number",
+ "format": "float",
"description": "The amount of the resource consumption that occurred in this time frame."
},
"unit": {
@@ -489,4 +491,4 @@
"description": "Client Api Version."
}
}
-}
+}
diff --git a/specification/commerce/resource-manager/readme.md b/specification/commerce/resource-manager/readme.md
index 3c1abcf6acd0..e81fd6a0d11b 100644
--- a/specification/commerce/resource-manager/readme.md
+++ b/specification/commerce/resource-manager/readme.md
@@ -43,6 +43,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## Python
These settings apply only when `--python` is specified on the command line.
@@ -82,6 +95,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-06-preview
+```
+
### Tag: package-2015-06-preview and go
These settings apply only when `--tag=package-2015-06-preview --go` is specified on the command line.
@@ -90,3 +110,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.commerce
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-commerce
+```
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/compute.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/compute.json
index 853b175259d7..c8d2924ecb67 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/compute.json
@@ -947,6 +947,29 @@
}
}
},
+ "x-ms-examples": {
+ "Create a virtual machine image from a blob.": {
+ "$ref": "./examples/CreateAnImageFromABlob.json"
+ },
+ "Create a virtual machine image from a snapshot.": {
+ "$ref": "./examples/CreateAnImageFromASnapshot.json"
+ },
+ "Create a virtual machine image from a managed disk.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from an existing virtual machine.": {
+ "$ref": "./examples/CreateAnImageFromAVM.json"
+ },
+ "Create a virtual machine image that includes a data disk from a blob.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json"
+ },
+ "Create a virtual machine image that includes a data disk from a snapshot.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json"
+ },
+ "Create a virtual machine image that includes a data disk from a managed disk.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"delete": {
@@ -1035,6 +1058,11 @@
"$ref": "#/definitions/Image"
}
}
+ },
+ "x-ms-examples": {
+ "Get information about a virtual machine image.": {
+ "$ref": "./examples/GetInformationAboutAnImage.json"
+ }
}
}
},
@@ -1068,6 +1096,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all virtual machine images in a resource group.": {
+ "$ref": "./examples/ListImagesInAResourceGroup.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -1096,6 +1129,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all virtual machine images in a subscription.": {
+ "$ref": "./examples/ListImagesInASubscription.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/disk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/disk.json
index f1bc66087a81..660b14199ba7 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/disk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/disk.json
@@ -60,6 +60,26 @@
}
}
},
+ "x-ms-examples": {
+ "Create an empty managed disk.": {
+ "$ref": "./examples/CreateAnEmptyManagedDisk.json"
+ },
+ "Create a managed disk from a platform image.": {
+ "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json"
+ },
+ "Create a managed disk from an existing managed disk in the same or different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ },
+ "Create a managed disk by copying a snapshot.": {
+ "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"patch": {
@@ -134,6 +154,11 @@
"$ref": "#/definitions/Disk"
}
}
+ },
+ "x-ms-examples": {
+ "Get information about a managed disk.": {
+ "$ref": "./examples/GetInformationAboutAManagedDisk.json"
+ }
}
},
"delete": {
@@ -207,6 +232,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all managed disks in a resource group.": {
+ "$ref": "./examples/ListManagedDisksInAResourceGroup.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -235,6 +265,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all managed disks in a subscription.": {
+ "$ref": "./examples/ListManagedDisksInASubscription.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -371,6 +406,17 @@
}
}
},
+ "x-ms-examples": {
+ "Create a snapshot from an existing snapshot in the same or a different subscription.": {
+ "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"patch": {
@@ -445,6 +491,11 @@
"$ref": "#/definitions/Snapshot"
}
}
+ },
+ "x-ms-examples": {
+ "Get information about a snapshot.": {
+ "$ref": "./examples/GetInformationAboutASnapshot.json"
+ }
}
},
"delete": {
@@ -510,6 +561,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all snapshots in a resource group.": {
+ "$ref": "./examples/ListSnapshotsInAResourceGroup.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -538,6 +594,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all snapshots in a subscription.": {
+ "$ref": "./examples/ListSnapshotsInASubscription.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -1159,7 +1220,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the disk within the given subscription and resource group.",
+ "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
"x-ms-parameter-location": "method"
},
"SnapshotNameParameter": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100755
index 000000000000..2649fbe485de
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100755
index 000000000000..2602cec524c4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100755
index 000000000000..26199d603125
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100755
index 000000000000..b49e56b2c2ec
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100755
index 000000000000..3ac09ca6f02c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "diskName": "myDisk2",
+ "disk": {
+ "name": "myDisk2",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100755
index 000000000000..f8fb62ad21b6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "name": "mySnapshot1",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100755
index 000000000000..15dd67f13ac3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "name": "mySnapshot1",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100755
index 000000000000..365b619c4bb2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "snapshotName": "mySnapshot2",
+ "snapshot": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnEmptyManagedDisk.json
new file mode 100755
index 000000000000..669466bb698f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromABlob.json
new file mode 100755
index 000000000000..a91e59e1203a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromABlob.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAManagedDisk.json
new file mode 100755
index 000000000000..4c821ef7a3e5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAManagedDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromASnapshot.json
new file mode 100755
index 000000000000..eee1ced5108d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromASnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAVM.json
new file mode 100755
index 000000000000..957e75381d5d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageFromAVM.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
new file mode 100755
index 000000000000..b22592015748
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
new file mode 100755
index 000000000000..392185259e2e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
new file mode 100755
index 000000000000..95e57ce8e39c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutAManagedDisk.json
new file mode 100755
index 000000000000..a33ecb461590
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myManagedDisk"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutASnapshot.json
new file mode 100755
index 000000000000..338c5f8b9c55
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "snapshotName": "mySnapshot"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 100,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutAnImage.json
new file mode 100755
index 000000000000..ef9dd8981da4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/GetInformationAboutAnImage.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview",
+ "imageName": "myImage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListImagesInAResourceGroup.json
new file mode 100755
index 000000000000..3165270a5a4f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListImagesInAResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListImagesInASubscription.json
new file mode 100755
index 000000000000..5902828ef1c8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListImagesInASubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2016-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListManagedDisksInAResourceGroup.json
new file mode 100755
index 000000000000..b011600abfbe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListManagedDisksInASubscription.json
new file mode 100755
index 000000000000..9dab9f70ac61
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId":"{subscription-id}",
+ "api-version":"2016-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType":"Windows",
+ "creationData": {
+ "createOption":"Copy",
+ "sourceResourceId":"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "diskSizeGB":200,
+ "encryptionSettings": {
+ "enabled":true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl":"https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl":"https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated":"2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState":"Succeeded"
+ },
+ "type":"Microsoft.Compute/disks",
+ "location":"westus",
+ "tags": {
+ "department":"Development",
+ "project":"ManagedDisks"
+ },
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1",
+ "name":"myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType":"Windows",
+ "creationData": {
+ "createOption":"Empty"
+ },
+ "diskSizeGB":10,
+ "timeCreated":"2016-12-28T04:41:36.872242+00:00",
+ "provisioningState":"Succeeded"
+ },
+ "type":"Microsoft.Compute/disks",
+ "location":"westus",
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2",
+ "name":"myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType":"Windows",
+ "creationData": {
+ "createOption":"FromImage",
+ "imageReference": {
+ "id":"/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB":200,
+ "encryptionSettings": {
+ "enabled":true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl":"https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl":"https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated":"2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState":"Succeeded"
+ },
+ "type":"Microsoft.Compute/disks",
+ "location":"westus",
+ "tags": {
+ "department":"Development",
+ "project":"ManagedDisks"
+ },
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3",
+ "name":"myManagedDisk3"
+ }
+ ],
+ "nextLink":"http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListSnapshotsInAResourceGroup.json
new file mode 100755
index 000000000000..ae6d17eeaf7d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2016-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListSnapshotsInASubscription.json
new file mode 100755
index 000000000000..04c5f597ba39
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2016-04-30-preview/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2016-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:47:30.6630569+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1",
+ "name": "mySnapshot1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:47:30.3247198+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2",
+ "name": "mySnapshot2"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json
index 95c9b0561c9e..a66d258d21ab 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2015-06-15/compute.json
@@ -2997,6 +2997,10 @@
"$ref": "#/definitions/Usage"
},
"description": "The list of compute resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information."
}
},
"description": "The List Usages operation response."
@@ -4290,6 +4294,10 @@
"$ref": "#/definitions/VirtualMachineScaleSet"
},
"description": "The list of virtual machine scale sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of virtual machine scale sets. Call ListNext() with this to fetch the next page of virtual machine scale sets."
}
},
"description": "The List Virtual Machine operation response."
@@ -4375,6 +4383,10 @@
"$ref": "#/definitions/VirtualMachineScaleSetSku"
},
"description": "The list of skus available for the virtual machine scale set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of skus available for the virtual machine scale set. Call ListNext() with this to fetch the next page of skus available for the virtual machine scale set."
}
},
"description": "The Virtual Machine Scale Set List Skus operation response."
@@ -4518,6 +4530,10 @@
"$ref": "#/definitions/VirtualMachineScaleSetVM"
},
"description": "The list of virtual machine scale sets VMs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of virtual machine scale sets VMs. Call ListNext() with this to fetch the next page of virtual machine scale sets VMs."
}
},
"description": "The List Virtual Machine Scale Set VMs operation response."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json
index 1e80efdcdccc..75652f525a6d 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/compute.json
@@ -951,6 +951,29 @@
}
}
},
+ "x-ms-examples": {
+ "Create a virtual machine image from a blob.": {
+ "$ref": "./examples/CreateAnImageFromABlob.json"
+ },
+ "Create a virtual machine image from a snapshot.": {
+ "$ref": "./examples/CreateAnImageFromASnapshot.json"
+ },
+ "Create a virtual machine image from a managed disk.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from an existing virtual machine.": {
+ "$ref": "./examples/CreateAnImageFromAVM.json"
+ },
+ "Create a virtual machine image that includes a data disk from a blob.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json"
+ },
+ "Create a virtual machine image that includes a data disk from a snapshot.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json"
+ },
+ "Create a virtual machine image that includes a data disk from a managed disk.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"delete": {
@@ -1039,6 +1062,11 @@
"$ref": "#/definitions/Image"
}
}
+ },
+ "x-ms-examples": {
+ "Get information about a virtual machine image.": {
+ "$ref": "./examples/GetInformationAboutAnImage.json"
+ }
}
}
},
@@ -1072,6 +1100,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all virtual machine images in a resource group.": {
+ "$ref": "./examples/ListImagesInAResourceGroup.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -1100,6 +1133,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all virtual machine images in a subscription.": {
+ "$ref": "./examples/ListImagesInASubscription.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/disk.json
index 73ac57721d4e..4d8c295422dc 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/disk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/disk.json
@@ -78,6 +78,26 @@
}
}
},
+ "x-ms-examples": {
+ "Create an empty managed disk.": {
+ "$ref": "./examples/CreateAnEmptyManagedDisk.json"
+ },
+ "Create a managed disk from a platform image.": {
+ "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json"
+ },
+ "Create a managed disk from an existing managed disk in the same or different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ },
+ "Create a managed disk by copying a snapshot.": {
+ "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"patch": {
@@ -152,6 +172,11 @@
"$ref": "#/definitions/Disk"
}
}
+ },
+ "x-ms-examples": {
+ "Get information about a managed disk.": {
+ "$ref": "./examples/GetInformationAboutAManagedDisk.json"
+ }
}
},
"delete": {
@@ -217,6 +242,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all managed disks in a resource group.": {
+ "$ref": "./examples/ListManagedDisksInAResourceGroup.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -245,6 +275,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all managed disks in a subscription.": {
+ "$ref": "./examples/ListManagedDisksInASubscription.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -373,6 +408,17 @@
}
}
},
+ "x-ms-examples": {
+ "Create a snapshot from an existing snapshot in the same or a different subscription.": {
+ "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"patch": {
@@ -447,6 +493,11 @@
"$ref": "#/definitions/Snapshot"
}
}
+ },
+ "x-ms-examples": {
+ "Get information about a snapshot.": {
+ "$ref": "./examples/GetInformationAboutASnapshot.json"
+ }
}
},
"delete": {
@@ -512,6 +563,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all snapshots in a resource group.": {
+ "$ref": "./examples/ListSnapshotsInAResourceGroup.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -540,6 +596,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all snapshots in a subscription.": {
+ "$ref": "./examples/ListSnapshotsInASubscription.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -1176,7 +1237,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the disk within the given subscription and resource group.",
+ "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
"x-ms-parameter-location": "method"
},
"SnapshotNameParameter": {
@@ -1184,7 +1245,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the snapshot within the given subscription and resource group.",
+ "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.",
"x-ms-parameter-location": "method"
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100644
index 000000000000..d2627920ec47
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..1a354bfe6ed3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..1b16c561931d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100644
index 000000000000..16e742966328
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100644
index 000000000000..57b69deef0ca
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myDisk2",
+ "disk": {
+ "name": "myDisk2",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..f8fb62ad21b6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "name": "mySnapshot1",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..15dd67f13ac3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "name": "mySnapshot1",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100644
index 000000000000..365b619c4bb2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "snapshotName": "mySnapshot2",
+ "snapshot": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnEmptyManagedDisk.json
new file mode 100644
index 000000000000..8b7c269ab2cc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myDisk",
+ "disk": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromABlob.json
new file mode 100644
index 000000000000..ad84382fe7e9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromABlob.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromAManagedDisk.json
new file mode 100644
index 000000000000..5b13273b57f3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromAManagedDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromASnapshot.json
new file mode 100644
index 000000000000..8b54f231479b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromASnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromAVM.json
new file mode 100644
index 000000000000..ac54e1bd98fd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageFromAVM.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
new file mode 100644
index 000000000000..f4f14a84581f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
new file mode 100644
index 000000000000..a6e5ca71e8c6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
new file mode 100644
index 000000000000..12023acf3634
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutAManagedDisk.json
new file mode 100644
index 000000000000..ed0d5a41e5c3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "diskName": "myManagedDisk"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec",
+ "sku": {
+ "name": "Standard_LRS"
+ },
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutASnapshot.json
new file mode 100644
index 000000000000..bd12c5641987
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "snapshotName": "mySnapshot"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 100,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutAnImage.json
new file mode 100644
index 000000000000..7f249d8be4a1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/GetInformationAboutAnImage.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListImagesInAResourceGroup.json
new file mode 100644
index 000000000000..91373aab7cf0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListImagesInAResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListImagesInASubscription.json
new file mode 100644
index 000000000000..b32a7aa67fa0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListImagesInASubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListManagedDisksInAResourceGroup.json
new file mode 100644
index 000000000000..9ebc2a0d8e83
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListManagedDisksInASubscription.json
new file mode 100644
index 000000000000..edf855539730
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId":"{subscription-id}",
+ "api-version":"2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType":"Windows",
+ "creationData": {
+ "createOption":"Copy",
+ "sourceResourceId":"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "diskSizeGB":200,
+ "encryptionSettings": {
+ "enabled":true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl":"https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl":"https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated":"2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState":"Succeeded"
+ },
+ "type":"Microsoft.Compute/disks",
+ "location":"westus",
+ "tags": {
+ "department":"Development",
+ "project":"ManagedDisks"
+ },
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1",
+ "name":"myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType":"Windows",
+ "creationData": {
+ "createOption":"Empty"
+ },
+ "diskSizeGB":10,
+ "timeCreated":"2016-12-28T04:41:36.872242+00:00",
+ "provisioningState":"Succeeded"
+ },
+ "type":"Microsoft.Compute/disks",
+ "location":"westus",
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2",
+ "name":"myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType":"Windows",
+ "creationData": {
+ "createOption":"FromImage",
+ "imageReference": {
+ "id":"/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB":200,
+ "encryptionSettings": {
+ "enabled":true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl":"https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl":"https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated":"2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState":"Succeeded"
+ },
+ "type":"Microsoft.Compute/disks",
+ "location":"westus",
+ "tags": {
+ "department":"Development",
+ "project":"ManagedDisks"
+ },
+ "id":"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3",
+ "name":"myManagedDisk3"
+ }
+ ],
+ "nextLink":"http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListSnapshotsInAResourceGroup.json
new file mode 100644
index 000000000000..d6e016498686
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListSnapshotsInASubscription.json
new file mode 100644
index 000000000000..ba2f31c5856c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-03-30/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:47:30.6630569+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1",
+ "name": "mySnapshot1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettings": {
+ "enabled": true,
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "timeCreated": "2016-12-28T04:47:30.3247198+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2",
+ "name": "mySnapshot2"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json
index ad3343bbeb54..5b5fa6164938 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/compute.json
@@ -951,6 +951,29 @@
}
}
},
+ "x-ms-examples": {
+ "Create a virtual machine image from a blob.": {
+ "$ref": "./examples/CreateAnImageFromABlob.json"
+ },
+ "Create a virtual machine image from a snapshot.": {
+ "$ref": "./examples/CreateAnImageFromASnapshot.json"
+ },
+ "Create a virtual machine image from a managed disk.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from an existing virtual machine.": {
+ "$ref": "./examples/CreateAnImageFromAVM.json"
+ },
+ "Create a virtual machine image that includes a data disk from a blob.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json"
+ },
+ "Create a virtual machine image that includes a data disk from a snapshot.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json"
+ },
+ "Create a virtual machine image that includes a data disk from a managed disk.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"delete": {
@@ -1039,6 +1062,11 @@
"$ref": "#/definitions/Image"
}
}
+ },
+ "x-ms-examples": {
+ "Get information about a virtual machine image.": {
+ "$ref": "./examples/GetInformationAboutAnImage.json"
+ }
}
}
},
@@ -1072,6 +1100,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all virtual machine images in a resource group.": {
+ "$ref": "./examples/ListImagesInAResourceGroup.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -1100,6 +1133,11 @@
}
}
},
+ "x-ms-examples": {
+ "List all virtual machine images in a subscription.": {
+ "$ref": "./examples/ListImagesInASubscription.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -2932,6 +2970,52 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk": {
+ "post":{
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ForceRecoveryServiceFabricPlatformUpdateDomainWalk",
+ "description": "Manual platform update domain walk to update virtual machines in a service fabric virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "platformUpdateDomain",
+ "in": "query",
+ "required": true,
+ "type": "integer",
+ "description": "The platform update domain for which a manual recovery walk is requested"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryWalkResponse"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage": {
"post": {
"tags": [
@@ -3083,6 +3167,66 @@
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Update",
+ "description": "Updates a virtual machine of a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be create or updated."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Scale Sets VM operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
"delete": {
"tags": [
"VirtualMachineScaleSetVMs"
@@ -3438,6 +3582,106 @@
},
"x-ms-long-running-operation": true
}
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportRequestRateByInterval",
+ "x-ms-examples": {
+ "Export logs which contain all Api requests made to Compute Resource Provider within the given time period broken down by intervals.": {
+ "$ref": "./examples/LogAnalyticsRequestRateByInterval.json" }
+ },
+ "description": "Export logs that show Api requests made by this subscription in the given time window to show throttling activities.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RequestRateByIntervalInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getRequestRateByInterval Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportThrottledRequests",
+ "x-ms-examples": {
+ "Export logs which contain all throttled Api requests made to Compute Resource Provider within the given time period.": {
+ "$ref": "./examples/LogAnalyticsThrottledRequests.json" }
+ },
+ "description": "Export logs that show total throttled Api requests for this subscription in the given time window.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThrottledRequestsInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getThrottledRequests Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
}
},
"definitions": {
@@ -3998,6 +4242,12 @@
"Standard_A2m_v2",
"Standard_A4m_v2",
"Standard_A8m_v2",
+ "Standard_B1s",
+ "Standard_B1ms",
+ "Standard_B2s",
+ "Standard_B2ms",
+ "Standard_B4ms",
+ "Standard_B8ms",
"Standard_D1",
"Standard_D2",
"Standard_D3",
@@ -4011,6 +4261,18 @@
"Standard_D3_v2",
"Standard_D4_v2",
"Standard_D5_v2",
+ "Standard_D2_v3",
+ "Standard_D4_v3",
+ "Standard_D8_v3",
+ "Standard_D16_v3",
+ "Standard_D32_v3",
+ "Standard_D64_v3",
+ "Standard_D2s_v3",
+ "Standard_D4s_v3",
+ "Standard_D8s_v3",
+ "Standard_D16s_v3",
+ "Standard_D32s_v3",
+ "Standard_D64s_v3",
"Standard_D11_v2",
"Standard_D12_v2",
"Standard_D13_v2",
@@ -4034,6 +4296,26 @@
"Standard_DS13_v2",
"Standard_DS14_v2",
"Standard_DS15_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13-2_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14-4_v2",
+ "Standard_E2_v3",
+ "Standard_E4_v3",
+ "Standard_E8_v3",
+ "Standard_E16_v3",
+ "Standard_E32_v3",
+ "Standard_E64_v3",
+ "Standard_E2s_v3",
+ "Standard_E4s_v3",
+ "Standard_E8s_v3",
+ "Standard_E16s_v3",
+ "Standard_E32s_v3",
+ "Standard_E64s_v3",
+ "Standard_E32-16_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64-16s_v3",
"Standard_F1",
"Standard_F2",
"Standard_F4",
@@ -4044,6 +4326,13 @@
"Standard_F4s",
"Standard_F8s",
"Standard_F16s",
+ "Standard_F2s_v2",
+ "Standard_F4s_v2",
+ "Standard_F8s_v2",
+ "Standard_F16s_v2",
+ "Standard_F32s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
"Standard_G1",
"Standard_G2",
"Standard_G3",
@@ -4054,6 +4343,10 @@
"Standard_GS3",
"Standard_GS4",
"Standard_GS5",
+ "Standard_GS4-8",
+ "Standard_GS4-4",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
"Standard_H8",
"Standard_H16",
"Standard_H8m",
@@ -4064,10 +4357,30 @@
"Standard_L8s",
"Standard_L16s",
"Standard_L32s",
+ "Standard_M64s",
+ "Standard_M64ms",
+ "Standard_M128s",
+ "Standard_M128ms",
+ "Standard_M64-32ms",
+ "Standard_M64-16ms",
+ "Standard_M128-64ms",
+ "Standard_M128-32ms",
"Standard_NC6",
"Standard_NC12",
"Standard_NC24",
"Standard_NC24r",
+ "Standard_NC6s_v2",
+ "Standard_NC12s_v2",
+ "Standard_NC24s_v2",
+ "Standard_NC24rs_v2",
+ "Standard_NC6s_v3",
+ "Standard_NC12s_v3",
+ "Standard_NC24s_v3",
+ "Standard_NC24rs_v3",
+ "Standard_ND6s",
+ "Standard_ND12s",
+ "Standard_ND24s",
+ "Standard_ND24rs",
"Standard_NV6",
"Standard_NV12",
"Standard_NV24"
@@ -4252,6 +4565,10 @@
"$ref": "#/definitions/Caching",
"description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
},
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
"createOption": {
"$ref": "#/definitions/CreateOption",
"description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
@@ -4294,6 +4611,10 @@
"$ref": "#/definitions/Caching",
"description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
},
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
"createOption": {
"$ref": "#/definitions/CreateOption",
"description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
@@ -4769,6 +5090,18 @@
"format": "int32",
"description": "Specifies the fault domain of the virtual machine."
},
+ "computerName": {
+ "type": "string",
+ "description": "The computer name assigned to the virtual machine."
+ },
+ "osName": {
+ "type": "string",
+ "description": "The Operating System running on the virtual machine."
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of Operating System running on the virtual machine."
+ },
"rdpThumbPrint": {
"type": "string",
"description": "The Remote desktop certificate thumbprint."
@@ -5286,6 +5619,10 @@
"$ref": "#/definitions/Caching",
"description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
},
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
"createOption": {
"$ref": "#/definitions/CreateOption",
"description": "Specifies how the virtual machines in the scale set should be created.
The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
@@ -5329,6 +5666,10 @@
"$ref": "#/definitions/Caching",
"description": "The caching type."
},
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
"image": {
"$ref": "#/definitions/VirtualHardDisk",
"description": "The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist."
@@ -5362,6 +5703,10 @@
"$ref": "#/definitions/Caching",
"description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
},
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
"createOption": {
"$ref": "#/definitions/CreateOption",
"description": "The create option."
@@ -5897,6 +6242,18 @@
"licenseType": {
"type": "string",
"description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
+ },
+ "priority": {
+ "type": "string",
+ "description": "Specifies the priority for the virtual machines in the scale set.
Minimum api-version: 2017-10-30-preview",
+ "enum": [
+ "Regular",
+ "Low"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachinePriorityTypes",
+ "modelAsString": true
+ }
}
},
"description": "Describes a virtual machine scale set virtual machine profile."
@@ -5957,6 +6314,15 @@
"singlePlacementGroup": {
"type": "boolean",
"description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines."
+ },
+ "zoneBalance": {
+ "type": "boolean",
+ "description": "Whether to force stictly even Virtual Machine distribution cross x-zones in case there is zone outage."
+ },
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fault Domain count for each placement group."
}
},
"description": "Describes the properties of a Virtual Machine Scale Set."
@@ -6675,6 +7041,21 @@
},
"x-ms-azure-resource": true
},
+ "RecoveryWalkResponse": {
+ "properties": {
+ "walkPerformed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether the recovery walk was performed"
+ },
+ "nextPlatformUpdateDomain": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "The next update domain that needs to be walked. Null means walk spanning all update domains has been completed"
+ }
+ },
+ "description": "Response after calling a manual recovery walk"
+ },
"OperationStatusResponse": {
"properties": {
"name": {
@@ -6706,6 +7087,102 @@
}
},
"description": "Operation status response"
+ },
+ "RequestRateByIntervalInput": {
+ "properties": {
+ "intervalLength": {
+ "type": "string",
+ "description": "Interval value in minutes used to create LogAnalytics call rate logs.",
+ "enum": [
+ "ThreeMins",
+ "FiveMins",
+ "ThirtyMins",
+ "SixtyMins"
+ ],
+ "x-ms-enum": {
+ "name": "IntervalInMins",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "intervalLength"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getRequestRateByInterval Api."
+ },
+ "ThrottledRequestsInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getThrottledRequests Api."
+ },
+ "LogAnalyticsInputBase": {
+ "properties": {
+ "blobContainerSasUri": {
+ "type": "string",
+ "description": "SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to."
+ },
+ "fromTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "From time of the query"
+ },
+ "toTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "To time of the query"
+ },
+ "groupByThrottlePolicy": {
+ "type": "boolean",
+ "description": "Group query result by Throttle Policy applied."
+ },
+ "groupByOperationName": {
+ "type": "boolean",
+ "description": "Group query result by by Operation Name."
+ },
+ "groupByResourceName": {
+ "type": "boolean",
+ "description": "Group query result by Resource Name."
+ }
+ },
+ "required": [
+ "blobContainerSasUri",
+ "fromTime",
+ "toTime"
+ ],
+ "description": "Api input base class for LogAnalytics Api."
+ },
+ "LogAnalyticsOperationResult": {
+ "properties": {
+ "properties" :{
+ "readOnly": true,
+ "$ref": "#/definitions/LogAnalyticsOutput",
+ "description": "LogAnalyticsOutput"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusResponse"
+ }
+ ],
+ "description": "LogAnalytics operation status response"
+ },
+ "LogAnalyticsOutput": {
+ "properties": {
+ "output": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Output file Uri path to blob container."
+ }
+ },
+ "description": "LogAnalytics output properties"
}
},
"parameters": {
@@ -6724,4 +7201,4 @@
"description": "Client Api Version."
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromABlob.json
new file mode 100755
index 000000000000..2dec348850b6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromABlob.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromAManagedDisk.json
new file mode 100755
index 000000000000..30f447b50a6c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromAManagedDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromASnapshot.json
new file mode 100755
index 000000000000..d6953db81da3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromASnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromAVM.json
new file mode 100755
index 000000000000..5eae8603582b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageFromAVM.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
new file mode 100755
index 000000000000..2aa6caab50cb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
new file mode 100755
index 000000000000..1338277a5833
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
new file mode 100755
index 000000000000..71bd7962175a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/GetInformationAboutAnImage.json
new file mode 100755
index 000000000000..6f0584658bf2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/GetInformationAboutAnImage.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30",
+ "imageName": "myImage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListImagesInAResourceGroup.json
new file mode 100755
index 000000000000..22c488556b2c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListImagesInAResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListImagesInASubscription.json
new file mode 100755
index 000000000000..0e2aef994a21
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/ListImagesInASubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2017-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/LogAnalyticsRequestRateByInterval.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/LogAnalyticsRequestRateByInterval.json
new file mode 100644
index 000000000000..3b994abb5dd1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/LogAnalyticsRequestRateByInterval.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2017-12-01",
+ "parameters": {
+ "intervalLength": "FiveMins",
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByResourceName": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "startTime": "2018-01-30T17:54:14.8806951-08:00",
+ "endTime": "2018-01-30T17:54:17.5832413-08:00",
+ "status": "Succeeded",
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/RequestRateByInterval_20180121-0154_20180123-0154.csv"
+ },
+ "name": "8eb1169a-5cf9-46b1-aadf-41e4f60692df"
+ }
+ },
+ "202": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/LogAnalyticsThrottledRequests.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/LogAnalyticsThrottledRequests.json
new file mode 100644
index 000000000000..0379b5a9dc6d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/LogAnalyticsThrottledRequests.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2017-12-01",
+ "parameters": {
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByOperationName": true,
+ "groupByResourceName": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "startTime": "2018-01-30T17:54:14.8806951-08:00",
+ "endTime": "2018-01-30T17:54:17.5832413-08:00",
+ "status": "Succeeded",
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/ThrottledRequests_20180121-0154_20180123-0154.csv"
+ },
+ "name": "8eb1169a-5cf9-46b1-aadf-41e4f60692df"
+ }
+ },
+ "202": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommand.json
new file mode 100644
index 000000000000..f958a102f4e5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommand.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "resourceGroupName": "crptestar98131",
+ "vmName": "vm3036",
+ "$top": "1",
+ "api-version": "2017-12-01",
+ "monitor": "true",
+ "parameters": {
+ "commandId": "RunPowerShellScript"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "startTime": "2017-06-16T16:01:37.8958419-07:00",
+ "endTime": "2017-06-16T16:10:11.2897717-07:00",
+ "status": "Succeeded",
+ "properties": {
+ "output": [
+ {
+ "code": "ComponentStatus/StdOut/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "This is a sample script with parameters value1 value2"
+ },
+ {
+ "code":"ComponentStatus/StdErr/succeeded",
+ "level":"Info",
+ "displayStatus":"Provisioning succeeded",
+ "message":""
+ }
+ ]
+ },
+ "name":"289dbc84-3c84-4a86-9e40-bbd4d61edcaf"
+ }
+ },
+ "202": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommandGet.json
new file mode 100644
index 000000000000..721ca7d621ef
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommandGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "location": "SoutheastAsia",
+ "commandId": "RunPowerShellScript",
+ "api-version": "2017-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "script": [
+ "param(",
+ " [string]$arg1,",
+ " [string]$arg2",
+ ")",
+ "Write-Host This is a sample script with parameters $arg1 $arg2"
+ ],
+ "parameters": [
+ {
+ "name": "arg1",
+ "type": "string",
+ "value": "value1"
+ },
+ {
+ "name": "arg2",
+ "type": "string",
+ "value": "value2"
+ }
+ ],
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommandList.json
new file mode 100644
index 000000000000..1ca516f7f5e3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/examples/VirtualMachineRunCommandList.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "SoutheastAsia",
+ "api-version": "2017-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableRemotePS",
+ "osType": "Windows",
+ "label": "Enable remote PowerShell",
+ "description": "Configure the machine to enable remote PowerShell."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "IPConfig",
+ "osType": "Windows",
+ "label": "List IP configuration",
+ "description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunShellScript",
+ "osType": "Linux",
+ "label": "Executes a Linux shell script",
+ "description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ifconfig",
+ "osType": "Linux",
+ "label": "List network configuration",
+ "description": "Get the configuration of all network interfaces."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableAdminAccount",
+ "osType": "Windows",
+ "label": "Enable administrator account",
+ "description": "Checks if the local Administrator account is disabled, and if so enables it."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetAccountPassword",
+ "osType": "Windows",
+ "label": "Reset built-in Administrator account password",
+ "description": "Reset built-in Administrator account password."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RDPSettings",
+ "osType": "Windows",
+ "label": "Verify RDP Listener Settings",
+ "description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "SetRDPPort",
+ "osType": "Windows",
+ "label": "Set Remote Desktop port",
+ "description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
+ }, {
+ "schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetRDPCert",
+ "osType": "Windows",
+ "label": "Restore RDP Authentication mode to defaults",
+ "description": "Removes the SSL certificate tied to the RDP listener and restores the RDP listerner security to default. Use this script if you see any issues with the certificate."
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/runCommands.json
new file mode 100644
index 000000000000..0b139676ac36
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-12-01/runCommands.json
@@ -0,0 +1,463 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "RunCommandsClient",
+ "description": "The Run Commands Client.",
+ "version": "2017-12-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": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_List",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandList": { "$ref": "./examples/VirtualMachineRunCommandList.json" }
+ },
+ "description": "Lists all available run commands for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Get",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandGet": { "$ref": "./examples/VirtualMachineRunCommandGet.json" }
+ },
+ "description": "Gets specific run command for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The command id."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandDocument"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_RunCommand",
+ "x-ms-examples": {
+ "VirtualMachineRunCommand": { "$ref": "./examples/VirtualMachineRunCommand.json" }
+ },
+ "description": "Run command on the VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandInput"
+ },
+ "description": "Parameters supplied to the Run command operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "RunCommandInputParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "The run command parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandInput": {
+ "properties": {
+ "commandId": {
+ "type": "string",
+ "description": "The run command id."
+ },
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional. The script to be executed. When this value is given, the given script will override the default script of the command."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The run command parameters."
+ }
+ },
+ "required": [
+ "commandId"
+ ],
+ "description": "Capture Virtual Machine parameters."
+ },
+ "RunCommandParameterDefinition": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The run command parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "The run command parameter default value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "The run command parameter required.",
+ "default": false
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandDocumentBase": {
+ "properties": {
+ "$schema": {
+ "type": "string",
+ "description": "The VM run command schema."
+ },
+ "id": {
+ "type": "string",
+ "description": "The VM run command id."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "label": {
+ "type": "string",
+ "description": "The VM run command label."
+ },
+ "description": {
+ "type": "string",
+ "description": "The VM run command description."
+ }
+ },
+ "required": [
+ "$schema",
+ "id",
+ "osType",
+ "label",
+ "description"
+ ],
+ "description": "Describes the properties of a Run Command metadata."
+ },
+ "RunCommandDocument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ }
+ ],
+ "properties": {
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The script to be executed."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandParameterDefinition"
+ },
+ "description": "The parameters used by the script."
+ }
+ },
+ "required": [
+ "script"
+ ],
+ "description": "Describes the properties of a Run Command."
+ },
+ "RunCommandListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ },
+ "description": "The list of virtual machine run commands."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of run commands. Call ListNext() with this to fetch the next page of run commands."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "RunCommandResultProperties": {
+ "properties": {
+ "output": {
+ "type": "object",
+ "description": "Operation output data (raw JSON)"
+ }
+ },
+ "description": "Compute-specific operation properties, including output"
+ },
+ "RunCommandResult": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RunCommandResultProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusResponse"
+ }
+ ],
+ "description": "Run command operation response."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "OperationStatusResponse": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation ID"
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation status"
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the operation"
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "End time of the operation"
+ },
+ "error": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApiError",
+ "description": "Api error"
+ }
+ },
+ "description": "Operation status response"
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify 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/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md
index 33c6d04422b9..e2712e0dfa9b 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -35,6 +35,77 @@ title: ComputeManagementClient
description: Compute Client
openapi-type: arm
tag: package-2017-12
+
+directive:
+ - where:
+ - $.definitions.VirtualMachine.properties
+ suppress:
+ - BodyTopLevelProperties
+ - where:
+ - $.definitions.VirtualMachineScaleSetVM.properties
+ suppress:
+ - BodyTopLevelProperties
+ - where:
+ - $.definitions.ImageReference.properties
+ suppress:
+ - BodyTopLevelProperties
+ - where:
+ - $.definitions.ManagedDiskParameters.properties
+ suppress:
+ - BodyTopLevelProperties
+ - where:
+ - $.definitions.Disk.properties
+ suppress:
+ - BodyTopLevelProperties
+ - where:
+ - $.definitions.Snapshot.properties
+ suppress:
+ - BodyTopLevelProperties
+
+ - where:
+ - $.definitions.VirtualMachineScaleSetExtension
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.VirtualMachineImageResource
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.VirtualMachineImage
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.ImageReference
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.ManagedDiskParameters
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.NetworkInterfaceReference
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.VirtualMachineScaleSetIPConfiguration
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.VirtualMachineScaleSetUpdateIPConfiguration
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.VirtualMachineScaleSetNetworkConfiguration
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.VirtualMachineScaleSetUpdateNetworkConfiguration
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
+ - where:
+ - $.definitions.VirtualMachineScaleSetUpdate
+ suppress:
+ - RequiredPropertiesMissingInResourceModel
```
### Tag: package-2017-12
@@ -44,9 +115,9 @@ These settings apply only when `--tag=package-2017-12` is specified on the comma
``` yaml $(tag) == 'package-2017-12'
input-file:
- Microsoft.Compute/stable/2017-12-01/compute.json
+- Microsoft.Compute/stable/2017-12-01/runCommands.json
- Microsoft.Compute/stable/2017-09-01/skus.json
- Microsoft.Compute/stable/2017-03-30/disk.json
-- Microsoft.Compute/stable/2017-03-30/runCommands.json
- Microsoft.ContainerService/stable/2017-01-31/containerService.json
```
@@ -57,9 +128,9 @@ These settings apply only when `--tag=package-compute-2017-12` is specified on t
``` yaml $(tag) == 'package-compute-2017-12'
input-file:
- Microsoft.Compute/stable/2017-12-01/compute.json
+- Microsoft.Compute/stable/2017-12-01/runCommands.json
- Microsoft.Compute/stable/2017-09-01/skus.json
- Microsoft.Compute/stable/2017-03-30/disk.json
-- Microsoft.Compute/stable/2017-03-30/runCommands.json
```
### Tag: package-compute-only-2017-12
@@ -69,6 +140,7 @@ These settings apply only when `--tag=package-compute-only-2017-12` is specified
``` yaml $(tag) == 'package-compute-only-2017-12'
input-file:
- Microsoft.Compute/stable/2017-12-01/compute.json
+- Microsoft.Compute/stable/2017-12-01/runCommands.json
```
### Tag: package-skus-2017-09
@@ -127,8 +199,8 @@ These settings apply only when `--tag=package-2016-04-preview` is specified on t
``` yaml $(tag) == 'package-2016-04-preview'
input-file:
-- Microsoft.Compute/stable/2016-04-30-preview/compute.json
-- Microsoft.Compute/stable/2016-04-30-preview/disk.json
+- Microsoft.Compute/preview/2016-04-30-preview/compute.json
+- Microsoft.Compute/preview/2016-04-30-preview/disk.json
- Microsoft.ContainerService/stable/2017-01-31/containerService.json
```
@@ -176,7 +248,7 @@ These setings apply only when `--tag=package-container-service-2015-11-preview`
``` yaml $(tag) == 'package-container-service-2015-11-preview'
input-file:
-- Microsoft.ContainerService/stable/2015-11-01-preview/containerService.json
+- Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json
```
### Tag: package-compute-2015-06
@@ -195,13 +267,29 @@ These settings apply only when `--tag=package-2015-06-preview` is specified on t
``` yaml $(tag) == 'package-2015-06-preview'
input-file:
- Microsoft.Compute/stable/2015-06-15/compute.json
-- Microsoft.ContainerService/stable/2015-11-01-preview/containerService.json
+- Microsoft.ContainerService/preview/2015-11-01-preview/containerService.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
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-compute
+ - repo: azure-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -229,6 +317,31 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-12
+ - tag: package-compute-2017-03
+ - tag: package-container-service-2017-01
+ - tag: package-container-service-2016-09
+ - tag: package-compute-2016-04-preview
+ - tag: package-compute-2016-03
+ - tag: package-container-service-2016-03
+ - tag: package-container-service-2015-11-preview
+ - tag: package-compute-2015-06
+```
+
+### Tag: package-2017-12 and go
+
+These settings apply only when `--tag=package-2017-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-12' && $(go)
+namespace: compute
+output-folder: $(go-sdk-folder)/services/compute/mgmt/2017-12-01/compute
+```
+
### Tag: package-compute-2017-03 and go
These settings apply only when `--tag=package-compute-2017-03 --go` is specified on the command line.
@@ -404,3 +517,19 @@ python:
output-folder: $(python-sdks-folder)/azure-mgmt-compute/azure/mgmt/compute/v2015_06_15
```
+
+## 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.compute
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-compute
+```
+
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/consumption.json
new file mode 100644
index 000000000000..328db3b39182
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/consumption.json
@@ -0,0 +1,2134 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-31",
+ "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"
+ ]
+ }
+ ],
+ "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}/providers/Microsoft.Consumption/usageDetails": {
+ "get": {
+ "tags": [
+ "UsageDetails"
+ ],
+ "operationId": "UsageDetails_List",
+ "description": "Lists the usage details for a scope by billing period. Usage details are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "UsageDetailsList": {
+ "$ref": "./examples/UsageDetailsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/additionalProperties or properties/meterDetails within a list of usage details. By default, these fields are not included when listing usage details.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "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 usageDetails.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/UsageDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails": {
+ "get": {
+ "tags": [
+ "UsageDetails"
+ ],
+ "operationId": "UsageDetails_ListByBillingPeriod",
+ "description": "Lists the usage details for a scope by billing period. Usage details are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "UsageDetailsListForBillingPeriod": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriod.json"
+ },
+ "UsageDetailsExpand": {
+ "$ref": "./examples/UsageDetailsExpand.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/additionalProperties or properties/meterDetails within a list of usage details. By default, these fields are not included when listing usage details.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter usageDetails by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "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 usageDetails.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/UsageDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces": {
+ "get": {
+ "tags": [
+ "Marketplaces"
+ ],
+ "x-ms-odata": "#/definitions/Marketplace",
+ "operationId": "Marketplaces_List",
+ "description": "Lists the marketplaces for a scope by subscriptionId. Marketplaces are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "MarketplacesList": {
+ "$ref": "./examples/MarketplacesList.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N marketplaces.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "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"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/MarketplacesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces": {
+ "get": {
+ "tags": [
+ "Marketplaces"
+ ],
+ "x-ms-odata": "#/definitions/Marketplace",
+ "operationId": "Marketplaces_ListByBillingPeriod",
+ "description": "Lists the marketplaces for a scope by billing period and subscripotionId. Marketplaces are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "MarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesListForBillingPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N marketplaces.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "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"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/MarketplacesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries": {
+ "get": {
+ "tags": [
+ "ReservedInstances"
+ ],
+ "operationId": "ReservationsSummaries_ListByReservationOrder",
+ "description": "Lists the reservations summaries for daily or monthly grain.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationSummariesDaily": {
+ "$ref": "./examples/ReservationSummariesDaily.json"
+ },
+ "ReservationSummariesMonthly": {
+ "$ref": "./examples/ReservationSummariesMonthly.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "name": "grain",
+ "description": "Can be daily or monthly",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "daily",
+ "monthly"
+ ],
+ "x-ms-enum": {
+ "name": "datagrain",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "daily",
+ "description": "Daily grain of data",
+ "name": "DailyGrain"
+ },
+ {
+ "value": "monthly",
+ "description": "Monthly grain of data",
+ "name": "MonthlyGrain"
+ }
+ ]
+ }
+ },
+ {
+ "name": "$filter",
+ "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationSummariesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries": {
+ "get": {
+ "tags": [
+ "ReservedInstances"
+ ],
+ "operationId": "ReservationsSummaries_ListByReservationOrderAndReservation",
+ "description": "Lists the reservations summaries for daily or monthly grain.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationSummariesDailyWithReservationId": {
+ "$ref": "./examples/ReservationSummariesDailyWithReservationId.json"
+ },
+ "ReservationSummariesMonthlyWithReservationId": {
+ "$ref": "./examples/ReservationSummariesMonthlyWithReservationId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/reservationIdParameter"
+ },
+ {
+ "name": "grain",
+ "description": "Can be daily or monthly",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "daily",
+ "monthly"
+ ],
+ "x-ms-enum": {
+ "name": "datagrain",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "daily",
+ "description": "Daily grain of data",
+ "name": "DailyGrain"
+ },
+ {
+ "value": "monthly",
+ "description": "Monthly grain of data",
+ "name": "MonthlyGrain"
+ }
+ ]
+ }
+ },
+ {
+ "name": "$filter",
+ "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationSummariesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails": {
+ "get": {
+ "tags": [
+ "ReservedInstances"
+ ],
+ "operationId": "ReservationsDetails_ListByReservationOrder",
+ "description": "Lists the reservations details for provided date range.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationDetails": {
+ "$ref": "./examples/ReservationDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails": {
+ "get": {
+ "tags": [
+ "ReservedInstances"
+ ],
+ "operationId": "ReservationsDetails_ListByReservationOrderAndReservation",
+ "description": "Lists the reservations details for provided date range.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationDetailsWithReservationId": {
+ "$ref": "./examples/ReservationDetailsWithReservationId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/reservationIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_List",
+ "description": "Lists all budgets for a subscription.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "BudgetsList": {
+ "$ref": "./examples/BudgetsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BudgetsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_ListByResourceGroupName",
+ "description": "Lists all budgets for a resource group under a subscription.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "BudgetsList": {
+ "$ref": "./examples/BudgetsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BudgetsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_Get",
+ "description": "Gets the budget for a subscription by budget name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "Budget": {
+ "$ref": "./examples/Budget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_CreateOrUpdate",
+ "description": "The operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "CreateOrUpdateBudget": {
+ "$ref": "./examples/CreateOrUpdateBudget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ },
+ "description": "Parameters supplied to the Create Budget operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_Delete",
+ "description": "The operation to delete a budget.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "DeleteBudget": {
+ "$ref": "./examples/DeleteBudget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_GetByResourceGroupName",
+ "description": "Gets the budget for a resource group under a subscription by budget name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "Budget": {
+ "$ref": "./examples/Budget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_CreateOrUpdateByResourceGroupName",
+ "description": "The operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "CreateOrUpdateBudget": {
+ "$ref": "./examples/CreateOrUpdateBudget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ },
+ "description": "Parameters supplied to the Create Budget operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_DeleteByResourceGroupName",
+ "description": "The operation to delete a budget.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "DeleteBudget": {
+ "$ref": "./examples/DeleteBudget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default": {
+ "get": {
+ "tags": [
+ "PriceSheet"
+ ],
+ "operationId": "PriceSheet_Get",
+ "description": "Gets the price sheet for a scope by subscriptionId. Price sheet is available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "PriceSheet": {
+ "$ref": "./examples/PriceSheet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.",
+ "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 top N results.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PriceSheetResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default": {
+ "get": {
+ "tags": [
+ "PriceSheet"
+ ],
+ "operationId": "PriceSheet_GetByBillingPeriod",
+ "description": "Get the price sheet for a scope by subscriptionId and billing period. Price sheet is available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "PriceSheetForBillingPeriod": {
+ "$ref": "./examples/PriceSheetForBillingPeriod.json"
+ },
+ "PriceSheetExpand": {
+ "$ref": "./examples/PriceSheetExpand.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.",
+ "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 top N results.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PriceSheetResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MeterDetails": {
+ "description": "The properties of the meter detail.",
+ "properties": {
+ "meterName": {
+ "description": "The name of the meter, within the given meter category",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterCategory": {
+ "description": "The category of the meter, for example, 'Cloud services', 'Networking', etc..",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterSubCategory": {
+ "description": "The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc..",
+ "type": "string",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterLocation": {
+ "description": "The location in which the Azure service is available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalIncludedQuantity": {
+ "description": "The total included quantity associated with the offer.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "pretaxStandardRate": {
+ "description": "The pretax listing price.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "UsageDetail": {
+ "description": "An usage detail resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UsageDetailProperties",
+ "title": "Usage detail properties"
+ }
+ }
+ },
+ "UsageDetailsListResult": {
+ "description": "Result of listing usage details. It contains a list of available usage details in reverse chronological order by billing period.",
+ "properties": {
+ "value": {
+ "description": "The list of usage details.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/UsageDetail"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UsageDetailProperties": {
+ "description": "The properties of the usage detail.",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the usage belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceId": {
+ "description": "The id of the invoice resource that the usage belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "The start of the date time range covered by the usage detail.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "The end of the date time range covered by the usage detail.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "instanceName": {
+ "description": "The name of the resource instance that the usage is about.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceId": {
+ "description": "The uri of the resource instance that the usage is about.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceLocation": {
+ "description": "The location of the resource instance that the usage is about.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageQuantity": {
+ "description": "The quantity of usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "billableQuantity": {
+ "description": "The billable usage quantity.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "pretaxCost": {
+ "description": "The amount of cost before tax.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "isEstimated": {
+ "description": "The estimated usage is subject to change.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterDetails": {
+ "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.",
+ "$ref": "#/definitions/MeterDetails",
+ "readOnly": true
+ },
+ "subscriptionGuid": {
+ "description": "Subscription guid.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionName": {
+ "description": "Subscription name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "departmentName": {
+ "description": "Department name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "product": {
+ "description": "Product name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedService": {
+ "description": "Consumed service name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a costcenter exists",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalProperties": {
+ "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Marketplace": {
+ "description": "An marketplace resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MarketplaceProperties",
+ "title": "Marketplace properties"
+ }
+ }
+ },
+ "MarketplacesListResult": {
+ "description": "Result of listing marketplaces. It contains a list of available marketplaces in reverse chronological order by billing period.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of marketplaces.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Marketplace"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MarketplaceProperties": {
+ "description": "The properties of the marketplace usage detail.",
+ "type": "object",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the usage belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "The start of the date time range covered by the usage detail.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "The end of the date time range covered by the usage detail.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "resourceRate": {
+ "description": "The marketplace resource rate.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "offerName": {
+ "description": "The type of offer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "The name of resource group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderNumber": {
+ "description": "The order number.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceName": {
+ "description": "The name of the resource instance that the usage is about.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceId": {
+ "description": "The uri of the resource instance that the usage is about.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedQuantity": {
+ "description": "The quantity of usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "The unit of measure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "pretaxCost": {
+ "description": "The amount of cost before tax.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "isEstimated": {
+ "description": "The estimated usage is subject to change.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionGuid": {
+ "description": "Subscription guid.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionName": {
+ "description": "Subscription name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "departmentName": {
+ "description": "Department name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedService": {
+ "description": "Consumed service name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a costcenter exists",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalProperties": {
+ "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherName": {
+ "description": "The name of publisher.",
+ "type": "string",
+ "readOnly": true
+ },
+ "planName": {
+ "description": "The name of plan.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationSummaries": {
+ "description": "reservation summaries resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationSummariesProperties",
+ "title": "Reservation Summaries properties"
+ }
+ }
+ },
+ "ReservationSummariesListResult": {
+ "description": "Result of listing reservation summaries.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation summaries.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationSummaries"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationSummariesProperties": {
+ "description": "The properties of the reservation summaries.",
+ "properties": {
+ "reservationOrderId": {
+ "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationId": {
+ "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuName": {
+ "description": "This is the ARM Sku name. It can be used to join with the servicetype field in additoinalinfo in usage records.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservedHours": {
+ "description": "This is the total hours reserved. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "usageDate": {
+ "description": "Data corresponding to the utilization record. If the grain of data is monthly, it will be first day of month.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usedHours": {
+ "description": "Total used hours by the reservation",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "minUtilizationPercentage": {
+ "description": "This is the minimum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 10%, this field will return 10% for that day",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "avgUtilizationPercentage": {
+ "description": "This is average utilization for the entire time range. (day or month depending on the grain)",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "maxUtilizationPercentage": {
+ "description": "This is the maximum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 100%, this field will return 100% for that day.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationDetails": {
+ "description": "reservation details resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationDetailsProperties",
+ "title": "Reservation Details properties"
+ }
+ }
+ },
+ "ReservationDetailsListResult": {
+ "description": "Result of listing reservation details.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation details.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationDetails"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationDetailsProperties": {
+ "description": "The properties of the reservation details.",
+ "properties": {
+ "reservationOrderId": {
+ "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationId": {
+ "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuName": {
+ "description": "This is the ARM Sku name. It can be used to join with the servicetype field in additoinalinfo in usage records.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservedHours": {
+ "description": "This is the total hours reserved for the day. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "usageDate": {
+ "description": "The date on which consumption occurred.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usedHours": {
+ "description": "This is the total hours used by the instance.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "instanceId": {
+ "description": "This identifier is the name of the resource or the fully qualified Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalReservedQuantity": {
+ "description": "This is the total count of instances that are reserved for the reservationid.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "BudgetsListResult": {
+ "description": "Result of listing budgets. It contains a list of available budgets in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of budgets.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Budget": {
+ "description": "A budget resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BudgetProperties",
+ "title": "Budget properties"
+ }
+ }
+ },
+ "BudgetProperties": {
+ "description": "The properties of the budget.",
+ "properties": {
+ "category": {
+ "description": "The category of the budget, whether the budget tracks cost or usage.",
+ "type": "string",
+ "enum": [
+ "Cost",
+ "Usage"
+ ],
+ "x-ms-enum": {
+ "name": "CategoryType",
+ "modelAsString": true
+ }
+ },
+ "amount": {
+ "description": "The total amount of cost to track with the budget",
+ "type": "number",
+ "format": "decimal"
+ },
+ "timeGrain": {
+ "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain.",
+ "type": "string",
+ "enum": [
+ "Monthly",
+ "Quarterly",
+ "Annually"
+ ],
+ "x-ms-enum": {
+ "name": "TimeGrainType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain preiod. There are no restrictions on the end date.",
+ "$ref": "#/definitions/BudgetTimePeriod"
+ },
+ "filters": {
+ "description": "May be used to filter budgets by resource group, resource, or meter.",
+ "type": "object",
+ "$ref": "#/definitions/Filters"
+ },
+ "currentSpend": {
+ "description": "The current amount of cost which is being tracked for a budget.",
+ "$ref": "#/definitions/CurrentSpend",
+ "readOnly": true
+ },
+ "notifications": {
+ "type": "object",
+ "description": "Dictionary of notifications associated with the budget. Budget can have up to five notifications.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/Notification"
+ },
+ "maxItems": 5
+ }
+ },
+ "required": [
+ "category",
+ "amount",
+ "timeGrain",
+ "timePeriod"
+ ]
+ },
+ "BudgetTimePeriod": {
+ "description": "The start and end date for a budget.",
+ "properties": {
+ "startDate": {
+ "description": "The start date for the budget.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endDate": {
+ "description": "The end date for the budget. If not provided, we default this to 10 years from the start date.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "startDate"
+ ]
+ },
+ "Filters": {
+ "description": "May be used to filter budgets by resource group, resource, or meter.",
+ "properties": {
+ "resourceGroups": {
+ "description": "The list of filters on resource groups, allowed at subscription level only.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 0,
+ "maxItems": 10
+ },
+ "resources": {
+ "description": "The list of filters on resources.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 0,
+ "maxItems": 10
+ },
+ "meters": {
+ "description": "The list of filters on meters, mandatory for budgets of usage category. ",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 0,
+ "maxItems": 10
+ }
+ }
+ },
+ "CurrentSpend": {
+ "description": "The current amount of cost which is being tracked for a budget.",
+ "properties": {
+ "amount": {
+ "description": "The total amount of cost which is being tracked by the budget.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "The unit of measure for the budget amount.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Notification": {
+ "description": "The notification associated with a budget.",
+ "properties": {
+ "enabled": {
+ "description": "The notification is enabled or not.",
+ "type": "boolean"
+ },
+ "operator": {
+ "description": "The comparison operator.",
+ "type": "string",
+ "enum": [
+ "EqualTo",
+ "GreaterThan",
+ "GreaterThanOrEqualTo"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "threshold": {
+ "description": "Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.",
+ "type": "number",
+ "format": "decimal"
+ },
+ "contactEmails": {
+ "description": "Email addresses to send the budget notification to when the threshold is exceeded.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "maxItems": 50
+ },
+ "contactRoles": {
+ "description": "Contact roles to send the budget notification to when the threshold is exceeded.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contactGroups": {
+ "description": "Action groups to send the budget notification to when the threshold is exceeded.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 0,
+ "maxItems": 50
+ }
+ },
+ "required": [
+ "enabled",
+ "operator",
+ "threshold",
+ "contactEmails"
+ ]
+ },
+ "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"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "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 scenarion, this field will be used to determine whether the user is updating the latest version or not."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PriceSheetResult": {
+ "description": "An pricesheet resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PriceSheetModel",
+ "title": "Price sheet properties"
+ }
+ }
+ },
+ "PriceSheetModel": {
+ "description": "price sheet result. It contains the pricesheet associated with billing period",
+ "properties": {
+ "pricesheets": {
+ "description": "Price sheet",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PriceSheetProperties"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PriceSheetProperties": {
+ "description": "The properties of the price sheet.",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the usage belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterDetails": {
+ "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.",
+ "$ref": "#/definitions/MeterDetails",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "Unit of measure",
+ "type": "string",
+ "readOnly": true
+ },
+ "includedQuantity": {
+ "description": "Included quality for an offer",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "partNumber": {
+ "description": "Part Number",
+ "type": "string",
+ "readOnly": true
+ },
+ "unitPrice": {
+ "description": "Unit Price",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currencyCode": {
+ "description": "Currency Code",
+ "type": "string",
+ "readOnly": 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-01-31."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Azure Resource Group Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "budgetNameParameter": {
+ "name": "budgetName",
+ "in": "path",
+ "description": "Budget Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "billingPeriodNameParameter": {
+ "name": "billingPeriodName",
+ "in": "path",
+ "description": "Billing Period Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "reservationOrderIdParameter": {
+ "name": "reservationOrderId",
+ "in": "path",
+ "description": "Order Id of the reservation",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "reservationIdParameter": {
+ "name": "reservationId",
+ "in": "path",
+ "description": "Id of the reservation",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/Budget.json
new file mode 100644
index 000000000000..40060efc76d8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/Budget.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MPDEVTESTRG",
+ "budgetName": "TestBudget"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filters": {
+ "resourceGroups": [
+ "MPDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSAWSIFT2",
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/BudgetsList.json
new file mode 100644
index 000000000000..1131a794ceac
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/BudgetsList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MPDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filters": {
+ "resourceGroups": [
+ "MPDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSAWSIFT2",
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ]
+ },
+ "Actual_GreaterThanOrEqualTo_90_Percent": {
+ "enabled": true,
+ "operator": "GreaterThanOrEqualTo",
+ "threshold": 90,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 600.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filters": {
+ "resourceGroups": [
+ "MPDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSAWSIFT2",
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ ]
+ },
+ "currentSpend": {
+ "amount": 120.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_40_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 40,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ]
+ },
+ "Actual_GreaterThanOrEqualTo_60_Percent": {
+ "enabled": true,
+ "operator": "GreaterThanOrEqualTo",
+ "threshold": 60,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/CreateOrUpdateBudget.json
new file mode 100644
index 000000000000..345a9bfe6bee
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/CreateOrUpdateBudget.json
@@ -0,0 +1,154 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MPDEVTESTRG",
+ "budgetName": "TestBudget",
+ "parameters": {
+ "eTag": "\"1d34d016a593709\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filters": {
+ "resourceGroups": [
+ "MPDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSAWSIFT2",
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ ]
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filters": {
+ "resourceGroups": [
+ "MPDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSAWSIFT2",
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filters": {
+ "resourceGroups": [
+ "MPDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSAWSIFT2",
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/{subscription-id}/resourceGroups/MPDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/DeleteBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/DeleteBudget.json
new file mode 100644
index 000000000000..3610ac6d0ade
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/DeleteBudget.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MPDEVTESTRG",
+ "budgetName": "TestBudget"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/MarketplacesList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/MarketplacesList.json
new file mode 100644
index 000000000000..dc27c8277936
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/MarketplacesList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-4a5f-88ca-5fce9a69faa0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/marketPlaces/marketplaceId1",
+ "name": "marketplaceId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "4ca79679-0000-0000-bfe5-b8ca1ff80e00",
+ "publisherName": "xyz",
+ "planName": "plan1",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-4a5f-88ca-5fce9a69faa0",
+ "subscriptionName": "azure subscription"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/MarketplacesListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/MarketplacesListForBillingPeriod.json
new file mode 100644
index 000000000000..d340ea3c3414
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/MarketplacesListForBillingPeriod.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-4a5f-88ca-5fce9a69faa0",
+ "billingPeriodName": "201801"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketPlaces/marketplacesId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "fe167397-a38d-43c3-9bb3-8e2907e56a41",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "4ca79679-0000-0000-bfe5-b8ca1ff80e2b",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-4a5f-88ca-5fce9a69faa0",
+ "subscriptionName": "azure subscription"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheet.json
new file mode 100644
index 000000000000..0333f09d79ee
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheet.json
@@ -0,0 +1,33 @@
+{
+ "parameters":
+ {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses":
+ {
+ "200":
+ {
+ "body":
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/pricesheets/default",
+ "name": "default",
+ "type": "Microsoft.Consumption/pricesheets",
+ "properties":
+ {
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D",
+ "pricesheets": [
+ {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "meterId": "fe167397-a38d-43c3-9bb3-8e2907e56a41",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "AB-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR"
+ }]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheetExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheetExpand.json
new file mode 100644
index 000000000000..6ab48653c8ef
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheetExpand.json
@@ -0,0 +1,44 @@
+{
+ "parameters":
+ {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201801",
+ "$expand": "meterDetails"
+ },
+ "responses":
+ {
+ "200":
+ {
+ "body":
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default",
+ "name": "default",
+ "type": "Microsoft.Consumption/pricesheets",
+ "properties":
+ {
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D&$expand=properties/pricesheets/meterDetails",
+ "pricesheets": [
+ {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "meterId": "fe167397-a38d-43c3-9bb3-8e2907e56a41",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "AB-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR",
+ "meterDetails":
+ {
+ "meterName": "Data Transfer Out (GB)",
+ "meterCategory": "Networking",
+ "unit": "GB",
+ "meterLocation": "Zone 2",
+ "totalIncludedQuantity": 0,
+ "pretaxStandardRate": 0.138
+ }
+ }]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheetForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheetForBillingPeriod.json
new file mode 100644
index 000000000000..41d9ee663aba
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/PriceSheetForBillingPeriod.json
@@ -0,0 +1,34 @@
+{
+ "parameters":
+ {
+ "api-version": "2018-01-31",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201801"
+ },
+ "responses":
+ {
+ "200":
+ {
+ "body":
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default",
+ "name": "default",
+ "type": "Microsoft.Consumption/pricesheets",
+ "properties":
+ {
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31",
+ "pricesheets": [
+ {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "meterId": "fe167397-a38d-43c3-9bb3-8e2907e56a41",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "AB-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR"
+ }]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationDetails.json
new file mode 100644
index 000000000000..f4e336483127
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationDetails.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/87f3c981-3e33-43d0-b26b-dfca785cf18a/reservations/ba4a5693-71ef-4ec2-a5ea-c4897ee7e740/providers/Microsoft.Consumption/reservationDetails/20171129",
+ "name": "87f3c981-3e33-43d0-b26b-dfca785cf18a_ba4a5693-71ef-4ec2-a5ea-c4897ee7e740_20171129",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ba4a5693-71ef-4ec2-a5ea-c4897ee7e740",
+ "usageDate": "2017-11-29T00:00:00Z",
+ "skuName": "Standard_D2_v2",
+ "instanceId": "/subscriptions/ace02136-302a-429c-a2c8-dac173f60bea/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/wvn-sql2014sp33",
+ "totalReservedQuantity": 1.000000000000000,
+ "reservedHours": 24.000000000000000,
+ "usedHours": 24.000000000000000
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationDetailsWithReservationId.json
new file mode 100644
index 000000000000..680c56414718
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationDetailsWithReservationId.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ba4a5693-71ef-4ec2-a5ea-c4897ee7e740",
+ "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/87f3c981-3e33-43d0-b26b-dfca785cf18a/reservations/ba4a5693-71ef-4ec2-a5ea-c4897ee7e740/providers/Microsoft.Consumption/reservationDetails/20171129",
+ "name": "87f3c981-3e33-43d0-b26b-dfca785cf18a_ba4a5693-71ef-4ec2-a5ea-c4897ee7e740_20171129",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ba4a5693-71ef-4ec2-a5ea-c4897ee7e740",
+ "usageDate": "2017-11-29T00:00:00Z",
+ "skuName": "Standard_D2_v2",
+ "instanceId": "/subscriptions/ace02136-302a-429c-a2c8-dac173f60bea/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/wvn-sql2014sp33",
+ "totalReservedQuantity": 1.000000000000000,
+ "reservedHours": 24.000000000000000,
+ "usedHours": 24.000000000000000
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesDaily.json
new file mode 100644
index 000000000000..b6fdf7c883cb
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesDaily.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "grain":"daily",
+ "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-11-20'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/87f3c981-3e33-43d0-b26b-dfca785cf18a/reservations/ed0bcc5a-8027-451e-8435-e96c4021abc3/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "87f3c981-3e33-43d0-b26b-dfca785cf18a_ed0bcc5a-8027-451e-8435-e96c4021abc3_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ed0bcc5a-8027-451e-8435-e96c4021abc3",
+ "skuName": "Standard_D8s_v3",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesDailyWithReservationId.json
new file mode 100644
index 000000000000..c8f2d94efdde
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesDailyWithReservationId.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ba4a5693-71ef-4ec2-a5ea-c4897ee7e740",
+ "grain":"daily",
+ "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-11-20'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/87f3c981-3e33-43d0-b26b-dfca785cf18a/reservations/ed0bcc5a-8027-451e-8435-e96c4021abc3/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "87f3c981-3e33-43d0-b26b-dfca785cf18a_ed0bcc5a-8027-451e-8435-e96c4021abc3_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ed0bcc5a-8027-451e-8435-e96c4021abc3",
+ "skuName": "Standard_D8s_v3",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesMonthly.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesMonthly.json
new file mode 100644
index 000000000000..8b20fe4eed6f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesMonthly.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "grain":"monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/87f3c981-3e33-43d0-b26b-dfca785cf18a/reservations/ed0bcc5a-8027-451e-8435-e96c4021abc3/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "87f3c981-3e33-43d0-b26b-dfca785cf18a_ed0bcc5a-8027-451e-8435-e96c4021abc3_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ed0bcc5a-8027-451e-8435-e96c4021abc3",
+ "skuName": "Standard_D8s_v3",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesMonthlyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesMonthlyWithReservationId.json
new file mode 100644
index 000000000000..2602e0f8914f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/ReservationSummariesMonthlyWithReservationId.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ba4a5693-71ef-4ec2-a5ea-c4897ee7e740",
+ "grain":"monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/87f3c981-3e33-43d0-b26b-dfca785cf18a/reservations/ed0bcc5a-8027-451e-8435-e96c4021abc3/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "87f3c981-3e33-43d0-b26b-dfca785cf18a_ed0bcc5a-8027-451e-8435-e96c4021abc3_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "87f3c981-3e33-43d0-b26b-dfca785cf18a",
+ "reservationId": "ed0bcc5a-8027-451e-8435-e96c4021abc3",
+ "skuName": "Standard_D8s_v3",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsExpand.json
new file mode 100644
index 000000000000..57c2c78b8bd4
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsExpand.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "subid",
+ "billingPeriodName": "201702",
+ "$expand": "meterDetails,additionalProperties",
+ "$filter": "properties/usageEnd ge '2018-01-14' AND properties/usageEnd le '2018-02-14'",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/subscriptions/subid/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "instanceLocation": "eastasia",
+ "currency": "USD",
+ "usageQuantity": 0.00328,
+ "billableQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "fe167397-a38d-43c3-9bb3-8e2907e56a41",
+ "meterDetails": {
+ "meterName": "Data Transfer Out (GB)",
+ "meterCategory": "Networking",
+ "unit": "GB",
+ "meterLocation": "Zone 2",
+ "totalIncludedQuantity": 0,
+ "pretaxStandardRate": 0.138
+ },
+ "subscriptionGuid": "fe167397-a38d-43c3-9bb3-8e2907e56a41",
+ "subscriptionName": "Dummy subscription",
+ "accountName": "My account name",
+ "departmentName": "My department name",
+ "product": "My product name",
+ "consumedService": "My consumed service",
+ "costCenter": "Cost center 1",
+ "additionalProperties": "{\"MyType\":\"\",\"ServiceType\":\"\",\"VMName\":\"\",\"UsageType\":\"MyUsage\"}"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsList.json
new file mode 100644
index 000000000000..1cf096b4fa52
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/subscriptions/subid/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "instanceLocation": "eastasia",
+ "currency": "USD",
+ "usageQuantity": 0.00328,
+ "billableQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsListForBillingPeriod.json
new file mode 100644
index 000000000000..f133912eae5e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-01-31/examples/UsageDetailsListForBillingPeriod.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-01-31",
+ "subscriptionId": "subid",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/subscriptions/subid/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "instanceLocation": "eastasia",
+ "currency": "USD",
+ "usageQuantity": 0.00328,
+ "billableQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "fe167397-a38d-43c3-9bb3-8e2907e56a41"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index 81bd62d93bc9..65b3c969eb8b 100644
--- a/specification/consumption/resource-manager/readme.md
+++ b/specification/consumption/resource-manager/readme.md
@@ -1,139 +1,206 @@
-# Consumption
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for Consumption.
-
-
-
----
-## Getting Started
-To build the SDK for Consumption, 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 Consumption API.
-
-``` yaml
-openapi-type: arm
-tag: package-2017-11
-```
-
-### Tag: package-2017-11
-
-These settings apply only when `--tag=package-2017-11` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-11'
-input-file:
-- Microsoft.Consumption/stable/2017-11-30/consumption.json
-```
-
-### Tag: package-2017-04-preview
-
-These settings apply only when `--tag=package-2017-04-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-04-preview'
-input-file:
-- Microsoft.Consumption/preview/2017-04-24-preview/consumption.json
-```
-
-### Tag: package-2017-12-preview
-
-These settings apply only when `--tag=package-2017-12-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-12-preview'
-input-file:
-- Microsoft.Consumption/preview/2017-12-30-preview/consumption.json
-```
-
----
-# Code Generation
-
-
-## 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.Consumption
- output-folder: $(csharp-sdks-folder)/Consumption/Management.Consumption/Generated
- clear-output-folder: true
-```
-
-## 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.consumption
- package-name: azure-mgmt-consumption
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-consumption/azure/mgmt/consumption
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-consumption
-```
-
-
-## Go
-
-These settings apply only when `--go` is specified on the command line.
-
-``` yaml $(go)
-go:
- license-header: MICROSOFT_APACHE_NO_VERSION
- namespace: consumption
- clear-output-folder: true
-```
-
-### Tag: package-2017-04-preview and go
-
-These settings apply only when `--tag=package-2017-04-preview --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2017-04-preview' && $(go)
-output-folder: $(go-sdk-folder)/services/consumption/mgmt/2017-04-24-preview/consumption
-```
-
-### Tag: package-2017-11-30 and go
-These settings apply only when `--tag=package-2017-11-30 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2017-11-30' && $(go)
-output-folder: $(go-sdk-folder)/services/consumption/mgmt/2017-11-30/consumption
-```
-
-### Tag: package-2017-12-30-preview and go
-These settings apply only when `--tag=package-2017-12-30-preview --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2017-12-30-preview' && $(go)
-output-folder: $(go-sdk-folder)/services/consumption/mgmt/2017-12-30-preview/consumption
+# Consumption
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Consumption.
+
+
+
+---
+## Getting Started
+To build the SDK for Consumption, 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 Consumption API.
+
+``` yaml
+openapi-type: arm
+tag: package-2018-01
+azure-validator: true
+```
+
+### Tag: package-2017-11
+
+These settings apply only when `--tag=package-2017-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-11'
+input-file:
+- Microsoft.Consumption/stable/2017-11-30/consumption.json
+```
+
+---
+### Tag: package-2018-01
+
+These settings apply only when `--tag=package-2018-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-01'
+input-file:
+- Microsoft.Consumption/stable/2018-01-31/consumption.json
+```
+
+## Suppression
+``` yaml
+directive:
+ - suppress: R2059
+ from: consumption.json
+ reason: it's not actually a resource path; the validator is confused because the Billing namespace is in the URI path.
+ approved-by: "@fearthecowboy"
+```
+
+---
+### Tag: package-2017-04-preview
+
+These settings apply only when `--tag=package-2017-04-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-04-preview'
+input-file:
+- Microsoft.Consumption/preview/2017-04-24-preview/consumption.json
+```
+
+---
+### Tag: package-2017-12-preview
+
+These settings apply only when `--tag=package-2017-12-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-12-preview'
+input-file:
+- Microsoft.Consumption/preview/2017-12-30-preview/consumption.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
+```
+
+
+## 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.Consumption
+ output-folder: $(csharp-sdks-folder)/Consumption/Management.Consumption/Generated
+ clear-output-folder: true
+```
+
+## 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.consumption
+ package-name: azure-mgmt-consumption
+ package-version: 1.2.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-consumption/azure/mgmt/consumption
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-consumption
+```
+
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: consumption
+ clear-output-folder: true
+```
+
+### Go multi-api
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04-preview
+ - tag: package-2017-11-30
+ - tag: package-2017-12-30-preview
+ - tag: package-2018-01-31
+```
+
+
+### Tag: package-2017-04-preview and go
+
+These settings apply only when `--tag=package-2017-04-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-04-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/consumption/mgmt/2017-04-24-preview/consumption
+```
+
+### Tag: package-2017-11 and go
+These settings apply only when `--tag=package-2017-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-11' && $(go)
+output-folder: $(go-sdk-folder)/services/consumption/mgmt/2017-11-30/consumption
+```
+
+### Tag: package-2017-12-preview and go
+These settings apply only when `--tag=package-2017-12-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-12-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/consumption/mgmt/2017-12-30-preview/consumption
+```
+
+### Tag: package-2018-01 and go
+These settings apply only when `--tag=package-2018-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(go)
+output-folder: $(go-sdk-folder)/services/consumption/mgmt/2018-01-31/consumption
+```
+
+## 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.consumption
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-consumption
```
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
new file mode 100644
index 000000000000..c02fe22a11f8
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
@@ -0,0 +1,1090 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-12-01-preview",
+ "title": "ContainerInstanceManagementClient"
+ },
+ "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}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_List",
+ "x-ms-examples": {
+ "ContainerGroupsList": {
+ "$ref": "./examples/ContainerGroupsList.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription.",
+ "description": "Get a list of container groups in the specified subscription. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_ListByResourceGroup",
+ "x-ms-examples": {
+ "ContainerGroupsListByResourceGroup": {
+ "$ref": "./examples/ContainerGroupsListByResourceGroup.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription and resource group.",
+ "description": "Get a list of container groups in a specified subscription and resource group. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": {
+ "get": {
+ "operationId": "ContainerGroups_Get",
+ "x-ms-examples": {
+ "ContainerGroupsGet_Succeeded": {
+ "$ref": "./examples/ContainerGroupsGet_Succeeded.json"
+ },
+ "ContainerGroupsGet_Failed": {
+ "$ref": "./examples/ContainerGroupsGet_Failed.json"
+ }
+ },
+ "summary": "Get the properties of the specified container group.",
+ "description": "Gets the properties of the specified container group in the specified subscription and resource group. The operation returns the properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "ContainerGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "ContainerGroupsCreateOrUpdate": {
+ "$ref": "./examples/ContainerGroupsCreateOrUpdate.json"
+ }
+ },
+ "summary": "Create or update container groups.",
+ "description": "Create or update container groups with specified configurations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerGroup",
+ "description": "The properties of the container group to be created or updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "201": {
+ "description": "Created - the container group is created.",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ContainerGroups_Delete",
+ "x-ms-examples": {
+ "ContainerGroupsDelete": {
+ "$ref": "./examples/ContainerGroupsDelete.json"
+ }
+ },
+ "summary": "Delete the specified container group.",
+ "description": "Delete the specified container group in the specified subscription and resource group. The operation does not delete other resources provided by the user, such as volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "204": {
+ "description": "No Content - the specified container group was not found."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ContainerInstance/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationsList": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "List the operations for Azure Container Instance service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": {
+ "get": {
+ "operationId": "ContainerGroupUsage_List",
+ "x-ms-examples": {
+ "ContainerUsage": {
+ "$ref": "./examples/ContainerGroupUsage.json"
+ }
+ },
+ "description": "Get the usage for a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UsageListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": {
+ "get": {
+ "operationId": "ContainerLogs_List",
+ "x-ms-examples": {
+ "ContainerLogsList": {
+ "$ref": "./examples/ContainerLogsList.json"
+ }
+ },
+ "summary": "Get the logs for a specified container instance.",
+ "description": "Get the logs for a specified container instance in a specified resource group and container group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The name of the container instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tail",
+ "in": "query",
+ "description": "The number of lines to show from the tail of the container instance log. If not provided, all available logs are shown up to 4mb.",
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Logs"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Container": {
+ "description": "A container instance.",
+ "type": "object",
+ "required": [
+ "properties",
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The user-provided name of the container instance.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the container instance.",
+ "$ref": "#/definitions/ContainerProperties"
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container instance properties.",
+ "type": "object",
+ "required": [
+ "image",
+ "resources"
+ ],
+ "properties": {
+ "image": {
+ "description": "The name of the image used to create the container instance.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The commands to execute within the container instance in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ports": {
+ "description": "The exposed ports on the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerPort"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container instance. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "restartCount": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The number of times that the container instance has been restarted."
+ },
+ "currentState": {
+ "readOnly": true,
+ "description": "Current container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "previousState": {
+ "readOnly": true,
+ "description": "Previous container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "events": {
+ "readOnly": true,
+ "description": "The events of the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ }
+ },
+ "resources": {
+ "description": "The resource requirements of the container instance.",
+ "$ref": "#/definitions/ResourceRequirements"
+ },
+ "volumeMounts": {
+ "description": "The volume mounts available to the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeMount"
+ }
+ }
+ }
+ },
+ "ContainerState": {
+ "description": "The container instance state.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "type": "string",
+ "description": "The state of the container instance."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time when the container instance state started."
+ },
+ "exitCode": {
+ "type": "integer",
+ "description": "The container instance exit codes correspond to those from the `docker run` command."
+ },
+ "finishTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time when the container instance state finished."
+ },
+ "detailStatus": {
+ "description": "The human-readable status of the container instance state.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "A container group or container instance event.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "description": "The count of the event."
+ },
+ "firstTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time of the earliest logged event."
+ },
+ "lastTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time of the latest logged event."
+ },
+ "name": {
+ "type": "string",
+ "description": "The event name."
+ },
+ "message": {
+ "type": "string",
+ "description": "The event message."
+ },
+ "type": {
+ "type": "string",
+ "description": "The event type."
+ }
+ }
+ },
+ "ResourceRequirements": {
+ "description": "The resource requirements.",
+ "type": "object",
+ "required": [
+ "requests"
+ ],
+ "properties": {
+ "requests": {
+ "description": "The resource requests of this container instance.",
+ "$ref": "#/definitions/ResourceRequests"
+ },
+ "limits": {
+ "description": "The resource limits of this container instance.",
+ "$ref": "#/definitions/ResourceLimits"
+ }
+ }
+ },
+ "ResourceRequests": {
+ "description": "The resource requests.",
+ "type": "object",
+ "required": [
+ "memoryInGB",
+ "cpu"
+ ],
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory request in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU request of this container instance.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "ResourceLimits": {
+ "description": "The resource limits.",
+ "type": "object",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory limit in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU limit of this container instance.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "AzureFileVolume": {
+ "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.",
+ "type": "object",
+ "required": [
+ "shareName",
+ "storageAccountName"
+ ],
+ "properties": {
+ "shareName": {
+ "description": "The name of the Azure File share to be mounted as a volume.",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.",
+ "type": "boolean"
+ },
+ "storageAccountName": {
+ "description": "The name of the storage account that contains the Azure File share.",
+ "type": "string"
+ },
+ "storageAccountKey": {
+ "description": "The storage account access key used to access the Azure File share.",
+ "type": "string"
+ }
+ }
+ },
+ "EmptyDirVolume": {
+ "description": "The empty directory volume.",
+ "type": "object",
+ "properties": {}
+ },
+ "SecretVolume": {
+ "description": "The secret volume.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "GitRepoVolume": {
+ "description": "Represents a volume that is populated with the contents of a git repository",
+ "required": [
+ "repository"
+ ],
+ "properties": {
+ "directory": {
+ "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
+ "type": "string"
+ },
+ "repository": {
+ "description": "Repository URL",
+ "type": "string"
+ },
+ "revision": {
+ "description": "Commit hash for the specified revision.",
+ "type": "string"
+ }
+ }
+ },
+ "Volume": {
+ "description": "The properties of the volume.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume.",
+ "type": "string"
+ },
+ "azureFile": {
+ "description": "The Azure File volume.",
+ "$ref": "#/definitions/AzureFileVolume"
+ },
+ "emptyDir": {
+ "description": "The empty directory volume.",
+ "$ref": "#/definitions/EmptyDirVolume"
+ },
+ "secret": {
+ "description": "The secret volume.",
+ "$ref": "#/definitions/SecretVolume"
+ },
+ "gitRepo": {
+ "description": "The git repo volume.",
+ "$ref": "#/definitions/GitRepoVolume"
+ }
+ }
+ },
+ "VolumeMount": {
+ "description": "The properties of the volume mount.",
+ "type": "object",
+ "required": [
+ "name",
+ "mountPath"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume mount.",
+ "type": "string"
+ },
+ "mountPath": {
+ "description": "The path within the container where the volume should be mounted. Must not contain colon (:).",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the volume mount is read-only.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ContainerGroup": {
+ "description": "A container group.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the container group. This only appears in the response."
+ },
+ "containers": {
+ "type": "array",
+ "description": "The containers within the container group.",
+ "items": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "imageRegistryCredentials": {
+ "type": "array",
+ "description": "The image registry credentials by which the container group is created from.",
+ "items": {
+ "$ref": "#/definitions/ImageRegistryCredential"
+ }
+ },
+ "restartPolicy": {
+ "type": "string",
+ "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n",
+ "enum": [
+ "Always",
+ "OnFailure",
+ "Never"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupRestartPolicy",
+ "modelAsString": true
+ }
+ },
+ "ipAddress": {
+ "description": "The IP address type of the container group.",
+ "$ref": "#/definitions/IpAddress"
+ },
+ "osType": {
+ "type": "string",
+ "description": "The operating system type required by the containers in the container group.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": true
+ }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "The list of volumes that can be mounted by containers in this container group.",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container group. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "events": {
+ "description": "The events of this container group.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the container group. Only valid in response."
+ }
+ }
+ }
+ },
+ "required": [
+ "containers",
+ "osType"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "ImageRegistryCredential": {
+ "description": "Image registry credential.",
+ "type": "object",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"."
+ },
+ "username": {
+ "type": "string",
+ "description": "The username for the private registry."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the private registry."
+ }
+ },
+ "required": [
+ "server",
+ "username"
+ ]
+ },
+ "IpAddress": {
+ "description": "IP address for the container group.",
+ "type": "object",
+ "properties": {
+ "ports": {
+ "type": "array",
+ "description": "The list of ports exposed on the container group.",
+ "items": {
+ "$ref": "#/definitions/Port"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies if the IP is exposed to the public internet.",
+ "enum": [
+ "Public"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupIpAddressType",
+ "modelAsString": true
+ }
+ },
+ "ip": {
+ "type": "string",
+ "description": "The IP exposed to the public internet."
+ }
+ },
+ "required": [
+ "ports",
+ "type"
+ ]
+ },
+ "Port": {
+ "description": "The port exposed on the container group.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port number.",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ContainerPort": {
+ "description": "The port exposed on the container instance.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port number exposed within the container group."
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "EnvironmentVariable": {
+ "description": "The environment variable to set within the container instance.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "OperationListResult":{
+ "description": "The operation list response that contains all operations for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The list of operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of operations."
+ }
+ }
+ },
+ "Operation": {
+ "description": "An operation for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the operation."
+ },
+ "display": {
+ "description": "The display information of the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The name of the provider of the operation.",
+ "type": "string"
+ },
+ "resource": {
+ "type": "string",
+ "description": "The name of the resource type of the operation."
+ },
+ "operation": {
+ "description": "The friendly name of the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "User",
+ "System"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerInstanceOperationsOrigin",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "display"
+ ]
+ },
+ "UsageListResult": {
+ "description": "The response containing the usage data",
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ }
+ }
+ }
+ },
+ "Usage": {
+ "description": "A single usage result",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unit of the usage result"
+ },
+ "currentValue": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The current usage of the resource"
+ },
+ "limit": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The name object of the resource",
+ "properties": {
+ "value":{
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized name of the resource"
+ }
+ }
+ }
+ }
+ },
+ "ContainerGroupListResult": {
+ "description": "The container group list response that contains the container group properties.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerGroup"
+ },
+ "description": "The list of container groups."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of container groups."
+ }
+ }
+ },
+ "Logs": {
+ "description": "The logs.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the log."
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier for the physical azure location.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerGroupNameParameter": {
+ "name": "containerGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the container group.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupUsage.json
new file mode 100644
index 000000000000..51053eb5c06e
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupUsage.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westcentralus",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": 2000,
+ "name": {
+ "value": "ContainerGroups",
+ "localizedValue": "Container Groups"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsCreateOrUpdate.json
new file mode 100644
index 000000000000..bafe70d91099
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsCreateOrUpdate.json
@@ -0,0 +1,245 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2017-12-01-preview",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerGroup": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "west us",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ports": [
+ {
+ "protocol": "TCP",
+ "port": 80
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName",
+ "storageAccountKey": "accountKey"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret":
+ {
+ "secretKey1": "SecretValue1InBase64",
+ "secretKey2": "SecretValue2InBase64"
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret":{}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsDelete.json
new file mode 100644
index 000000000000..b24c1bb2f5f0
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2017-12-01-preview",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsGet_Failed.json
new file mode 100644
index 000000000000..016a802a98eb
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsGet_Failed.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Waiting",
+ "startTime": "2017-08-08T00:09:10Z",
+ "detailStatus": ""
+ },
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:01Z",
+ "lastTimestamp": "2017-08-08T00:09:01Z",
+ "message": "pulling image \"nginx\"",
+ "name": "Pulling",
+ "type": "Normal"
+ },
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:10Z",
+ "lastTimestamp": "2017-08-08T00:09:10Z",
+ "message": "Successfully pulled image \"nginx\"",
+ "name": "Pulled",
+ "type": "Normal"
+ }
+ ]
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "instanceView": {
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-10-08T00:19:10Z",
+ "lastTimestamp": "2017-10-08T00:19:10Z",
+ "message": "Output: mount error(2): Permission denied",
+ "name": "FailedMount",
+ "type": "Normal"
+ }
+ ],
+ "state": "Pending"
+ },
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Failed",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsGet_Succeeded.json
new file mode 100644
index 000000000000..6df748c906e0
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsGet_Succeeded.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsList.json
new file mode 100644
index 000000000000..dfd0dc49fc14
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsList.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Running",
+ "startTime": "2017-10-17T17:27:21Z",
+ "detailStatus": ""
+ },
+ "events":[]
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsListByResourceGroup.json
new file mode 100644
index 000000000000..0a2e72992a70
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerGroupsListByResourceGroup.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerLogsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerLogsList.json
new file mode 100644
index 000000000000..c7709ea4dd00
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/ContainerLogsList.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2017-12-01-preview",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerName": "container1",
+ "tail": "10"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "content": "log content"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..ae3505a62665
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2017-12-01-preview/examples/OperationsList.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2017-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerInstance/containerGroups/read",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "Container Group",
+ "operation": "Get Container Groups",
+ "description": "Get all container goups."
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json
new file mode 100644
index 000000000000..1255caeaab4c
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json
@@ -0,0 +1,1136 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-02-01-preview",
+ "title": "ContainerInstanceManagementClient"
+ },
+ "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}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_List",
+ "x-ms-examples": {
+ "ContainerGroupsList": {
+ "$ref": "./examples/ContainerGroupsList.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription.",
+ "description": "Get a list of container groups in the specified subscription. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_ListByResourceGroup",
+ "x-ms-examples": {
+ "ContainerGroupsListByResourceGroup": {
+ "$ref": "./examples/ContainerGroupsListByResourceGroup.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription and resource group.",
+ "description": "Get a list of container groups in a specified subscription and resource group. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": {
+ "get": {
+ "operationId": "ContainerGroups_Get",
+ "x-ms-examples": {
+ "ContainerGroupsGet_Succeeded": {
+ "$ref": "./examples/ContainerGroupsGet_Succeeded.json"
+ },
+ "ContainerGroupsGet_Failed": {
+ "$ref": "./examples/ContainerGroupsGet_Failed.json"
+ }
+ },
+ "summary": "Get the properties of the specified container group.",
+ "description": "Gets the properties of the specified container group in the specified subscription and resource group. The operation returns the properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "ContainerGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "ContainerGroupsCreateOrUpdate": {
+ "$ref": "./examples/ContainerGroupsCreateOrUpdate.json"
+ }
+ },
+ "summary": "Create or update container groups.",
+ "description": "Create or update container groups with specified configurations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerGroup",
+ "description": "The properties of the container group to be created or updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "201": {
+ "description": "Created - the container group is created.",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "ContainerGroups_Update",
+ "x-ms-examples": {
+ "ContainerGroupsUpdate": {
+ "$ref": "./examples/ContainerGroupsUpdate.json"
+ }
+ },
+ "summary": "Update container groups.",
+ "description": "Updates container group tags with specified values.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "Resource",
+ "description": "The container group resource with just the tags to be updated.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Resource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ContainerGroups_Delete",
+ "x-ms-examples": {
+ "ContainerGroupsDelete": {
+ "$ref": "./examples/ContainerGroupsDelete.json"
+ }
+ },
+ "summary": "Delete the specified container group.",
+ "description": "Delete the specified container group in the specified subscription and resource group. The operation does not delete other resources provided by the user, such as volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "204": {
+ "description": "No Content - the specified container group was not found."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ContainerInstance/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationsList": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "List the operations for Azure Container Instance service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": {
+ "get": {
+ "operationId": "ContainerGroupUsage_List",
+ "x-ms-examples": {
+ "ContainerUsage": {
+ "$ref": "./examples/ContainerGroupUsage.json"
+ }
+ },
+ "description": "Get the usage for a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UsageListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": {
+ "get": {
+ "operationId": "ContainerLogs_List",
+ "x-ms-examples": {
+ "ContainerLogsList": {
+ "$ref": "./examples/ContainerLogsList.json"
+ }
+ },
+ "summary": "Get the logs for a specified container instance.",
+ "description": "Get the logs for a specified container instance in a specified resource group and container group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The name of the container instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tail",
+ "in": "query",
+ "description": "The number of lines to show from the tail of the container instance log. If not provided, all available logs are shown up to 4mb.",
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Logs"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Container": {
+ "description": "A container instance.",
+ "type": "object",
+ "required": [
+ "properties",
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The user-provided name of the container instance.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the container instance.",
+ "$ref": "#/definitions/ContainerProperties"
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container instance properties.",
+ "type": "object",
+ "required": [
+ "image",
+ "resources"
+ ],
+ "properties": {
+ "image": {
+ "description": "The name of the image used to create the container instance.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The commands to execute within the container instance in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ports": {
+ "description": "The exposed ports on the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerPort"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container instance. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "restartCount": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The number of times that the container instance has been restarted."
+ },
+ "currentState": {
+ "readOnly": true,
+ "description": "Current container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "previousState": {
+ "readOnly": true,
+ "description": "Previous container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "events": {
+ "readOnly": true,
+ "description": "The events of the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ }
+ },
+ "resources": {
+ "description": "The resource requirements of the container instance.",
+ "$ref": "#/definitions/ResourceRequirements"
+ },
+ "volumeMounts": {
+ "description": "The volume mounts available to the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeMount"
+ }
+ }
+ }
+ },
+ "ContainerState": {
+ "description": "The container instance state.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "type": "string",
+ "description": "The state of the container instance."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time when the container instance state started."
+ },
+ "exitCode": {
+ "type": "integer",
+ "description": "The container instance exit codes correspond to those from the `docker run` command."
+ },
+ "finishTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time when the container instance state finished."
+ },
+ "detailStatus": {
+ "description": "The human-readable status of the container instance state.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "A container group or container instance event.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "description": "The count of the event."
+ },
+ "firstTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time of the earliest logged event."
+ },
+ "lastTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date-time of the latest logged event."
+ },
+ "name": {
+ "type": "string",
+ "description": "The event name."
+ },
+ "message": {
+ "type": "string",
+ "description": "The event message."
+ },
+ "type": {
+ "type": "string",
+ "description": "The event type."
+ }
+ }
+ },
+ "ResourceRequirements": {
+ "description": "The resource requirements.",
+ "type": "object",
+ "required": [
+ "requests"
+ ],
+ "properties": {
+ "requests": {
+ "description": "The resource requests of this container instance.",
+ "$ref": "#/definitions/ResourceRequests"
+ },
+ "limits": {
+ "description": "The resource limits of this container instance.",
+ "$ref": "#/definitions/ResourceLimits"
+ }
+ }
+ },
+ "ResourceRequests": {
+ "description": "The resource requests.",
+ "type": "object",
+ "required": [
+ "memoryInGB",
+ "cpu"
+ ],
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory request in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU request of this container instance.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "ResourceLimits": {
+ "description": "The resource limits.",
+ "type": "object",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory limit in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU limit of this container instance.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "AzureFileVolume": {
+ "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.",
+ "type": "object",
+ "required": [
+ "shareName",
+ "storageAccountName"
+ ],
+ "properties": {
+ "shareName": {
+ "description": "The name of the Azure File share to be mounted as a volume.",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.",
+ "type": "boolean"
+ },
+ "storageAccountName": {
+ "description": "The name of the storage account that contains the Azure File share.",
+ "type": "string"
+ },
+ "storageAccountKey": {
+ "description": "The storage account access key used to access the Azure File share.",
+ "type": "string"
+ }
+ }
+ },
+ "EmptyDirVolume": {
+ "description": "The empty directory volume.",
+ "type": "object",
+ "properties": {}
+ },
+ "SecretVolume": {
+ "description": "The secret volume.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "GitRepoVolume": {
+ "description": "Represents a volume that is populated with the contents of a git repository",
+ "required": [
+ "repository"
+ ],
+ "properties": {
+ "directory": {
+ "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
+ "type": "string"
+ },
+ "repository": {
+ "description": "Repository URL",
+ "type": "string"
+ },
+ "revision": {
+ "description": "Commit hash for the specified revision.",
+ "type": "string"
+ }
+ }
+ },
+ "Volume": {
+ "description": "The properties of the volume.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume.",
+ "type": "string"
+ },
+ "azureFile": {
+ "description": "The Azure File volume.",
+ "$ref": "#/definitions/AzureFileVolume"
+ },
+ "emptyDir": {
+ "description": "The empty directory volume.",
+ "$ref": "#/definitions/EmptyDirVolume"
+ },
+ "secret": {
+ "description": "The secret volume.",
+ "$ref": "#/definitions/SecretVolume"
+ },
+ "gitRepo": {
+ "description": "The git repo volume.",
+ "$ref": "#/definitions/GitRepoVolume"
+ }
+ }
+ },
+ "VolumeMount": {
+ "description": "The properties of the volume mount.",
+ "type": "object",
+ "required": [
+ "name",
+ "mountPath"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume mount.",
+ "type": "string"
+ },
+ "mountPath": {
+ "description": "The path within the container where the volume should be mounted. Must not contain colon (:).",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the volume mount is read-only.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ContainerGroup": {
+ "description": "A container group.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the container group. This only appears in the response."
+ },
+ "containers": {
+ "type": "array",
+ "description": "The containers within the container group.",
+ "items": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "imageRegistryCredentials": {
+ "type": "array",
+ "description": "The image registry credentials by which the container group is created from.",
+ "items": {
+ "$ref": "#/definitions/ImageRegistryCredential"
+ }
+ },
+ "restartPolicy": {
+ "type": "string",
+ "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n",
+ "enum": [
+ "Always",
+ "OnFailure",
+ "Never"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupRestartPolicy",
+ "modelAsString": true
+ }
+ },
+ "ipAddress": {
+ "description": "The IP address type of the container group.",
+ "$ref": "#/definitions/IpAddress"
+ },
+ "osType": {
+ "type": "string",
+ "description": "The operating system type required by the containers in the container group.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": true
+ }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "The list of volumes that can be mounted by containers in this container group.",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container group. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "events": {
+ "description": "The events of this container group.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the container group. Only valid in response."
+ }
+ }
+ }
+ },
+ "required": [
+ "containers",
+ "osType"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "ImageRegistryCredential": {
+ "description": "Image registry credential.",
+ "type": "object",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"."
+ },
+ "username": {
+ "type": "string",
+ "description": "The username for the private registry."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the private registry."
+ }
+ },
+ "required": [
+ "server",
+ "username"
+ ]
+ },
+ "IpAddress": {
+ "description": "IP address for the container group.",
+ "type": "object",
+ "properties": {
+ "ports": {
+ "type": "array",
+ "description": "The list of ports exposed on the container group.",
+ "items": {
+ "$ref": "#/definitions/Port"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies if the IP is exposed to the public internet.",
+ "enum": [
+ "Public"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupIpAddressType",
+ "modelAsString": true
+ }
+ },
+ "ip": {
+ "type": "string",
+ "description": "The IP exposed to the public internet."
+ },
+ "dnsNameLabel": {
+ "type": "string",
+ "description": "The Dns name label for the IP."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN for the IP."
+ }
+ },
+ "required": [
+ "ports",
+ "type"
+ ]
+ },
+ "Port": {
+ "description": "The port exposed on the container group.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port number.",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ContainerPort": {
+ "description": "The port exposed on the container instance.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port number exposed within the container group."
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "EnvironmentVariable": {
+ "description": "The environment variable to set within the container instance.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "OperationListResult":{
+ "description": "The operation list response that contains all operations for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The list of operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of operations."
+ }
+ }
+ },
+ "Operation": {
+ "description": "An operation for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the operation."
+ },
+ "display": {
+ "description": "The display information of the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The name of the provider of the operation.",
+ "type": "string"
+ },
+ "resource": {
+ "type": "string",
+ "description": "The name of the resource type of the operation."
+ },
+ "operation": {
+ "description": "The friendly name of the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "User",
+ "System"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerInstanceOperationsOrigin",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "display"
+ ]
+ },
+ "UsageListResult": {
+ "description": "The response containing the usage data",
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ }
+ }
+ }
+ },
+ "Usage": {
+ "description": "A single usage result",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unit of the usage result"
+ },
+ "currentValue": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The current usage of the resource"
+ },
+ "limit": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The name object of the resource",
+ "properties": {
+ "value":{
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized name of the resource"
+ }
+ }
+ }
+ }
+ },
+ "ContainerGroupListResult": {
+ "description": "The container group list response that contains the container group properties.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerGroup"
+ },
+ "description": "The list of container groups."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of container groups."
+ }
+ }
+ },
+ "Logs": {
+ "description": "The logs.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the log."
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier for the physical azure location.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerGroupNameParameter": {
+ "name": "containerGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the container group.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupUsage.json
new file mode 100644
index 000000000000..d0a45db26c7b
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupUsage.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westcentralus",
+ "api-version": "2018-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": 2000,
+ "name": {
+ "value": "ContainerGroups",
+ "localizedValue": "Container Groups"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsCreateOrUpdate.json
new file mode 100644
index 000000000000..ac5659cbea97
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsCreateOrUpdate.json
@@ -0,0 +1,250 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-02-01-preview",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerGroup": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "west us",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ports": [
+ {
+ "protocol": "TCP",
+ "port": 80
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1"
+ },
+ "osType": "Linux",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName",
+ "storageAccountKey": "accountKey"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret":
+ {
+ "secretKey1": "SecretValue1InBase64",
+ "secretKey2": "SecretValue2InBase64"
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret":{}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsDelete.json
new file mode 100644
index 000000000000..24ee33fbd92d
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-02-01-preview",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsGet_Failed.json
new file mode 100644
index 000000000000..d8759af8842a
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsGet_Failed.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2018-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Waiting",
+ "startTime": "2017-08-08T00:09:10Z",
+ "detailStatus": ""
+ },
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:01Z",
+ "lastTimestamp": "2017-08-08T00:09:01Z",
+ "message": "pulling image \"nginx\"",
+ "name": "Pulling",
+ "type": "Normal"
+ },
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:10Z",
+ "lastTimestamp": "2017-08-08T00:09:10Z",
+ "message": "Successfully pulled image \"nginx\"",
+ "name": "Pulled",
+ "type": "Normal"
+ }
+ ]
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "instanceView": {
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-10-08T00:19:10Z",
+ "lastTimestamp": "2017-10-08T00:19:10Z",
+ "message": "Output: mount error(2): Permission denied",
+ "name": "FailedMount",
+ "type": "Normal"
+ }
+ ],
+ "state": "Pending"
+ },
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Failed",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsGet_Succeeded.json
new file mode 100644
index 000000000000..5aa26b721acf
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsGet_Succeeded.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2018-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsList.json
new file mode 100644
index 000000000000..e31ca6a9eb62
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsList.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Running",
+ "startTime": "2017-10-17T17:27:21Z",
+ "detailStatus": ""
+ },
+ "events":[]
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsListByResourceGroup.json
new file mode 100644
index 000000000000..75d930d64ff3
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsListByResourceGroup.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "api-version": "2018-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "stroage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsUpdate.json
new file mode 100644
index 000000000000..bed52bc4a232
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerGroupsUpdate.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-02-01-preview",
+ "resourceGroupName": "demoResource",
+ "containerGroupName": "demo1",
+ "Resource": {
+ "tags": {
+ "tag1key": "tag1Value",
+ "tag2key": "tag2Value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demoResource/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "type": "Microsoft.ContainerInstance/containerGroups",
+ "properties": {
+ "tags": {
+ "tag1key": "tag1Value",
+ "tag2key": "tag2Value"
+ },
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerLogsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerLogsList.json
new file mode 100644
index 000000000000..80272fb37e98
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/ContainerLogsList.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-02-01-preview",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerName": "container1",
+ "tail": 10
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "content": "log content"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..baae18f31647
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/examples/OperationsList.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2018-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerInstance/containerGroups/read",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "Container Group",
+ "operation": "Get Container Groups",
+ "description": "Get all container goups."
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md
index 5d72ade3530b..9709cab633a3 100644
--- a/specification/containerinstance/resource-manager/readme.md
+++ b/specification/containerinstance/resource-manager/readme.md
@@ -26,7 +26,25 @@ These are the global settings for the ContainerInstance API.
``` yaml
openapi-type: arm
-tag: package-2017-10-preview
+tag: package-2018-02-preview
+```
+
+### Tag: package-2018-02-preview
+
+These settings apply only when `--tag=package-2018-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-02-preview'
+input-file:
+- Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json
+```
+
+### Tag: package-2017-12-preview
+
+These settings apply only when `--tag=package-2017-12-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-12-preview'
+input-file:
+- Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
```
@@ -53,6 +71,20 @@ input-file:
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -83,6 +115,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.containerinstance
package-name: azure-mgmt-containerinstance
+ package-version: 0.2.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
@@ -108,6 +141,43 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-02-preview
+ - tag: package-2017-12-preview
+ - tag: package-2017-10-preview
+ - tag: package-2017-08-preview
+```
+
+### Tag: package-2018-02-preview and go
+
+These settings apply only when `--tag=package-2018-02-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-02-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/containerinstance/mgmt/2018-02-01-preview/containerinstance
+```
+
+### Tag: package-2017-12-preview and go
+
+These settings apply only when `--tag=package-2017-12-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-12-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/containerinstance/mgmt/2017-12-01-preview/containerinstance
+```
+
+### Tag: package-2017-10-preview and go
+
+These settings apply only when `--tag=package-2017-10-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-10-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/containerinstance/mgmt/2017-10-01-preview/containerinstance
+```
+
### Tag: package-2017-08-preview and go
These settings apply only when `--tag=package-2017-08-preview --go` is specified on the command line.
@@ -116,3 +186,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.containerinstance
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerinstance
+```
diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index c566e01c7048..7e741c05d658 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -70,6 +70,21 @@ input-file:
# 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
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-containerregistry
+ - repo: azure-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -144,6 +159,16 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-10
+ - tag: package-2017-06-preview
+ - tag: package-2017-03
+ - tag: package-2016-06-preview
+```
+
### Tag: package-2017-10 and go
These settings apply only when `--tag=package-2017-10 --go` is specified on the command line.
@@ -176,6 +201,22 @@ output-folder: $(go-sdk-folder)/services/containerregistry/mgmt/2017-03-01/conta
These settings apply only when `--tag=package-2016-06-preview --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
-``` yaml $(tag) == 'package-2016-06' && $(go)
+``` yaml $(tag) == 'package-2016-06-preview' && $(go)
output-folder: $(go-sdk-folder)/services/containerregistry/mgmt/2016-06-27-preview/containerregistry
```
+
+
+## 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.containerregistry
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerregistry
+```
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
index 7c7dd8c8fa32..47963f51484b 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
+++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
@@ -124,8 +124,10 @@
"properties": {
"orchestrators": {
"type": "array",
- "$ref": "#/definitions/OrchestratorVersionProfile",
- "description": "List of orchstrator version profiles."
+ "items": {
+ "$ref": "#/definitions/OrchestratorVersionProfile"
+ },
+ "description": "List of orchestrator version profiles."
}
},
"required": [
diff --git a/specification/containerservices/resource-manager/readme.md b/specification/containerservices/resource-manager/readme.md
index c904bca60f77..2b085edd7496 100644
--- a/specification/containerservices/resource-manager/readme.md
+++ b/specification/containerservices/resource-manager/readme.md
@@ -71,6 +71,20 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## Go
These settings apply only when `--go` is specified on the command line.
@@ -81,6 +95,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-09
+ - tag: package-2017-08
+ - tag: package-2017-07
+```
+
### Tag: package-2017-09 and go
These settings apply only when `--tag=package-2017-09 --go` is specified on the command line.
@@ -125,6 +148,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.containerservice
package-name: azure-mgmt-containerservice
+ package-version: 3.0.1
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
@@ -137,3 +161,21 @@ python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/azure-mgmt-containerservice
```
+
+
+## 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.containerservice
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerservice
+ title: ContainerServiceManagementClient
+ description: "Container Service Client"
+```
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
index 73f5e086c482..2caf1cb8747e 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
@@ -668,6 +668,310 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileSourceTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": { "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/sourceRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account, source and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": { "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": {
+ "get": {
+ "operationId": "Percentile_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": { "$ref": "./examples/CosmosDBPercentileGetMetrics.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartitionRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": { "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartition_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": { "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeId_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": { "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeIdRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": { "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": {
"get": {
"operationId": "DatabaseAccounts_ListUsages",
@@ -699,7 +1003,10 @@
"$ref": "#/definitions/UsagesResult"
}
}
- }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": {
@@ -736,7 +1043,10 @@
"$ref": "#/definitions/UsagesResult"
}
}
- }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": {
@@ -776,6 +1086,52 @@
"$ref": "#/definitions/UsagesResult"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": {
+ "get": {
+ "operationId": "CollectionPartition_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetUsages": { "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json" }
+ },
+ "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the collection, per partition were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionUsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
}
}
},
@@ -810,7 +1166,10 @@
"$ref": "#/definitions/MetricDefinitionsListResult"
}
}
- }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": {
@@ -847,7 +1206,10 @@
"$ref": "#/definitions/MetricDefinitionsListResult"
}
}
- }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": {
@@ -878,7 +1240,10 @@
"$ref": "#/definitions/MetricDefinitionsListResult"
}
}
- }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
}
}
},
@@ -906,6 +1271,9 @@
}
}
},
+ "required": [
+ "failoverPolicies"
+ ],
"description": "The list of new failover policies for the failover priority change."
},
"FailoverPolicy": {
@@ -1086,6 +1454,13 @@
"description": "The consistency policy for the Cosmos DB database account.",
"$ref": "#/definitions/ConsistencyPolicy"
},
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
"writeLocations": {
"type": "array",
"readOnly": true,
@@ -1112,6 +1487,19 @@
}
}
},
+ "DatabaseAccountPatchProperties": {
+ "description": "Properties to update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ }
+ }
+ },
"DatabaseAccountCreateUpdateProperties": {
"description": "Properties to create and update Azure Cosmos DB database accounts.",
"type": "object",
@@ -1137,6 +1525,13 @@
"enableAutomaticFailover": {
"description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
"type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
}
},
"required": [
@@ -1182,6 +1577,10 @@
"properties": {
"tags": {
"$ref": "#/definitions/Tags"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountPatchProperties"
}
}
},
@@ -1280,6 +1679,16 @@
"modelAsString": false
}
},
+ "Capability": {
+ "type": "object",
+ "description": "Cosmos DB capability object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB capability"
+ }
+ }
+ },
"Tags": {
"type": "object",
"additionalProperties": {
@@ -1385,6 +1794,39 @@
},
"description": "The usage data for a usage request."
},
+ "PartitionUsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PartitionUsage"
+ },
+ "description": "The list of partition-level usages for the database. A usage is a point in time metric"
+ }
+ },
+ "description": "The response to a list partition level usage request."
+ },
+ "PartitionUsage": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Usage"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The parition id (GUID identifier) of the usages."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the usages."
+ }
+ },
+ "description": "The partition level usage data for a usage request."
+ },
"MetricDefinitionsListResult": {
"properties": {
"value": {
@@ -1565,6 +2007,143 @@
},
"description": "Represents metrics values."
},
+ "PercentileMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetric"
+ },
+ "description": "The list of percentile metrics for the account."
+ }
+ },
+ "description": "The response to a list percentile metrics request."
+ },
+ "PercentileMetric": {
+ "properties": {
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the metric (ISO-8601 format)."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the metric (ISO-8601 format)."
+ },
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "unit": {
+ "$ref": "#/definitions/UnitType",
+ "description": "The unit of the metric."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "metricValues": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetricValue"
+ },
+ "description": "The percentile metric values for the specified time window and timestep."
+ }
+ },
+ "description": "Percentile Metric data"
+ },
+ "PercentileMetricValue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetricValue"
+ }
+ ],
+ "properties": {
+ "P10": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 10th percentile value for the metric."
+ },
+ "P25": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 25th percentile value for the metric."
+ },
+ "P50": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 50th percentile value for the metric."
+ },
+ "P75": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 75th percentile value for the metric."
+ },
+ "P90": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 90th percentile value for the metric."
+ },
+ "P95": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 95th percentile value for the metric."
+ },
+ "P99": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 99th percentile value for the metric."
+ }
+ },
+ "description": "Represents percentile metrics values."
+ },
+ "PartitionMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionMetric"
+ },
+ "description": "The list of partition-level metrics for the account."
+ }
+ },
+ "description": "The response to a list partition metrics request."
+ },
+ "PartitionMetric" : {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Metric"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The parition id (GUID identifier) of the metric values."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the metric values."
+ }
+ },
+ "description": "The metric values for a single partition."
+ },
"UnitType" : {
"type": "string",
"readOnly": true,
@@ -1625,6 +2204,7 @@
"in": "query",
"required": true,
"type": "string",
+ "x-ms-parameter-location": "method",
"description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq."
},
"usageFilterParameter": {
@@ -1632,6 +2212,7 @@
"in": "query",
"required": false,
"type": "string",
+ "x-ms-parameter-location": "method",
"description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names)."
},
"databaseRidParameter": {
@@ -1639,6 +2220,7 @@
"in": "path",
"required": true,
"type": "string",
+ "x-ms-parameter-location": "method",
"description": "Cosmos DB database rid."
},
"collectionRidParameter": {
@@ -1646,6 +2228,7 @@
"in": "path",
"required": true,
"type": "string",
+ "x-ms-parameter-location": "method",
"description": "Cosmos DB collection rid."
},
"regionParameter": {
@@ -1653,7 +2236,32 @@
"in": "path",
"required": true,
"type": "string",
+ "x-ms-parameter-location": "method",
"description": "Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "sourceRegionParameter": {
+ "name": "sourceRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "targetRegionParameter": {
+ "name": "targetRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "partitionKeyRangeIdParameter": {
+ "name": "partitionKeyRangeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Partition Key Range Id for which to get data."
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..fb863b9049ed
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "subscriptionId": "subid",
+ "databaseRid":"databaseRid",
+ "collectionRid":"collectionRid",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..20c305844353
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Partition Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..a57813353a2b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "subscriptionId": "subid",
+ "databaseRid":"databaseRid",
+ "collectionRid":"collectionRid",
+ "region":"North Europe",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
index 0b82a417723b..a88d99558973 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -11,7 +11,7 @@
"connectionStrings": [
{
"connectionString": "connection-string",
- "description": "description"
+ "description": "Name of the connection string"
}
]
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..83c8d9fbb992
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "subscriptionId": "subid",
+ "databaseRid":"databaseRid",
+ "collectionRid":"collectionRid",
+ "partitionKeyRangeId": "0",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..f2eb660caf4e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "subscriptionId": "subid",
+ "databaseRid":"databaseRid",
+ "collectionRid":"collectionRid",
+ "partitionKeyRangeId": "0",
+ "region": "West US",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..95171a06b43a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "subscriptionId": "subid",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..3b46bf3ce9de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "subscriptionId": "subid",
+ "sourceRegion": "West Central US",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..383a3134213c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-04-08",
+ "subscriptionId": "subid",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index 53ce64a1c8b8..ceb51b3e01e3 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -27,6 +27,7 @@ These are the global settings for the Cosmos-DB API.
``` yaml
openapi-type: arm
tag: package-2015-04
+azure-validator: true
```
@@ -39,10 +40,68 @@ input-file:
- Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
```
+## Suppression
+``` yaml
+directive:
+ - suppress: TrackedResourceGetOperation
+ from: cosmos-db.json
+ where: $.definitions.DatabaseAccountCreateUpdateParameters
+ reason: The DatabaseAccount request and response resources differ so the DatabaseAccountCreateUpdateParameters must only have a PUT operation
+ - suppress: TrackedResourcePatchOperation
+ from: cosmos-db.json
+ where: $.definitions.DatabaseAccountCreateUpdateParameters
+ reason: The DatabaseAccount request and response resources differ so the DatabaseAccountCreateUpdateParameters must only have a PUT operation
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.MetricValue.properties._count
+ reason: The Metrics API has has a property name with a leading underscore character
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.PercentileMetricValue.properties.P10
+ reason: The Metrics API has percentile metrics property names with leading capital letters
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.PercentileMetricValue.properties.P25
+ reason: The Metrics API has percentile metrics property names with leading capital letters
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.PercentileMetricValue.properties.P50
+ reason: The Metrics API has percentile metrics property names with leading capital letters
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.PercentileMetricValue.properties.P75
+ reason: The Metrics API has percentile metrics property names with leading capital letters
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.PercentileMetricValue.properties.P90
+ reason: The Metrics API has percentile metrics property names with leading capital letters
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.PercentileMetricValue.properties.P95
+ reason: The Metrics API has percentile metrics property names with leading capital letters
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: cosmos-db.json
+ where: $.definitions.PercentileMetricValue.properties.P99
+ reason: The Metrics API has percentile metrics property names with leading capital letters
+```
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## Python
These settings apply only when `--python` is specified on the command line.
@@ -57,6 +116,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.cosmosdb
package-name: azure-mgmt-cosmosdb
+ package-version: 0.3.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
@@ -81,6 +141,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-04
+```
+
### Tag: package-2015-04 and go
These settings apply only when `--tag=package-2015-04 --go` is specified on the command line.
@@ -89,3 +156,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.cosmosdb
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cosmosdb
+```
diff --git a/specification/customer-insights/resource-manager/readme.md b/specification/customer-insights/resource-manager/readme.md
index 65283be004d2..0f6eed8d37bf 100644
--- a/specification/customer-insights/resource-manager/readme.md
+++ b/specification/customer-insights/resource-manager/readme.md
@@ -54,6 +54,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -80,6 +91,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04
+ - tag: package-2017-01
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
@@ -97,3 +116,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.customerinsights
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-customerinsights
+```
diff --git a/specification/datacatalog/resource-manager/readme.md b/specification/datacatalog/resource-manager/readme.md
index d33c42c25227..3dc2a4e53d5c 100644
--- a/specification/datacatalog/resource-manager/readme.md
+++ b/specification/datacatalog/resource-manager/readme.md
@@ -42,6 +42,17 @@ input-file:
---
# 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-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -78,4 +89,47 @@ directive:
- $.definitions.ADCCatalog
from: datacatalog.json
reason: Catalog can only be listed by resource group.
-```
\ No newline at end of file
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: datacatalog
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-03-30
+```
+
+### Tag: package-2016-03-30 and go
+
+These settings apply only when `--tag=package-2016-03-30 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-03-30' && $(go)
+output-folder: $(go-sdk-folder)/services/datacatalog/mgmt/2016-03-30/datacatalog
+```
+
+
+## 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.datacatalog
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datacatalog
+```
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json
index d33f580deedb..5033dedf7769 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json
@@ -2830,7 +2830,8 @@
"Int",
"Float",
"Bool",
- "Array"
+ "Array",
+ "SecureString"
],
"x-ms-enum": {
"name": "ParameterType",
@@ -3074,6 +3075,10 @@
"referenceName": {
"type": "string",
"description": "Reference LinkedService name."
+ },
+ "parameters": {
+ "$ref": "#/definitions/ParameterValueSpecification",
+ "description": "Arguments for LinkedService."
}
},
"required": [
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Dataset.json
index 8ffa3f61aa34..ddf21ef9a1d5 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Dataset.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Dataset.json
@@ -1,4 +1,4 @@
-{
+{
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
@@ -30,6 +30,13 @@
"parameters": {
"$ref": "../datafactory.json#/definitions/ParameterDefinitionSpecification",
"description": "Parameters for dataset."
+ },
+ "annotations": {
+ "description": "List of tags that can be used for describing the Dataset.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
}
},
"additionalProperties": {
@@ -892,7 +899,39 @@
"path"
]
},
- "SqlServerTableDataset": {
+ "SapEccResourceDataset": {
+ "x-ms-discriminator-value": "SapEccResource",
+ "description": "The path of the SAP ECC OData entity.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "SAP ECC OData resource dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SapEccResourceDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SapEccResourceDatasetTypeProperties": {
+ "description": "Sap ECC OData resource dataset properties.",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path of the SAP ECC OData entity. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "path"
+ ]
+ },
+ "SqlServerTableDataset": {
"x-ms-discriminator-value": "SqlServerTable",
"description": "The on-premises SQL Server dataset.",
"type": "object",
@@ -1352,6 +1391,30 @@
],
"properties": {
}
+ },
+ "NetezzaTableDataset" : {
+ "x-ms-discriminator-value": "NetezzaTable",
+ "description": "Netezza dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ }
+ },
+ "VerticaTableDataset" : {
+ "x-ms-discriminator-value": "VerticaTable",
+ "description": "Vertica dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ }
}
}
}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/IntegrationRuntime.json
index c8dce406e80f..2abc40247475 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/IntegrationRuntime.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/IntegrationRuntime.json
@@ -146,6 +146,22 @@
"name": "IntegrationRuntimeLicenseType",
"modelAsString": true
}
+ },
+ "customSetupScriptProperties": {
+ "description": "Custom setup script properties for a managed dedicated integration runtime.",
+ "$ref": "#/definitions/IntegrationRuntimeCustomSetupScriptProperties"
+ },
+ "edition": {
+ "description": "The edition for the SSIS Integration Runtime",
+ "type": "string",
+ "enum": [
+ "Standard",
+ "Enterprise"
+ ],
+ "x-ms-enum": {
+ "name": "IntegrationRuntimeEdition",
+ "modelAsString": true
+ }
}
},
"additionalProperties": {
@@ -189,6 +205,20 @@
"type": "object"
}
},
+ "IntegrationRuntimeCustomSetupScriptProperties": {
+ "description": "Custom setup script properties for a managed dedicated integration runtime.",
+ "type": "object",
+ "properties": {
+ "blobContainerUri": {
+ "description": "The URI of the Azure blob container that contains the custom setup script.",
+ "type": "string"
+ },
+ "sasToken": {
+ "description": "The SAS token of the Azure blob container.",
+ "$ref": "../datafactory.json#/definitions/SecureString"
+ }
+ }
+ },
"SelfHostedIntegrationRuntime": {
"x-ms-discriminator-value": "SelfHosted",
"description": "Self-hosted integration runtime.",
@@ -197,6 +227,77 @@
{
"$ref": "#/definitions/IntegrationRuntime"
}
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LinkedIntegrationRuntimeTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "LinkedIntegrationRuntimeTypeProperties": {
+ "description": "The base definition of a secret type.",
+ "type": "object",
+ "properties": {
+ "linkedInfo": {
+ "$ref": "#/definitions/LinkedIntegrationRuntimeProperties"
+ }
+ }
+ },
+ "LinkedIntegrationRuntimeProperties": {
+ "description": "The base definition of a secret type.",
+ "discriminator": "authorizationType",
+ "type": "object",
+ "properties": {
+ "authorizationType": {
+ "type": "string",
+ "description": "Type of the secret."
+ }
+ },
+ "required": [
+ "authorizationType"
+ ]
+ },
+ "LinkedIntegrationRuntimeKey": {
+ "x-ms-discriminator-value": "Key",
+ "description": "The base definition of a secret type.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedIntegrationRuntimeProperties"
+ }
+ ],
+ "properties": {
+ "key": {
+ "description": "Type of the secret.",
+ "$ref": "../datafactory.json#/definitions/SecureString"
+ }
+ },
+ "required": [
+ "key"
+ ]
+ },
+ "LinkedIntegrationRuntimeRbac": {
+ "x-ms-discriminator-value": "RBAC",
+ "description": "The base definition of a secret type.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedIntegrationRuntimeProperties"
+ }
+ ],
+ "properties": {
+ "resourceId": {
+ "description": "The resource ID of the integration runtime to be shared.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceId"
]
},
"IntegrationRuntimeStatus": {
@@ -208,6 +309,11 @@
"description": "Type of integration runtime.",
"$ref": "#/definitions/IntegrationRuntimeType"
},
+ "dataFactoryName": {
+ "description": "The data factory name which the integration runtime belong to.",
+ "type": "string",
+ "readOnly": true
+ },
"state": {
"description": "The state of integration runtime.",
"$ref": "#/definitions/IntegrationRuntimeState",
@@ -505,6 +611,13 @@
"description": "Status of the integration runtime version.",
"type": "string",
"readOnly": true
+ },
+ "links": {
+ "description": "The list of linked integration runtimes that are created to share with this integration runtime.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LinkedIntegrationRuntime"
+ }
}
}
},
@@ -521,6 +634,38 @@
"modelAsString": true
}
},
+ "LinkedIntegrationRuntime": {
+ "description": "The linked integration runtime information.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the linked integration runtime.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "The subscription ID for which the linked integration runtime belong to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataFactoryName": {
+ "description": "The name of the data factory for which the linked integration runtime belong to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataFactoryLocation": {
+ "description": "The location of the data factory for which the linked integration runtime belong to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createTime": {
+ "description": "The creating time of the linked integration runtime.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
"SelfHostedIntegrationRuntimeNode": {
"description": "Properties of Self-hosted integration runtime node.",
"properties": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/LinkedService.json
index 5b1b91fe4c69..777fd49f4776 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/LinkedService.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/LinkedService.json
@@ -1,4 +1,4 @@
-{
+{
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
@@ -22,6 +22,17 @@
"description": {
"description": "Linked service description.",
"type": "string"
+ },
+ "parameters": {
+ "$ref": "../datafactory.json#/definitions/ParameterDefinitionSpecification",
+ "description": "Parameters for linked service."
+ },
+ "annotations": {
+ "description": "List of tags that can be used for describing the Dataset.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
}
},
"additionalProperties": {
@@ -56,11 +67,11 @@
"properties": {
"connectionString": {
"description": "The connection string. It is mutually exclusive with sasUri property.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"sasUri": {
"description": "SAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -93,7 +104,19 @@
"properties": {
"connectionString": {
"description": "The connection string.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalKey": {
+ "$ref": "../datafactory.json#/definitions/SecretBase",
+ "description": "The key of the service principal used to authenticate against Azure SQL Data Warehouse."
+ },
+ "tenant": {
+ "type": "object",
+ "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
"encryptedCredential": {
"type": "object",
@@ -129,7 +152,7 @@
"properties": {
"connectionString": {
"description": "The connection string.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"userName": {
"type": "object",
@@ -137,7 +160,7 @@
},
"password": {
"description": "The on-premises Windows authentication password.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -173,7 +196,19 @@
"properties": {
"connectionString": {
"description": "The connection string.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "The ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalKey": {
+ "$ref": "../datafactory.json#/definitions/SecretBase",
+ "description": "The key of the service principal used to authenticate against Azure SQL Database."
+ },
+ "tenant": {
+ "type": "object",
+ "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
"encryptedCredential": {
"type": "object",
@@ -213,7 +248,7 @@
},
"accessKey": {
"description": "The Azure Batch account access key.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"batchUri": {
"type": "object",
@@ -296,7 +331,7 @@
"properties": {
"connectionString": {
"description": "The connection string.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -418,7 +453,7 @@
},
"password": {
"description": "HDInsight cluster password.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"linkedServiceName": {
"description": "The Azure Storage linked service reference.",
@@ -470,7 +505,7 @@
},
"password": {
"description": "Password to logon the server.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -506,7 +541,7 @@
"properties": {
"connectionString": {
"description": "The connection string.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -542,7 +577,7 @@
"properties": {
"connectionString": {
"description": "The connection string.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -594,7 +629,7 @@
},
"password": {
"description": "Password for authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -647,7 +682,7 @@
},
"password": {
"description": "Password for authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -712,7 +747,7 @@
},
"password": {
"description": "Password for authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -776,7 +811,7 @@
},
"password": {
"description": "Password for authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -837,7 +872,7 @@
},
"password": {
"description": "Password for authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -877,7 +912,7 @@
},
"apiKey": {
"description": "The API key for accessing the Azure ML model endpoint.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"updateResourceEndpoint": {
"type": "object",
@@ -888,7 +923,7 @@
"description": "The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service. Type: string (or Expression with resultType string)."
},
"servicePrincipalKey": {
- "$ref": "../datafactory.json#/definitions/SecureString",
+ "$ref": "../datafactory.json#/definitions/SecretBase",
"description": "The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service."
},
"tenant": {
@@ -930,7 +965,7 @@
"properties": {
"connectionString": {
"description": "The non-access credential portion of the connection string as well as an optional encrypted credential.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"authenticationType": {
"type": "object",
@@ -938,7 +973,7 @@
},
"credential": {
"description": "The access credential portion of the connection string specified in driver-specific property-value format.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"userName": {
"type": "object",
@@ -946,7 +981,7 @@
},
"password": {
"description": "Password for Basic authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -998,7 +1033,7 @@
},
"password": {
"description": "Password for Windows authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
}
},
"required": [
@@ -1050,7 +1085,7 @@
},
"password": {
"description": "Password of the OData service.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1132,7 +1167,7 @@
},
"password": {
"description": "The password for Basic authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
}
},
"required": [
@@ -1151,11 +1186,11 @@
"properties": {
"pfx": {
"description": "Base64-encoded contents of a PFX file.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"password": {
"description": "Password for the PFX file.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
}
},
"required": [
@@ -1204,7 +1239,7 @@
},
"password": {
"description": "Password for authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1264,7 +1299,7 @@
},
"password": {
"description": "Password for authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"authSource": {
"type": "object",
@@ -1317,7 +1352,7 @@
},
"servicePrincipalKey": {
"description": "The Key of the application used to authenticate against the Azure Data Lake Store account.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"tenant": {
"type": "object",
@@ -1422,7 +1457,7 @@
},
"password": {
"description": "The password for Basic authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1433,7 +1468,51 @@
"url"
]
},
- "AmazonS3LinkedService": {
+ "SapEccLinkedService": {
+ "x-ms-discriminator-value": "SapEcc",
+ "description": "Linked service for SAP ERP Central Component(SAP ECC).",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "SAP ECC linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SapEccLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SapEccLinkedServiceTypeProperties": {
+ "description": "SAP ECC linked service properties.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "The URL of SAP ECC OData API. For example, '[https://hostname:port/sap/opu/odata/sap/servicename/]'. Type: string (or Expression with resultType string)."
+ },
+ "username": {
+ "type": "string",
+ "description": "The username for Basic authentication. Type: string (or Expression with resultType string)."
+ },
+ "password": {
+ "description": "The password for Basic authentication.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "encryptedCredential": {
+ "type": "string",
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Either encryptedCredential or username/password must be provided. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "AmazonS3LinkedService": {
"x-ms-discriminator-value": "AmazonS3",
"description": "Linked service for Amazon S3.",
"type": "object",
@@ -1462,7 +1541,7 @@
},
"secretAccessKey": {
"description": "The secret access key of the Amazon S3 Identity and Access Management (IAM) user.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1503,7 +1582,7 @@
},
"password": {
"description": "The password of the Amazon Redshift source.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"database": {
"type": "object",
@@ -1572,7 +1651,7 @@
},
"key": {
"description": "Admin Key for Azure Search service",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1631,7 +1710,7 @@
},
"password": {
"description": "Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"embeddedCertData": {
"type": "object",
@@ -1703,7 +1782,7 @@
},
"password": {
"description": "Password to logon the FTP server.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1771,7 +1850,7 @@
},
"password": {
"description": "Password to logon the SFTP server for Basic authentication.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1783,11 +1862,11 @@
},
"privateKeyContent": {
"description": "Base64 encoded SSH private key content for SshPublicKey authentication. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH format.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"passPhrase": {
"description": "The password to decrypt the SSH private key if the SSH private key is encrypted.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"skipHostKeyValidation": {
"type": "object",
@@ -1843,7 +1922,7 @@
},
"password": {
"description": "Password to access the SAP BW server.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -1901,7 +1980,7 @@
},
"password": {
"description": "Password to access the SAP HANA server.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
@@ -2247,6 +2326,14 @@
"description": "The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication.",
"$ref": "../datafactory.json#/definitions/SecretBase"
},
+ "clientId": {
+ "description": "The client id of the google application used to acquire the refresh token.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "clientSecret": {
+ "description": "The client secret of the google application used to acquire the refresh token.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
"email": {
"description": "The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.",
"type": "object"
@@ -3561,6 +3648,72 @@
"endpoint"
]
},
+ "VerticaLinkedService": {
+ "x-ms-discriminator-value": "Vertica",
+ "description": "Vertica linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Vertica linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VerticaLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "VerticaLinkedServiceTypeProperties": {
+ "description": "Vertica linked service properties.",
+ "properties": {
+ "connectionString": {
+ "description": "An ODBC connection string.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "encryptedCredential": {
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "type": "object"
+ }
+ }
+ },
+ "NetezzaLinkedService": {
+ "x-ms-discriminator-value": "Netezza",
+ "description": "Netezza linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Netezza linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetezzaLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "NetezzaLinkedServiceTypeProperties": {
+ "description": "Netezza linked service properties.",
+ "properties": {
+ "connectionString": {
+ "description": "An ODBC connection string.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "encryptedCredential": {
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "type": "object"
+ }
+ }
+ },
"HDInsightOnDemandLinkedService": {
"x-ms-discriminator-value": "HDInsightOnDemand",
"description": "HDInsight ondemand linked service.",
@@ -3610,7 +3763,7 @@
},
"servicePrincipalKey": {
"description": "The key for the service principal id.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"tenant": {
"type": "object",
@@ -3630,7 +3783,7 @@
},
"clusterPassword": {
"description": "The password to access the cluster.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"clusterSshUserName": {
"type": "object",
@@ -3638,7 +3791,7 @@
},
"clusterSshPassword": {
"description": "The password to SSH remotely connect cluster’s node (for Linux).",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"additionalLinkedServiceNames": {
"description": "Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf.",
@@ -3739,7 +3892,7 @@
},
"servicePrincipalKey": {
"description": "The Key of the application used to authenticate against the Azure Data Lake Analytics account.",
- "$ref": "../datafactory.json#/definitions/SecureString"
+ "$ref": "../datafactory.json#/definitions/SecretBase"
},
"tenant": {
"type": "object",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Pipeline.json
index 798b01bc0ad1..fcc9958ab94f 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Pipeline.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/preview/2017-09-01-preview/entityTypes/Pipeline.json
@@ -1,4 +1,4 @@
-{
+{
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
@@ -29,7 +29,14 @@
"type": "integer",
"minimum": 1,
"description": "The max number of concurrent runs for the pipeline."
- }
+ },
+ "annotations": {
+ "description": "List of tags that can be used for describing the Pipeline.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
}
},
"Activity": {
@@ -145,6 +152,10 @@
"description": "Interval between each retry attempt (in seconds). The default is 30 sec.",
"minimum": 30,
"maximum": 86400
+ },
+ "secureOutput": {
+ "type": "boolean",
+ "description": "When set to true, Output from activity is considered as secure and will not be logged to monitoring."
}
},
"additionalProperties": {
@@ -387,7 +398,22 @@
}
}
},
- "SqlSource": {
+ "SapEccSource": {
+ "description": "A copy activity source for SAP ECC source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "SAP ECC OData query. For example, \"$top=1\". Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "SqlSource": {
"description": "A copy activity SQL source.",
"type": "object",
"allOf": [
@@ -1006,6 +1032,36 @@
}
}
},
+ "NetezzaSource": {
+ "description": "A copy activity Netezza source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "VerticaSource": {
+ "description": "A copy activity Vertica source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
"AmazonRedshiftSource": {
"description": "A copy activity source for Amazon Redshift Source.",
"type": "object",
@@ -2168,7 +2224,8 @@
"enum": [
"GET",
"POST",
- "PUT"
+ "PUT",
+ "DELETE"
],
"x-ms-enum": {
"name": "WebActivityMethod",
@@ -2198,7 +2255,7 @@
"description": "Web activity authentication properties.",
"properties": {
"type": {
- "description": "Web activity authentication (Basic/ClientCertificate)",
+ "description": "Web activity authentication (Basic/ClientCertificate/MSI)",
"type": "string"
},
"pfx": {
@@ -2212,6 +2269,10 @@
"password": {
"description": "Password for the PFX file or basic authentication.",
"$ref": "../datafactory.json#/definitions/SecureString"
+ },
+ "resource": {
+ "description": "Resource for which Azure Auth token will be requested when using MSI Authentication.",
+ "type": "string"
}
},
"required": [
@@ -2368,9 +2429,14 @@
"description": "ForEach activity properties.",
"properties": {
"isSequential": {
- "description": "Should the loop be executed in sequence or in parallel (max 20)",
+ "description": "Should the loop be executed in sequence or in parallel (max 50)",
"type": "boolean"
},
+ "batchCount": {
+ "description": "Batch count to be used for controlling the number of parallel execution (when isSequential is set to false).",
+ "type": "integer",
+ "maximum": 50
+ },
"items": {
"description": "Collection to iterate.",
"$ref": "../datafactory.json#/definitions/Expression"
@@ -2626,6 +2692,42 @@
"expression",
"activities"
]
+ },
+ "FilterActivity": {
+ "x-ms-discriminator-value": "Filter",
+ "description": "Filter and return results from input array based on the conditions.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ControlActivity"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Filter activity properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FilterActivityTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "FilterActivityTypeProperties": {
+ "description": "Fitler activity properties.",
+ "properties": {
+ "items": {
+ "description": "Input array on which filter should be applied.",
+ "$ref": "../datafactory.json#/definitions/Expression"
+ },
+ "condition": {
+ "description": "Condition to be used for filtering the input.",
+ "$ref": "../datafactory.json#/definitions/Expression"
+ }
+ },
+ "required": [
+ "condition",
+ "items"
+ ]
}
}
}
diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md
index f41be0d5aa5b..4269a4892855 100644
--- a/specification/datafactory/resource-manager/readme.md
+++ b/specification/datafactory/resource-manager/readme.md
@@ -43,6 +43,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -96,6 +109,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-09-preview
+```
+
### Tag: package-2017-09-preview and go
These settings apply only when `--tag=package-2017-09-preview --go` is specified on the command line.
@@ -105,6 +125,22 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.datafactory
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datafactory
+```
+
# Validation
## Suppression
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Build.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Build.json
deleted file mode 100644
index 7336eddc0ff1..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Build.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "parameters": {
- "type": "USql",
- "properties": {
- "runtimeVersion": "test_runtime_version",
- "script": "test_script",
- "type": "USql"
- },
- "name": "test_name"
- }
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "name": "test_name",
- "type": "USql",
- "submitter": "test_submitter",
- "degreeOfParallelism": 1,
- "priority": 1,
- "submitTime": "2017-04-18T11:16:49.0748958-07:00",
- "startTime": "2017-04-18T11:16:49.0748958-07:00",
- "endTime": "2017-04-18T11:16:49.0748958-07:00",
- "state": "Accepted",
- "result": "Succeeded",
- "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
- "logFilePatterns": [
- "test_log_file_pattern_1",
- "test_log_file_pattern_2"
- ],
- "related": {
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
- "recurrenceName": "test_recurrence_name"
- },
- "tags": {
- "test_key": "test_value"
- },
- "errorMessage": [{
- "description": "test_description",
- "details": "test_details",
- "endOffset": 1,
- "errorId": "test_error_id",
- "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "lineNumber": 1,
- "message": "test_message",
- "resolution": "test_resolution",
- "innerError": {
- "diagnosticCode": 1,
- "severity": "Warning",
- "details": "test_details",
- "component": "test_component",
- "errorId": "test_error_id",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "message": "test_message",
- "resolution": "test_resolution",
- "source": "SYSTEM",
- "description": "test_description"
- },
- "severity": "Warning",
- "source": "SYSTEM",
- "startOffset": 1
- }],
- "stateAuditRecords": [{
- "newState": "test_new_state",
- "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
- "requestedByUser": "test_requested_by_user",
- "details": "test_details"
- }],
- "properties": {
- "runtimeVersion": "test_runtime_version",
- "script": "test_script",
- "type": "USql"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Cancel.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Cancel.json
deleted file mode 100644
index cac4893b2020..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Cancel.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
- },
- "responses": {
- "200": {
- },
- "202": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Create.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Create.json
deleted file mode 100644
index 00e71235da86..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Create.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "parameters": {
- "type": "USql",
- "properties": {
- "runtimeVersion": "test_runtime_version",
- "script": "test_script",
- "type": "USql"
- },
- "name": "test_name",
- "degreeOfParallelism": 1,
- "priority": 1,
- "logFilePatterns": [
- "test_log_file_pattern_1",
- "test_log_file_pattern_2"
- ],
- "related": {
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
- "recurrenceName": "test_recurrence_name"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "name": "test_name",
- "type": "USql",
- "submitter": "test_submitter",
- "degreeOfParallelism": 1,
- "priority": 1,
- "submitTime": "2017-04-18T11:16:49.0748958-07:00",
- "startTime": "2017-04-18T11:16:49.0748958-07:00",
- "endTime": "2017-04-18T11:16:49.0748958-07:00",
- "state": "Accepted",
- "result": "Succeeded",
- "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
- "logFilePatterns": [
- "test_log_file_pattern_1",
- "test_log_file_pattern_2"
- ],
- "related": {
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
- "recurrenceName": "test_recurrence_name"
- },
- "tags": {
- "test_key": "test_value"
- },
- "errorMessage": [{
- "description": "test_description",
- "details": "test_details",
- "endOffset": 1,
- "errorId": "test_error_id",
- "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "lineNumber": 1,
- "message": "test_message",
- "resolution": "test_resolution",
- "innerError": {
- "diagnosticCode": 1,
- "severity": "Warning",
- "details": "test_details",
- "component": "test_component",
- "errorId": "test_error_id",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "message": "test_message",
- "resolution": "test_resolution",
- "source": "SYSTEM",
- "description": "test_description"
- },
- "severity": "Warning",
- "source": "SYSTEM",
- "startOffset": 1
- }],
- "stateAuditRecords": [{
- "newState": "test_new_state",
- "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
- "requestedByUser": "test_requested_by_user",
- "details": "test_details"
- }],
- "properties": {
- "runtimeVersion": "test_runtime_version",
- "script": "test_script",
- "type": "USql"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Get.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Get.json
deleted file mode 100644
index b09ad21d604b..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Get.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "name": "test_name",
- "type": "USql",
- "submitter": "test_submitter",
- "degreeOfParallelism": 1,
- "priority": 1,
- "submitTime": "2017-04-18T11:16:49.0748958-07:00",
- "startTime": "2017-04-18T11:16:49.0748958-07:00",
- "endTime": "2017-04-18T11:16:49.0748958-07:00",
- "state": "Accepted",
- "result": "Succeeded",
- "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
- "logFilePatterns": [
- "test_log_file_pattern_1",
- "test_log_file_pattern_2"
- ],
- "related": {
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
- "recurrenceName": "test_recurrence_name"
- },
- "tags": {
- "test_key": "test_value"
- },
- "errorMessage": [{
- "description": "test_description",
- "details": "test_details",
- "endOffset": 1,
- "errorId": "test_error_id",
- "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "lineNumber": 1,
- "message": "test_message",
- "resolution": "test_resolution",
- "innerError": {
- "diagnosticCode": 1,
- "severity": "Warning",
- "details": "test_details",
- "component": "test_component",
- "errorId": "test_error_id",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "message": "test_message",
- "resolution": "test_resolution",
- "source": "SYSTEM",
- "description": "test_description"
- },
- "severity": "Warning",
- "source": "SYSTEM",
- "startOffset": 1
- }],
- "stateAuditRecords": [{
- "newState": "test_new_state",
- "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
- "requestedByUser": "test_requested_by_user",
- "details": "test_details"
- }],
- "properties": {
- "runtimeVersion": "test_runtime_version",
- "script": "test_script",
- "type": "USql"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_GetDebugDataPath.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_GetDebugDataPath.json
deleted file mode 100644
index 79ea2c7ed2ef..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_GetDebugDataPath.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "command": "test_command",
- "paths": [
- "test_path_1",
- "test_path_2"
- ]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_GetStatistics.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_GetStatistics.json
deleted file mode 100644
index b6d3d42f36a5..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_GetStatistics.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
- },
- "responses": {
- "200": {
- "body": {
- "lastUpdateTimeUtc": "2017-04-18T11:16:49.0748958-07:00",
- "finalizingTimeUtc": "2017-04-18T11:16:49.0748958-07:00",
- "stages": [{
- "dataRead": 1,
- "dataReadCrossPod": 1,
- "dataReadIntraPod": 1,
- "dataToRead": 1,
- "dataWritten": 1,
- "duplicateDiscardCount": 1,
- "failedCount": 1,
- "maxVertexDataRead": 1,
- "minVertexDataRead": 1,
- "readFailureCount": 1,
- "revocationCount": 1,
- "runningCount": 1,
- "scheduledCount": 1,
- "stageName": "test_stage_name",
- "succeededCount": 1,
- "tempDataWritten": 1,
- "totalCount": 1,
- "totalFailedTime": "PT0S",
- "totalProgress": 1,
- "totalSucceededTime": "PT0S"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_List.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_List.json
deleted file mode 100644
index 8f202f372225..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_List.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "value": [{
- "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "name": "test_name",
- "type": "USql",
- "submitter": "test_submitter",
- "degreeOfParallelism": 1,
- "priority": 1,
- "submitTime": "2017-04-18T11:16:49.0748958-07:00",
- "startTime": "2017-04-18T11:16:49.0748958-07:00",
- "endTime": "2017-04-18T11:16:49.0748958-07:00",
- "state": "Accepted",
- "result": "Succeeded",
- "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
- "logFilePatterns": [
- "test_log_file_pattern_1",
- "test_log_file_pattern_2"
- ],
- "related": {
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
- "recurrenceName": "test_recurrence_name"
- },
- "tags": {
- "test_key": "test_value"
- }
- }],
- "nextLink": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Update.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Update.json
deleted file mode 100644
index e9dc18151b88..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Update.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "parameters": {
- "degreeOfParallelism": 1,
- "priority": 1,
- "tags": {
- "test_key": "test_value"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "name": "test_name",
- "type": "USql",
- "submitter": "test_submitter",
- "degreeOfParallelism": 1,
- "priority": 1,
- "submitTime": "2017-04-18T11:16:49.0748958-07:00",
- "startTime": "2017-04-18T11:16:49.0748958-07:00",
- "endTime": "2017-04-18T11:16:49.0748958-07:00",
- "state": "Accepted",
- "result": "Succeeded",
- "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
- "logFilePatterns": [
- "test_log_file_pattern_1",
- "test_log_file_pattern_2"
- ],
- "related": {
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
- "recurrenceName": "test_recurrence_name"
- },
- "tags": {
- "test_key": "test_value"
- },
- "errorMessage": [{
- "description": "test_description",
- "details": "test_details",
- "endOffset": 1,
- "errorId": "test_error_id",
- "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "lineNumber": 1,
- "message": "test_message",
- "resolution": "test_resolution",
- "innerError": {
- "diagnosticCode": 1,
- "severity": "Warning",
- "details": "test_details",
- "component": "test_component",
- "errorId": "test_error_id",
- "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
- "internalDiagnostics": "test_internal_diagnostics",
- "message": "test_message",
- "resolution": "test_resolution",
- "source": "SYSTEM",
- "description": "test_description"
- },
- "severity": "Warning",
- "source": "SYSTEM",
- "startOffset": 1
- }],
- "stateAuditRecords": [{
- "newState": "test_new_state",
- "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
- "requestedByUser": "test_requested_by_user",
- "details": "test_details"
- }],
- "properties": {
- "runtimeVersion": "test_runtime_version",
- "script": "test_script",
- "type": "Hive"
- }
- }
- },
- "202": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Yield.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Yield.json
deleted file mode 100644
index cac4893b2020..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Job_Yield.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
- },
- "responses": {
- "200": {
- },
- "202": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Pipeline_Get.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Pipeline_Get.json
deleted file mode 100644
index 18fc27151621..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Pipeline_Get.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "pipelineIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
- "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
- },
- "responses": {
- "200": {
- "body": {
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "numJobsFailed": 1,
- "numJobsCanceled": 1,
- "numJobsSucceeded": 1,
- "auHoursFailed": 1.0,
- "auHoursCanceled": 1.0,
- "auHoursSucceeded": 1.0,
- "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00",
- "runs": [{
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
- }],
- "recurrences": [
- "2ba01f6c-562d-4246-90ff-0b8c2d10e346",
- "da8dc3de-2fd8-4641-8968-40dbbf11e95f"
- ]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Pipeline_List.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Pipeline_List.json
deleted file mode 100644
index 5d904bc04d1a..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Pipeline_List.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
- "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
- },
- "responses": {
- "200": {
- "body": {
- "value": [{
- "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "pipelineName": "test_pipeline_name",
- "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
- "numJobsFailed": 1,
- "numJobsCanceled": 1,
- "numJobsSucceeded": 1,
- "auHoursFailed": 1.0,
- "auHoursCanceled": 1.0,
- "auHoursSucceeded": 1.0,
- "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00",
- "runs": [{
- "runId": "67034c12-b250-468e-992d-39fb978bde2c",
- "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
- }],
- "recurrences": [
- "2ba01f6c-562d-4246-90ff-0b8c2d10e346",
- "da8dc3de-2fd8-4641-8968-40dbbf11e95f"
- ]
- }],
- "nextLink": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Recurrence_Get.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Recurrence_Get.json
deleted file mode 100644
index fb2717390c2d..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Recurrence_Get.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "recurrenceIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
- "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
- },
- "responses": {
- "200": {
- "body": {
- "recurrenceId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "recurrenceName": "test_recurrence_name",
- "numJobsFailed": 1,
- "numJobsCanceled": 1,
- "numJobsSucceeded": 1,
- "auHoursFailed": 1.0,
- "auHoursCanceled": 1.0,
- "auHoursSucceeded": 1.0,
- "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Recurrence_List.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Recurrence_List.json
deleted file mode 100644
index f967c2a39dd0..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Adla_Recurrence_List.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
- "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
- },
- "responses": {
- "200": {
- "body": {
- "value": [{
- "recurrenceId": "076713da-9018-41ae-a3bd-9eab14e54d09",
- "recurrenceName": "test_recurrence_name",
- "numJobsFailed": 1,
- "numJobsCanceled": 1,
- "numJobsSucceeded": 1,
- "auHoursFailed": 1.0,
- "auHoursCanceled": 1.0,
- "auHoursSucceeded": 1.0,
- "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
- }],
- "nextLink": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Build.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Build.json
new file mode 100644
index 000000000000..6ceeb3ab4b79
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Build.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "parameters": {
+ "type": "USql",
+ "properties": {
+ "runtimeVersion": "test_runtime_version",
+ "script": "test_script",
+ "type": "USql"
+ },
+ "name": "test_name"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "name": "test_name",
+ "type": "USql",
+ "submitter": "test_submitter",
+ "degreeOfParallelism": 1,
+ "priority": 1,
+ "submitTime": "2017-04-18T11:16:49.0748958-07:00",
+ "startTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endTime": "2017-04-18T11:16:49.0748958-07:00",
+ "state": "Accepted",
+ "result": "Succeeded",
+ "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
+ "logFilePatterns": [
+ "test_log_file_pattern_1",
+ "test_log_file_pattern_2"
+ ],
+ "related": {
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
+ "recurrenceName": "test_recurrence_name"
+ },
+ "tags": {
+ "test_key": "test_value"
+ },
+ "errorMessage": [{
+ "description": "test_description",
+ "details": "test_details",
+ "endOffset": 1,
+ "errorId": "test_error_id",
+ "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "lineNumber": 1,
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "innerError": {
+ "diagnosticCode": 1,
+ "severity": "Warning",
+ "details": "test_details",
+ "component": "test_component",
+ "errorId": "test_error_id",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "source": "SYSTEM",
+ "description": "test_description"
+ },
+ "severity": "Warning",
+ "source": "SYSTEM",
+ "startOffset": 1
+ }],
+ "stateAuditRecords": [{
+ "newState": "test_new_state",
+ "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
+ "requestedByUser": "test_requested_by_user",
+ "details": "test_details"
+ }],
+ "properties": {
+ "runtimeVersion": "test_runtime_version",
+ "script": "test_script",
+ "type": "USql"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Cancel.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Cancel.json
new file mode 100644
index 000000000000..09f18758b1bc
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Cancel.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
+ },
+ "responses": {
+ "200": {
+ },
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Create.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Create.json
new file mode 100644
index 000000000000..e18aa9f2425a
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Create.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "parameters": {
+ "type": "USql",
+ "properties": {
+ "runtimeVersion": "test_runtime_version",
+ "script": "test_script",
+ "type": "USql"
+ },
+ "name": "test_name",
+ "degreeOfParallelism": 1,
+ "priority": 1,
+ "logFilePatterns": [
+ "test_log_file_pattern_1",
+ "test_log_file_pattern_2"
+ ],
+ "related": {
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
+ "recurrenceName": "test_recurrence_name"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "name": "test_name",
+ "type": "USql",
+ "submitter": "test_submitter",
+ "degreeOfParallelism": 1,
+ "priority": 1,
+ "submitTime": "2017-04-18T11:16:49.0748958-07:00",
+ "startTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endTime": "2017-04-18T11:16:49.0748958-07:00",
+ "state": "Accepted",
+ "result": "Succeeded",
+ "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
+ "logFilePatterns": [
+ "test_log_file_pattern_1",
+ "test_log_file_pattern_2"
+ ],
+ "related": {
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
+ "recurrenceName": "test_recurrence_name"
+ },
+ "tags": {
+ "test_key": "test_value"
+ },
+ "errorMessage": [{
+ "description": "test_description",
+ "details": "test_details",
+ "endOffset": 1,
+ "errorId": "test_error_id",
+ "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "lineNumber": 1,
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "innerError": {
+ "diagnosticCode": 1,
+ "severity": "Warning",
+ "details": "test_details",
+ "component": "test_component",
+ "errorId": "test_error_id",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "source": "SYSTEM",
+ "description": "test_description"
+ },
+ "severity": "Warning",
+ "source": "SYSTEM",
+ "startOffset": 1
+ }],
+ "stateAuditRecords": [{
+ "newState": "test_new_state",
+ "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
+ "requestedByUser": "test_requested_by_user",
+ "details": "test_details"
+ }],
+ "properties": {
+ "runtimeVersion": "test_runtime_version",
+ "script": "test_script",
+ "type": "USql"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Get.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Get.json
new file mode 100644
index 000000000000..9c71939c68ab
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Get.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "name": "test_name",
+ "type": "USql",
+ "submitter": "test_submitter",
+ "degreeOfParallelism": 1,
+ "priority": 1,
+ "submitTime": "2017-04-18T11:16:49.0748958-07:00",
+ "startTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endTime": "2017-04-18T11:16:49.0748958-07:00",
+ "state": "Accepted",
+ "result": "Succeeded",
+ "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
+ "logFilePatterns": [
+ "test_log_file_pattern_1",
+ "test_log_file_pattern_2"
+ ],
+ "related": {
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
+ "recurrenceName": "test_recurrence_name"
+ },
+ "tags": {
+ "test_key": "test_value"
+ },
+ "errorMessage": [{
+ "description": "test_description",
+ "details": "test_details",
+ "endOffset": 1,
+ "errorId": "test_error_id",
+ "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "lineNumber": 1,
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "innerError": {
+ "diagnosticCode": 1,
+ "severity": "Warning",
+ "details": "test_details",
+ "component": "test_component",
+ "errorId": "test_error_id",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "source": "SYSTEM",
+ "description": "test_description"
+ },
+ "severity": "Warning",
+ "source": "SYSTEM",
+ "startOffset": 1
+ }],
+ "stateAuditRecords": [{
+ "newState": "test_new_state",
+ "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
+ "requestedByUser": "test_requested_by_user",
+ "details": "test_details"
+ }],
+ "properties": {
+ "runtimeVersion": "test_runtime_version",
+ "script": "test_script",
+ "type": "USql"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_GetDebugDataPath.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_GetDebugDataPath.json
new file mode 100644
index 000000000000..1dd27580aa29
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_GetDebugDataPath.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "command": "test_command",
+ "paths": [
+ "test_path_1",
+ "test_path_2"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_GetStatistics.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_GetStatistics.json
new file mode 100644
index 000000000000..182690613ad8
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_GetStatistics.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "lastUpdateTimeUtc": "2017-04-18T11:16:49.0748958-07:00",
+ "finalizingTimeUtc": "2017-04-18T11:16:49.0748958-07:00",
+ "stages": [{
+ "dataRead": 1,
+ "dataReadCrossPod": 1,
+ "dataReadIntraPod": 1,
+ "dataToRead": 1,
+ "dataWritten": 1,
+ "duplicateDiscardCount": 1,
+ "failedCount": 1,
+ "maxVertexDataRead": 1,
+ "minVertexDataRead": 1,
+ "readFailureCount": 1,
+ "revocationCount": 1,
+ "runningCount": 1,
+ "scheduledCount": 1,
+ "stageName": "test_stage_name",
+ "succeededCount": 1,
+ "tempDataWritten": 1,
+ "totalCount": 1,
+ "totalFailedTime": "PT0S",
+ "totalProgress": 1,
+ "totalSucceededTime": "PT0S"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_List.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_List.json
new file mode 100644
index 000000000000..3d8689c9bb33
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_List.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "name": "test_name",
+ "type": "USql",
+ "submitter": "test_submitter",
+ "degreeOfParallelism": 1,
+ "priority": 1,
+ "submitTime": "2017-04-18T11:16:49.0748958-07:00",
+ "startTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endTime": "2017-04-18T11:16:49.0748958-07:00",
+ "state": "Accepted",
+ "result": "Succeeded",
+ "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
+ "logFilePatterns": [
+ "test_log_file_pattern_1",
+ "test_log_file_pattern_2"
+ ],
+ "related": {
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
+ "recurrenceName": "test_recurrence_name"
+ },
+ "tags": {
+ "test_key": "test_value"
+ }
+ }],
+ "nextLink": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Update.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Update.json
new file mode 100644
index 000000000000..54cd118c364e
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Update.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "parameters": {
+ "degreeOfParallelism": 1,
+ "priority": 1,
+ "tags": {
+ "test_key": "test_value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "name": "test_name",
+ "type": "USql",
+ "submitter": "test_submitter",
+ "degreeOfParallelism": 1,
+ "priority": 1,
+ "submitTime": "2017-04-18T11:16:49.0748958-07:00",
+ "startTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endTime": "2017-04-18T11:16:49.0748958-07:00",
+ "state": "Accepted",
+ "result": "Succeeded",
+ "logFolder": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/logs/",
+ "logFilePatterns": [
+ "test_log_file_pattern_1",
+ "test_log_file_pattern_2"
+ ],
+ "related": {
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "recurrenceId": "67034c12-b250-468e-992d-39fb978bde2d",
+ "recurrenceName": "test_recurrence_name"
+ },
+ "tags": {
+ "test_key": "test_value"
+ },
+ "errorMessage": [{
+ "description": "test_description",
+ "details": "test_details",
+ "endOffset": 1,
+ "errorId": "test_error_id",
+ "filePath": "adl://contosoadla.azuredatalakestore.net/system/jobservice/jobs/Usql/2016/03/13/17/18/5fe51957-93bc-4de0-8ddc-c5a4753b068b/test_file.txt",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "lineNumber": 1,
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "innerError": {
+ "diagnosticCode": 1,
+ "severity": "Warning",
+ "details": "test_details",
+ "component": "test_component",
+ "errorId": "test_error_id",
+ "helpLink": "https://azure.microsoft.com/en-us/blog/introducing-azure-data-lake/",
+ "internalDiagnostics": "test_internal_diagnostics",
+ "message": "test_message",
+ "resolution": "test_resolution",
+ "source": "SYSTEM",
+ "description": "test_description"
+ },
+ "severity": "Warning",
+ "source": "SYSTEM",
+ "startOffset": 1
+ }],
+ "stateAuditRecords": [{
+ "newState": "test_new_state",
+ "timeStamp": "2017-04-18T11:16:49.0748958-07:00",
+ "requestedByUser": "test_requested_by_user",
+ "details": "test_details"
+ }],
+ "properties": {
+ "runtimeVersion": "test_runtime_version",
+ "script": "test_script",
+ "type": "Hive"
+ }
+ }
+ },
+ "201": {
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Yield.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Yield.json
new file mode 100644
index 000000000000..09f18758b1bc
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Job_Yield.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "jobIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09"
+ },
+ "responses": {
+ "200": {
+ },
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Pipeline_Get.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Pipeline_Get.json
new file mode 100644
index 000000000000..76fddedb5fd2
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Pipeline_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "pipelineIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "numJobsFailed": 1,
+ "numJobsCanceled": 1,
+ "numJobsSucceeded": 1,
+ "auHoursFailed": 1.0,
+ "auHoursCanceled": 1.0,
+ "auHoursSucceeded": 1.0,
+ "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00",
+ "runs": [{
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
+ }],
+ "recurrences": [
+ "2ba01f6c-562d-4246-90ff-0b8c2d10e346",
+ "da8dc3de-2fd8-4641-8968-40dbbf11e95f"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Pipeline_List.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Pipeline_List.json
new file mode 100644
index 000000000000..7803c038f2f0
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Pipeline_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "pipelineId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "pipelineName": "test_pipeline_name",
+ "pipelineUri": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09",
+ "numJobsFailed": 1,
+ "numJobsCanceled": 1,
+ "numJobsSucceeded": 1,
+ "auHoursFailed": 1.0,
+ "auHoursCanceled": 1.0,
+ "auHoursSucceeded": 1.0,
+ "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00",
+ "runs": [{
+ "runId": "67034c12-b250-468e-992d-39fb978bde2c",
+ "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
+ }],
+ "recurrences": [
+ "2ba01f6c-562d-4246-90ff-0b8c2d10e346",
+ "da8dc3de-2fd8-4641-8968-40dbbf11e95f"
+ ]
+ }],
+ "nextLink": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Recurrence_Get.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Recurrence_Get.json
new file mode 100644
index 000000000000..9f8e326cba38
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Recurrence_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "recurrenceIdentity": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "recurrenceId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "recurrenceName": "test_recurrence_name",
+ "numJobsFailed": 1,
+ "numJobsCanceled": 1,
+ "numJobsSucceeded": 1,
+ "auHoursFailed": 1.0,
+ "auHoursCanceled": 1.0,
+ "auHoursSucceeded": 1.0,
+ "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Recurrence_List.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Recurrence_List.json
new file mode 100644
index 000000000000..f12dad78264f
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/examples/Recurrence_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaJobDnsSuffix": "azuredatalakeanalytics.net",
+ "startDateTime": "2017-04-18T11:16:49.0748958-07:00",
+ "endDateTime": "2017-04-18T11:16:49.0748958-07:00"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "recurrenceId": "076713da-9018-41ae-a3bd-9eab14e54d09",
+ "recurrenceName": "test_recurrence_name",
+ "numJobsFailed": 1,
+ "numJobsCanceled": 1,
+ "numJobsSucceeded": 1,
+ "auHoursFailed": 1.0,
+ "auHoursCanceled": 1.0,
+ "auHoursSucceeded": 1.0,
+ "lastSubmitTime": "2017-04-18T11:16:49.0748958-07:00"
+ }],
+ "nextLink": "https://account123.contosopipelineservice.com/076713da-9018-41ae-a3bd-9eab14e54d09"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/job.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/job.json
index e01c78ed8cea..7a7709c1e595 100644
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/job.json
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/preview/2017-09-01-preview/job.json
@@ -35,32 +35,59 @@
"application/json"
],
"paths": {
- "/pipelines": {
+ "/jobs": {
"get": {
"tags": [
- "Pipeline"
+ "Job"
],
- "operationId": "Pipeline_List",
- "description": "Lists all pipelines.",
- "x-ms-examples": {
- "Lists all pipelines": { "$ref": "./examples/Adla_Pipeline_List.json" }
- },
+ "operationId": "Job_List",
+ "description": "Lists the jobs, if any, associated with the specified Data Lake Analytics account. The response includes a link to the next page of results, if any.",
"parameters": [
{
- "name": "startDateTime",
+ "name": "$filter",
"in": "query",
"required": false,
"type": "string",
- "format": "date-time",
- "description": "The start date for when to get the list of pipelines. The startDateTime and endDateTime can be no more than 30 days apart."
+ "description": "OData filter. Optional."
},
{
- "name": "endDateTime",
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to return. Optional."
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to skip over before returning elements. Optional."
+ },
+ {
+ "name": "$select",
"in": "query",
"required": false,
"type": "string",
- "format": "date-time",
- "description": "The end date for when to get the list of pipelines. The startDateTime and endDateTime can be no more than 30 days apart."
+ "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
+ },
+ {
+ "name": "$count",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -68,51 +95,47 @@
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of pipelines.",
+ "description": "Successfully retrieved the list of jobs.",
"schema": {
- "$ref": "#/definitions/JobPipelineInformationListResult"
+ "$ref": "#/definitions/JobInfoListResult"
}
}
},
+ "x-ms-examples": {
+ "Lists the jobs, if any, associated with the specified Data Lake Analytics account": {
+ "$ref": "./examples/Job_List.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
- }
+ },
+ "x-ms-odata": "#/definitions/JobInformationBasic"
}
},
- "/pipelines/{pipelineIdentity}": {
- "get": {
+ "/jobs/{jobIdentity}": {
+ "put": {
"tags": [
- "Pipeline"
+ "Job"
],
- "operationId": "Pipeline_Get",
- "description": "Gets the Pipeline information for the specified pipeline ID.",
- "x-ms-examples": {
- "Gets the Pipeline information for the specified pipeline ID": { "$ref": "./examples/Adla_Pipeline_Get.json" }
- },
+ "operationId": "Job_Create",
+ "description": "Submits a job to the specified Data Lake Analytics account.",
"parameters": [
{
- "name": "pipelineIdentity",
+ "name": "jobIdentity",
"in": "path",
"required": true,
"type": "string",
"format": "uuid",
- "description": "Pipeline ID."
- },
- {
- "name": "startDateTime",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "The start date for when to get the pipeline and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
+ "description": "Job identifier. Uniquely identifies the job across all jobs submitted to the service."
},
{
- "name": "endDateTime",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "The end date for when to get the pipeline and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateJobParameters"
+ },
+ "description": "The parameters to submit a job."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -120,40 +143,32 @@
],
"responses": {
"200": {
- "description": "Successfully retrieved details of the specified pipeline.",
+ "description": "Successfully submitted the job.",
"schema": {
- "$ref": "#/definitions/JobPipelineInformation"
+ "$ref": "#/definitions/JobInformation"
}
}
+ },
+ "x-ms-examples": {
+ "Submits a job to the specified Data Lake Analytics account": {
+ "$ref": "./examples/Job_Create.json"
+ }
}
- }
- },
- "/recurrences": {
+ },
"get": {
"tags": [
- "Recurrence"
+ "Job"
],
- "operationId": "Recurrence_List",
- "description": "Lists all recurrences.",
- "x-ms-examples": {
- "Lists all recurrences": { "$ref": "./examples/Adla_Recurrence_List.json" }
- },
+ "operationId": "Job_Get",
+ "description": "Gets the job information for the specified job ID.",
"parameters": [
{
- "name": "startDateTime",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "The start date for when to get the list of recurrences. The startDateTime and endDateTime can be no more than 30 days apart."
- },
- {
- "name": "endDateTime",
- "in": "query",
- "required": false,
+ "name": "jobIdentity",
+ "in": "path",
+ "required": true,
"type": "string",
- "format": "date-time",
- "description": "The end date for when to get the list of recurrences. The startDateTime and endDateTime can be no more than 30 days apart."
+ "format": "uuid",
+ "description": "JobInfo ID."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -161,51 +176,41 @@
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of recurrences.",
+ "description": "Successfully retrieved details of the specified job.",
"schema": {
- "$ref": "#/definitions/JobRecurrenceInformationListResult"
+ "$ref": "#/definitions/JobInformation"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
+ "x-ms-examples": {
+ "Gets the job information for the specified job ID": {
+ "$ref": "./examples/Job_Get.json"
+ }
}
- }
- },
- "/recurrences/{recurrenceIdentity}": {
- "get": {
+ },
+ "patch": {
"tags": [
- "Recurrence"
+ "Job"
],
- "operationId": "Recurrence_Get",
- "description": "Gets the recurrence information for the specified recurrence ID.",
- "x-ms-examples": {
- "Gets the recurrence information for the specified recurrence ID": { "$ref": "./examples/Adla_Recurrence_Get.json" }
- },
+ "operationId": "Job_Update",
+ "description": "Updates the job information for the specified job ID. (Only for use internally with Scope job type.)",
"parameters": [
{
- "name": "recurrenceIdentity",
+ "name": "jobIdentity",
"in": "path",
"required": true,
"type": "string",
"format": "uuid",
- "description": "Recurrence ID."
- },
- {
- "name": "startDateTime",
- "in": "query",
- "required": false,
- "type": "string",
- "format": "date-time",
- "description": "The start date for when to get the recurrence and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
+ "description": "Job identifier. Uniquely identifies the job across all jobs submitted to the service."
},
{
- "name": "endDateTime",
- "in": "query",
+ "name": "parameters",
+ "in": "body",
"required": false,
- "type": "string",
- "format": "date-time",
- "description": "The end date for when to get recurrence and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
+ "schema": {
+ "$ref": "#/definitions/UpdateJobParameters"
+ },
+ "description": "The parameters to update a job."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -213,24 +218,33 @@
],
"responses": {
"200": {
- "description": "Successfully retrieved details of the specified pipeline.",
+ "description": "Successfully updated the details of the specified job.",
"schema": {
- "$ref": "#/definitions/JobRecurrenceInformation"
+ "$ref": "#/definitions/JobInformation"
}
+ },
+ "201": {
+ "description": "Successfully initiated an update of the specified job."
+ },
+ "202": {
+ "description": "Successfully initiated an update of the specified job."
}
- }
+ },
+ "x-ms-examples": {
+ "Updates the job information for the specified job ID. (Only for use internally with Scope job type.)": {
+ "$ref": "./examples/Job_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
}
},
- "/Jobs/{jobIdentity}/GetStatistics": {
+ "/jobs/{jobIdentity}/GetStatistics": {
"get": {
"tags": [
"Job"
],
"operationId": "Job_GetStatistics",
"description": "Gets statistics of the specified job.",
- "x-ms-examples": {
- "Gets statistics of the specified job": { "$ref": "./examples/Adla_Job_GetStatistics.json" }
- },
"parameters": [
{
"name": "jobIdentity",
@@ -251,19 +265,21 @@
"$ref": "#/definitions/JobStatistics"
}
}
+ },
+ "x-ms-examples": {
+ "Gets statistics of the specified job": {
+ "$ref": "./examples/Job_GetStatistics.json"
+ }
}
}
},
- "/Jobs/{jobIdentity}/GetDebugDataPath": {
+ "/jobs/{jobIdentity}/GetDebugDataPath": {
"get": {
"tags": [
"Job"
],
"operationId": "Job_GetDebugDataPath",
"description": "Gets the job debug data information specified by the job ID.",
- "x-ms-examples": {
- "Gets the job debug data information specified by the job ID": { "$ref": "./examples/Adla_Job_GetDebugDataPath.json" }
- },
"parameters": [
{
"name": "jobIdentity",
@@ -284,53 +300,21 @@
"$ref": "#/definitions/JobDataPath"
}
}
- }
- }
- },
- "/BuildJob": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Job_Build",
- "description": "Builds (compiles) the specified job in the specified Data Lake Analytics account for job correctness and validation.",
- "x-ms-examples": {
- "Builds (compiles) the specified job in the specified Data Lake Analytics account for job correctness and validation": { "$ref": "./examples/Adla_Job_Build.json" }
},
- "parameters": [
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BuildJobParameters"
- },
- "description": "The parameters to build a job."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully built the job script.",
- "schema": {
- "$ref": "#/definitions/JobInformation"
- }
+ "x-ms-examples": {
+ "Gets the job debug data information specified by the job ID": {
+ "$ref": "./examples/Job_GetDebugDataPath.json"
}
}
}
},
- "/Jobs/{jobIdentity}/CancelJob": {
+ "/jobs/{jobIdentity}/CancelJob": {
"post": {
"tags": [
"Job"
],
"operationId": "Job_Cancel",
"description": "Cancels the running job specified by the job ID.",
- "x-ms-examples": {
- "Cancels the running job specified by the job ID": { "$ref": "./examples/Adla_Job_Cancel.json" }
- },
"parameters": [
{
"name": "jobIdentity",
@@ -355,19 +339,21 @@
"description": "The specified job was not found."
}
},
+ "x-ms-examples": {
+ "Cancels the running job specified by the job ID": {
+ "$ref": "./examples/Job_Cancel.json"
+ }
+ },
"x-ms-long-running-operation": true
}
},
- "/Jobs/{jobIdentity}/YieldJob": {
+ "/jobs/{jobIdentity}/YieldJob": {
"post": {
"tags": [
"Job"
],
"operationId": "Job_Yield",
"description": "Pauses the specified job and places it back in the job queue, behind other jobs of equal or higher importance, based on priority. (Only for use internally with Scope job type.)",
- "x-ms-examples": {
- "Pauses the specified job and places it back in the job queue, behind other jobs of equal or higher importance, based on priority. (Only for use internally with Scope job type.)": { "$ref": "./examples/Adla_Job_Yield.json" }
- },
"parameters": [
{
"name": "jobIdentity",
@@ -392,36 +378,30 @@
"description": "The specified job was not found."
}
},
+ "x-ms-examples": {
+ "Pauses the specified job and places it back in the job queue, behind other jobs of equal or higher importance, based on priority. (Only for use internally with Scope job type.)": {
+ "$ref": "./examples/Job_Yield.json"
+ }
+ },
"x-ms-long-running-operation": true
}
},
- "/Jobs/{jobIdentity}": {
- "put": {
+ "/buildJob": {
+ "post": {
"tags": [
"Job"
],
- "operationId": "Job_Create",
- "description": "Submits a job to the specified Data Lake Analytics account.",
- "x-ms-examples": {
- "Submits a job to the specified Data Lake Analytics account": { "$ref": "./examples/Adla_Job_Create.json" }
- },
+ "operationId": "Job_Build",
+ "description": "Builds (compiles) the specified job in the specified Data Lake Analytics account for job correctness and validation.",
"parameters": [
- {
- "name": "jobIdentity",
- "in": "path",
- "required": true,
- "type": "string",
- "format": "uuid",
- "description": "Job identifier. Uniquely identifies the job across all jobs submitted to the service."
- },
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/CreateJobParameters"
+ "$ref": "#/definitions/BuildJobParameters"
},
- "description": "The parameters to submit a job."
+ "description": "The parameters to build a job."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -429,30 +409,42 @@
],
"responses": {
"200": {
- "description": "Successfully submitted the job.",
+ "description": "Successfully built the job script.",
"schema": {
"$ref": "#/definitions/JobInformation"
}
}
+ },
+ "x-ms-examples": {
+ "Builds (compiles) the specified job in the specified Data Lake Analytics account for job correctness and validation": {
+ "$ref": "./examples/Job_Build.json"
+ }
}
- },
+ }
+ },
+ "/pipelines": {
"get": {
"tags": [
- "Job"
+ "Pipeline"
],
- "operationId": "Job_Get",
- "description": "Gets the job information for the specified job ID.",
- "x-ms-examples": {
- "Gets the job information for the specified job ID": { "$ref": "./examples/Adla_Job_Get.json" }
- },
+ "operationId": "Pipeline_List",
+ "description": "Lists all pipelines.",
"parameters": [
{
- "name": "jobIdentity",
- "in": "path",
- "required": true,
+ "name": "startDateTime",
+ "in": "query",
+ "required": false,
"type": "string",
- "format": "uuid",
- "description": "JobInfo ID."
+ "format": "date-time",
+ "description": "The start date for when to get the list of pipelines. The startDateTime and endDateTime can be no more than 30 days apart."
+ },
+ {
+ "name": "endDateTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end date for when to get the list of pipelines. The startDateTime and endDateTime can be no more than 30 days apart."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -460,39 +452,53 @@
],
"responses": {
"200": {
- "description": "Successfully retrieved details of the specified job.",
+ "description": "Successfully retrieved the list of pipelines.",
"schema": {
- "$ref": "#/definitions/JobInformation"
+ "$ref": "#/definitions/JobPipelineInformationListResult"
}
}
+ },
+ "x-ms-examples": {
+ "Lists all pipelines": {
+ "$ref": "./examples/Pipeline_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
- },
- "patch": {
+ }
+ },
+ "/pipelines/{pipelineIdentity}": {
+ "get": {
"tags": [
- "Job"
+ "Pipeline"
],
- "operationId": "Job_Update",
- "description": "Updates the job information for the specified job ID. (Only for use internally with Scope job type.)",
- "x-ms-examples": {
- "Updates the job information for the specified job ID. (Only for use internally with Scope job type.)": { "$ref": "./examples/Adla_Job_Update.json" }
- },
+ "operationId": "Pipeline_Get",
+ "description": "Gets the Pipeline information for the specified pipeline ID.",
"parameters": [
{
- "name": "jobIdentity",
+ "name": "pipelineIdentity",
"in": "path",
"required": true,
"type": "string",
"format": "uuid",
- "description": "Job identifier. Uniquely identifies the job across all jobs submitted to the service."
+ "description": "Pipeline ID."
},
{
- "name": "parameters",
- "in": "body",
+ "name": "startDateTime",
+ "in": "query",
"required": false,
- "schema": {
- "$ref": "#/definitions/UpdateJobParameters"
- },
- "description": "The parameters to update a job."
+ "type": "string",
+ "format": "date-time",
+ "description": "The start date for when to get the pipeline and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
+ },
+ {
+ "name": "endDateTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end date for when to get the pipeline and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -500,77 +506,96 @@
],
"responses": {
"200": {
- "description": "Successfully updated the details of the specified job.",
+ "description": "Successfully retrieved details of the specified pipeline.",
"schema": {
- "$ref": "#/definitions/JobInformation"
+ "$ref": "#/definitions/JobPipelineInformation"
}
- },
- "201": {
- "description": "Successfully initiated an update of the specified job."
- },
- "202": {
- "description": "Successfully initiated an update of the specified job."
}
},
- "x-ms-long-running-operation": true
+ "x-ms-examples": {
+ "Gets the Pipeline information for the specified pipeline ID": {
+ "$ref": "./examples/Pipeline_Get.json"
+ }
+ }
}
},
- "/Jobs": {
+ "/recurrences": {
"get": {
"tags": [
- "Job"
+ "Recurrence"
],
- "operationId": "Job_List",
- "description": "Lists the jobs, if any, associated with the specified Data Lake Analytics account. The response includes a link to the next page of results, if any.",
- "x-ms-examples": {
- "Lists the jobs, if any, associated with the specified Data Lake Analytics account": { "$ref": "./examples/Adla_Job_List.json" }
- },
+ "operationId": "Recurrence_List",
+ "description": "Lists all recurrences.",
"parameters": [
{
- "name": "$filter",
+ "name": "startDateTime",
"in": "query",
"required": false,
"type": "string",
- "description": "OData filter. Optional."
+ "format": "date-time",
+ "description": "The start date for when to get the list of recurrences. The startDateTime and endDateTime can be no more than 30 days apart."
},
{
- "name": "$top",
+ "name": "endDateTime",
"in": "query",
"required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to return. Optional."
+ "type": "string",
+ "format": "date-time",
+ "description": "The end date for when to get the list of recurrences. The startDateTime and endDateTime can be no more than 30 days apart."
},
{
- "name": "$skip",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to skip over before returning elements. Optional."
- },
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of recurrences.",
+ "schema": {
+ "$ref": "#/definitions/JobRecurrenceInformationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists all recurrences": {
+ "$ref": "./examples/Recurrence_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/recurrences/{recurrenceIdentity}": {
+ "get": {
+ "tags": [
+ "Recurrence"
+ ],
+ "operationId": "Recurrence_Get",
+ "description": "Gets the recurrence information for the specified recurrence ID.",
+ "parameters": [
{
- "name": "$select",
- "in": "query",
- "required": false,
+ "name": "recurrenceIdentity",
+ "in": "path",
+ "required": true,
"type": "string",
- "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
+ "format": "uuid",
+ "description": "Recurrence ID."
},
{
- "name": "$orderby",
+ "name": "startDateTime",
"in": "query",
"required": false,
"type": "string",
- "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
+ "format": "date-time",
+ "description": "The start date for when to get the recurrence and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
},
{
- "name": "$count",
+ "name": "endDateTime",
"in": "query",
"required": false,
- "type": "boolean",
- "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ "type": "string",
+ "format": "date-time",
+ "description": "The end date for when to get recurrence and aggregate its data. The startDateTime and endDateTime can be no more than 30 days apart."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -578,16 +603,17 @@
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of jobs.",
+ "description": "Successfully retrieved details of the specified pipeline.",
"schema": {
- "$ref": "#/definitions/JobInfoListResult"
+ "$ref": "#/definitions/JobRecurrenceInformation"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/JobInformationBasic"
+ "x-ms-examples": {
+ "Gets the recurrence information for the specified recurrence ID": {
+ "$ref": "./examples/Recurrence_Get.json"
+ }
+ }
}
}
},
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/catalog.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/catalog.json
index 304ef4d0a245..c12a5990441a 100644
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/catalog.json
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/catalog.json
@@ -43,9 +43,6 @@
"deprecated": true,
"operationId": "Catalog_CreateSecret",
"description": "Creates the specified secret for use with external data sources in the specified database. This is deprecated and will be removed in the next release. Please use CreateCredential instead.",
- "x-ms-examples": {
- "Creates the specified secret for use with external data sources in the specified database": { "$ref": "./examples/Adla_Catalog_CreateSecret.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -78,18 +75,20 @@
"200": {
"description": "Successfully created the specified secret in the specified database."
}
+ },
+ "x-ms-examples": {
+ "Creates the specified secret for use with external data sources in the specified database": {
+ "$ref": "./examples/Catalog_CreateSecret.json"
+ }
}
},
- "patch": {
+ "get": {
"tags": [
"Catalog"
],
"deprecated": true,
- "operationId": "Catalog_UpdateSecret",
- "description": "Modifies the specified secret for use with external data sources in the specified database. This is deprecated and will be removed in the next release. Please use UpdateCredential instead.",
- "x-ms-examples": {
- "Modifies the specified secret for use with external data sources in the specified database": { "$ref": "./examples/Adla_Catalog_UpdateSecret.json" }
- },
+ "operationId": "Catalog_GetSecret",
+ "description": "Gets the specified secret in the specified database. This is deprecated and will be removed in the next release. Please use GetCredential instead.",
"parameters": [
{
"name": "databaseName",
@@ -103,16 +102,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the secret."
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsCatalogSecretCreateOrUpdateParameters"
- },
- "description": "The parameters required to modify the secret (name and password)"
+ "description": "The name of the secret to get"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -120,20 +110,25 @@
],
"responses": {
"200": {
- "description": "Successfully updated the details of the specified secret in the specified database."
+ "description": "Successfully retrieved details of the specified secret in the specified database.",
+ "schema": {
+ "$ref": "#/definitions/USqlSecret"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the specified secret in the specified database": {
+ "$ref": "./examples/Catalog_GetSecret.json"
}
}
},
- "delete": {
+ "patch": {
"tags": [
"Catalog"
],
- "operationId": "Catalog_DeleteSecret",
"deprecated": true,
- "description": "Deletes the specified secret in the specified database. This is deprecated and will be removed in the next release. Please use DeleteCredential instead.",
- "x-ms-examples": {
- "Deletes the specified secret in the specified database": { "$ref": "./examples/Adla_Catalog_DeleteSecret.json" }
- },
+ "operationId": "Catalog_UpdateSecret",
+ "description": "Modifies the specified secret for use with external data sources in the specified database. This is deprecated and will be removed in the next release. Please use UpdateCredential instead.",
"parameters": [
{
"name": "databaseName",
@@ -147,7 +142,16 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the secret to delete"
+ "description": "The name of the secret."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataLakeAnalyticsCatalogSecretCreateOrUpdateParameters"
+ },
+ "description": "The parameters required to modify the secret (name and password)"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -155,20 +159,22 @@
],
"responses": {
"200": {
- "description": "Successfully deleted the specified secret from the specified database."
+ "description": "Successfully updated the details of the specified secret in the specified database."
+ }
+ },
+ "x-ms-examples": {
+ "Modifies the specified secret for use with external data sources in the specified database": {
+ "$ref": "./examples/Catalog_UpdateSecret.json"
}
}
},
- "get": {
+ "delete": {
"tags": [
"Catalog"
],
+ "operationId": "Catalog_DeleteSecret",
"deprecated": true,
- "operationId": "Catalog_GetSecret",
- "description": "Gets the specified secret in the specified database. This is deprecated and will be removed in the next release. Please use GetCredential instead.",
- "x-ms-examples": {
- "Gets the specified secret in the specified database": { "$ref": "./examples/Adla_Catalog_GetSecret.json" }
- },
+ "description": "Deletes the specified secret in the specified database. This is deprecated and will be removed in the next release. Please use DeleteCredential instead.",
"parameters": [
{
"name": "databaseName",
@@ -182,7 +188,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the secret to get"
+ "description": "The name of the secret to delete"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -190,10 +196,12 @@
],
"responses": {
"200": {
- "description": "Successfully retrieved details of the specified secret in the specified database.",
- "schema": {
- "$ref": "#/definitions/USqlSecret"
- }
+ "description": "Successfully deleted the specified secret from the specified database."
+ }
+ },
+ "x-ms-examples": {
+ "Deletes the specified secret in the specified database": {
+ "$ref": "./examples/Catalog_DeleteSecret.json"
}
}
}
@@ -206,9 +214,6 @@
"deprecated": true,
"operationId": "Catalog_DeleteAllSecrets",
"description": "Deletes all secrets in the specified database. This is deprecated and will be removed in the next release. In the future, please only drop individual credentials using DeleteCredential",
- "x-ms-examples": {
- "Deletes all secrets in the specified database": { "$ref": "./examples/Adla_Catalog_DeleteAllSecrets.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -225,6 +230,11 @@
"200": {
"description": "Successfully deleted all secrets from the specified database."
}
+ },
+ "x-ms-examples": {
+ "Deletes all secrets in the specified database": {
+ "$ref": "./examples/Catalog_DeleteAllSecrets.json"
+ }
}
}
},
@@ -235,9 +245,6 @@
],
"operationId": "Catalog_CreateCredential",
"description": "Creates the specified credential for use with external data sources in the specified database.",
- "x-ms-examples": {
- "Creates the specified credential for use with external data sources in the specified database": { "$ref": "./examples/Adla_Catalog_CreateCredential.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -270,6 +277,50 @@
"200": {
"description": "Successfully created the credential within the specified database."
}
+ },
+ "x-ms-examples": {
+ "Creates the specified credential for use with external data sources in the specified database": {
+ "$ref": "./examples/Catalog_CreateCredential.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Catalog"
+ ],
+ "operationId": "Catalog_GetCredential",
+ "description": "Retrieves the specified credential from the Data Lake Analytics catalog.",
+ "parameters": [
+ {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the database containing the schema."
+ },
+ {
+ "name": "credentialName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the credential."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified credential (name only) from the specified database.",
+ "schema": {
+ "$ref": "#/definitions/USqlCredential"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Retrieves the specified credential from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetCredential.json"
+ }
}
},
"patch": {
@@ -278,9 +329,6 @@
],
"operationId": "Catalog_UpdateCredential",
"description": "Modifies the specified credential for use with external data sources in the specified database",
- "x-ms-examples": {
- "Modifies the specified credential for use with external data sources in the specified database": { "$ref": "./examples/Adla_Catalog_UpdateCredential.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -313,6 +361,11 @@
"200": {
"description": "Successfully updated the specified credential's password in the specified database"
}
+ },
+ "x-ms-examples": {
+ "Modifies the specified credential for use with external data sources in the specified database": {
+ "$ref": "./examples/Catalog_UpdateCredential.json"
+ }
}
},
"post": {
@@ -321,9 +374,6 @@
],
"operationId": "Catalog_DeleteCredential",
"description": "Deletes the specified credential in the specified database",
- "x-ms-examples": {
- "Deletes the specified credential in the specified database": { "$ref": "./examples/Adla_Catalog_DeleteCredential.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -364,42 +414,10 @@
"200": {
"description": "Successfully deleted the specified credential from the specified database."
}
- }
- },
- "get": {
- "tags": [
- "Catalog"
- ],
- "operationId": "Catalog_GetCredential",
- "description": "Retrieves the specified credential from the Data Lake Analytics catalog.",
+ },
"x-ms-examples": {
- "Retrieves the specified credential from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetCredential.json" }
- },
- "parameters": [
- {
- "name": "databaseName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the database containing the schema."
- },
- {
- "name": "credentialName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the credential."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the specified credential (name only) from the specified database.",
- "schema": {
- "$ref": "#/definitions/USqlCredential"
- }
+ "Deletes the specified credential in the specified database": {
+ "$ref": "./examples/Catalog_DeleteCredential.json"
}
}
}
@@ -411,9 +429,6 @@
],
"operationId": "Catalog_ListCredentials",
"description": "Retrieves the list of credentials from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of credentials from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListCredentials.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -480,6 +495,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of credentials from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListCredentials.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -493,9 +513,6 @@
],
"operationId": "Catalog_GetExternalDataSource",
"description": "Retrieves the specified external data source from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified external data source from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetExternalDataSource.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -522,6 +539,11 @@
"$ref": "#/definitions/USqlExternalDataSource"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified external data source from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetExternalDataSource.json"
+ }
}
}
},
@@ -532,9 +554,6 @@
],
"operationId": "Catalog_ListExternalDataSources",
"description": "Retrieves the list of external data sources from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of external data sources from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListExternalDataSources.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -567,7 +586,7 @@
"format": "int32",
"minimum": 1,
"description": "The number of items to skip over before returning elements. Optional."
- },
+ },
{
"name": "$select",
"in": "query",
@@ -601,6 +620,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of external data sources from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListExternalDataSources.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -614,9 +638,6 @@
],
"operationId": "Catalog_GetProcedure",
"description": "Retrieves the specified procedure from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified procedure from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetProcedure.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -650,6 +671,11 @@
"$ref": "#/definitions/USqlProcedure"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified procedure from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetProcedure.json"
+ }
}
}
},
@@ -660,9 +686,6 @@
],
"operationId": "Catalog_ListProcedures",
"description": "Retrieves the list of procedures from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of procedures from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListProcedures.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -736,6 +759,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of procedures from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListProcedures.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -749,9 +777,6 @@
],
"operationId": "Catalog_GetTable",
"description": "Retrieves the specified table from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified table from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetTable.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -785,6 +810,11 @@
"$ref": "#/definitions/USqlTable"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified table from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetTable.json"
+ }
}
}
},
@@ -795,9 +825,6 @@
],
"operationId": "Catalog_ListTables",
"description": "Retrieves the list of tables from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of tables from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTables.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -879,6 +906,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of tables from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTables.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -892,9 +924,6 @@
],
"operationId": "Catalog_ListTableStatisticsByDatabaseAndSchema",
"description": "Retrieves the list of all table statistics within the specified schema from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of all table statistics within the specified schema from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTableStatisticsByDatabaseAndSchema.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -968,6 +997,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of all table statistics within the specified schema from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTableStatisticsByDatabaseAndSchema.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -981,9 +1015,6 @@
],
"operationId": "Catalog_GetTableType",
"description": "Retrieves the specified table type from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified table type from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetTableType.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1017,6 +1048,11 @@
"$ref": "#/definitions/USqlTableType"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified table type from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetTableType.json"
+ }
}
}
},
@@ -1027,9 +1063,6 @@
],
"operationId": "Catalog_ListTableTypes",
"description": "Retrieves the list of table types from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of table types from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTableTypes.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1103,6 +1136,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of table types from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTableTypes.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -1116,9 +1154,6 @@
],
"operationId": "Catalog_GetPackage",
"description": "Retrieves the specified package from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified package from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetPackage.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1152,6 +1187,11 @@
"$ref": "#/definitions/USqlPackage"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified package from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetPackage.json"
+ }
}
}
},
@@ -1162,9 +1202,6 @@
],
"operationId": "Catalog_ListPackages",
"description": "Retrieves the list of packages from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of packages from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListPackages.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1238,6 +1275,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of packages from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListPackages.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -1251,9 +1293,6 @@
],
"operationId": "Catalog_GetView",
"description": "Retrieves the specified view from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified view from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetView.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1287,6 +1326,11 @@
"$ref": "#/definitions/USqlView"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified view from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetView.json"
+ }
}
}
},
@@ -1297,9 +1341,6 @@
],
"operationId": "Catalog_ListViews",
"description": "Retrieves the list of views from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of views from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListViews.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1373,6 +1414,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of views from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListViews.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -1386,9 +1432,6 @@
],
"operationId": "Catalog_GetTableStatistic",
"description": "Retrieves the specified table statistics from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified table statistics from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetTableStatistic.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1429,6 +1472,11 @@
"$ref": "#/definitions/USqlTableStatistics"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified table statistics from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetTableStatistic.json"
+ }
}
}
},
@@ -1439,9 +1487,6 @@
],
"operationId": "Catalog_ListTableStatistics",
"description": "Retrieves the list of table statistics from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of table statistics from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTableStatistics.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1522,6 +1567,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of table statistics from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTableStatistics.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -1535,9 +1585,6 @@
],
"operationId": "Catalog_GetTablePartition",
"description": "Retrieves the specified table partition from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified table partition from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetTablePartition.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1578,6 +1625,11 @@
"$ref": "#/definitions/USqlTablePartition"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified table partition from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetTablePartition.json"
+ }
}
}
},
@@ -1588,9 +1640,6 @@
],
"operationId": "Catalog_ListTablePartitions",
"description": "Retrieves the list of table partitions from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of table partitions from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTablePartitions.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1671,6 +1720,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of table partitions from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTablePartitions.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -1684,9 +1738,6 @@
],
"operationId": "Catalog_ListTypes",
"description": "Retrieves the list of types within the specified database and schema from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of types within the specified database and schema from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTypes.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1760,6 +1811,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of types within the specified database and schema from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTypes.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -1773,9 +1829,6 @@
],
"operationId": "Catalog_GetTableValuedFunction",
"description": "Retrieves the specified table valued function from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified table valued function from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetTableValuedFunction.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1809,6 +1862,11 @@
"$ref": "#/definitions/USqlTableValuedFunction"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified table valued function from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetTableValuedFunction.json"
+ }
}
}
},
@@ -1819,9 +1877,6 @@
],
"operationId": "Catalog_ListTableValuedFunctions",
"description": "Retrieves the list of table valued functions from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of table valued functions from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTableValuedFunctions.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1895,6 +1950,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of table valued functions from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTableValuedFunctions.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -1908,9 +1968,6 @@
],
"operationId": "Catalog_GetAssembly",
"description": "Retrieves the specified assembly from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified assembly from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetAssembly.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -1937,6 +1994,11 @@
"$ref": "#/definitions/USqlAssembly"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified assembly from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetAssembly.json"
+ }
}
}
},
@@ -1947,9 +2009,6 @@
],
"operationId": "Catalog_ListAssemblies",
"description": "Retrieves the list of assemblies from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of assemblies from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListAssemblies.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2016,6 +2075,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of assemblies from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListAssemblies.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -2029,9 +2093,6 @@
],
"operationId": "Catalog_GetSchema",
"description": "Retrieves the specified schema from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified schema from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetSchema.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2058,6 +2119,11 @@
"$ref": "#/definitions/USqlSchema"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified schema from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetSchema.json"
+ }
}
}
},
@@ -2068,9 +2134,6 @@
],
"operationId": "Catalog_ListSchemas",
"description": "Retrieves the list of schemas from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of schemas from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListSchemas.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2137,6 +2200,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of schemas from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListSchemas.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -2150,9 +2218,6 @@
],
"operationId": "Catalog_ListTableStatisticsByDatabase",
"description": "Retrieves the list of all statistics in a database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of all statistics in a database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTableStatisticsByDatabase.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2219,6 +2284,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of all statistics in a database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTableStatisticsByDatabase.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -2232,9 +2302,6 @@
],
"operationId": "Catalog_ListTablesByDatabase",
"description": "Retrieves the list of all tables in a database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of all tables in a database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTablesByDatabase.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2309,6 +2376,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of all tables in a database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTablesByDatabase.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -2322,9 +2394,6 @@
],
"operationId": "Catalog_ListTableValuedFunctionsByDatabase",
"description": "Retrieves the list of all table valued functions in a database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of all table valued functions in a database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListTableValuedFunctionsByDatabase.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2391,6 +2460,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of all table valued functions in a database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListTableValuedFunctionsByDatabase.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -2404,9 +2478,6 @@
],
"operationId": "Catalog_ListViewsByDatabase",
"description": "Retrieves the list of all views in a database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of all views in a database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListViewsByDatabase.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2473,6 +2544,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of all views in a database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListViewsByDatabase.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -2486,9 +2562,6 @@
],
"operationId": "Catalog_ListAclsByDatabase",
"description": "Retrieves the list of access control list (ACL) entries for the database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of access control list (ACL) entries for the database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListAclsByDatabase.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2553,11 +2626,16 @@
"schema": {
"$ref": "#/definitions/AclList"
}
- },
- "default": {
- "description": "404 - Not found."
}
},
+ "x-ms-examples": {
+ "Retrieves the list of access control list (ACL) entries for the database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListAclsByDatabase.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-odata": "#/definitions/Acl"
}
},
@@ -2568,9 +2646,6 @@
],
"operationId": "Catalog_ListAcls",
"description": "Retrieves the list of access control list (ACL) entries for the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of access control list (ACL) entries for the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListAcls.json" }
- },
"parameters": [
{
"name": "$filter",
@@ -2628,11 +2703,16 @@
"schema": {
"$ref": "#/definitions/AclList"
}
- },
- "default": {
- "description": "404 - Not found."
}
},
+ "x-ms-examples": {
+ "Retrieves the list of access control list (ACL) entries for the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListAcls.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-odata": "#/definitions/Acl"
}
},
@@ -2643,9 +2723,6 @@
],
"operationId": "Catalog_GetDatabase",
"description": "Retrieves the specified database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the specified database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GetDatabase.json" }
- },
"parameters": [
{
"name": "databaseName",
@@ -2665,6 +2742,11 @@
"$ref": "#/definitions/USqlDatabase"
}
}
+ },
+ "x-ms-examples": {
+ "Retrieves the specified database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GetDatabase.json"
+ }
}
}
},
@@ -2675,9 +2757,6 @@
],
"operationId": "Catalog_ListDatabases",
"description": "Retrieves the list of databases from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Retrieves the list of databases from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_ListDatabases.json" }
- },
"parameters": [
{
"name": "$filter",
@@ -2737,6 +2816,11 @@
}
}
},
+ "x-ms-examples": {
+ "Retrieves the list of databases from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_ListDatabases.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
@@ -2745,24 +2829,14 @@
}
},
"x-ms-paths": {
- "/catalog/usql/databases/{databaseName}/acl?op=GRANTACE": {
+ "/catalog/usql/acl?op=GRANTACE": {
"post": {
"tags": [
"Catalog"
],
- "operationId": "Catalog_GrantAclToDatabase",
- "description": "Grants an access control list (ACL) entry to the database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Grants an access control list (ACL) entry to the database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GrantAclToDatabase.json" }
- },
+ "operationId": "Catalog_GrantAcl",
+ "description": "Grants an access control list (ACL) entry to the Data Lake Analytics catalog.",
"parameters": [
- {
- "name": "databaseName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the database."
- },
{
"name": "parameters",
"in": "body",
@@ -2770,7 +2844,7 @@
"schema": {
"$ref": "#/definitions/AclCreateOrUpdateParameters"
},
- "description": "Parameters supplied to create or update an access control list (ACL) entry for a database."
+ "description": "Parameters supplied to create or update an access control list (ACL) entry for a Data Lake Analytics catalog."
},
{
"name": "op",
@@ -2788,24 +2862,23 @@
],
"responses": {
"200": {
- "description": "Successfully granted the access control list (ACL) entry to the specified database."
- },
- "default": {
- "description": "404 - Not found."
+ "description": "Successfully granted the access control list (ACL) entry to the Data Lake Analytics catalog."
+ }
+ },
+ "x-ms-examples": {
+ "Grants an access control list (ACL) entry to the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GrantAcl.json"
}
}
}
},
- "/catalog/usql/databases/{databaseName}/acl?op=REVOKEACE": {
+ "/catalog/usql/databases/{databaseName}/acl?op=GRANTACE": {
"post": {
"tags": [
"Catalog"
],
- "operationId": "Catalog_RevokeAclFromDatabase",
- "description": "Revokes an access control list (ACL) entry for the database from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Revokes an access control list (ACL) entry for the database from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_RevokeAclFromDatabase.json" }
- },
+ "operationId": "Catalog_GrantAclToDatabase",
+ "description": "Grants an access control list (ACL) entry to the database from the Data Lake Analytics catalog.",
"parameters": [
{
"name": "databaseName",
@@ -2819,9 +2892,9 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/AclDeleteParameters"
+ "$ref": "#/definitions/AclCreateOrUpdateParameters"
},
- "description": "Parameters supplied to delete an access control list (ACL) entry for a database."
+ "description": "Parameters supplied to create or update an access control list (ACL) entry for a database."
},
{
"name": "op",
@@ -2830,7 +2903,7 @@
"type": "string",
"description": "The constant value for the operation.",
"enum": [
- "REVOKEACE"
+ "GRANTACE"
]
},
{
@@ -2839,33 +2912,32 @@
],
"responses": {
"200": {
- "description": "Successfully revoked the access control list (ACL) entry from the specified database."
- },
- "default": {
- "description": "404 - Not found."
+ "description": "Successfully granted the access control list (ACL) entry to the specified database."
+ }
+ },
+ "x-ms-examples": {
+ "Grants an access control list (ACL) entry to the database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_GrantAclToDatabase.json"
}
}
}
},
- "/catalog/usql/acl?op=GRANTACE": {
+ "/catalog/usql/acl?op=REVOKEACE": {
"post": {
"tags": [
"Catalog"
],
- "operationId": "Catalog_GrantAcl",
- "description": "Grants an access control list (ACL) entry to the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Grants an access control list (ACL) entry to the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_GrantAcl.json" }
- },
+ "operationId": "Catalog_RevokeAcl",
+ "description": "Revokes an access control list (ACL) entry from the Data Lake Analytics catalog.",
"parameters": [
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/AclCreateOrUpdateParameters"
+ "$ref": "#/definitions/AclDeleteParameters"
},
- "description": "Parameters supplied to create or update an access control list (ACL) entry for a Data Lake Analytics catalog."
+ "description": "Parameters supplied to delete an access control list (ACL) entry from a Data Lake Analytics catalog."
},
{
"name": "op",
@@ -2874,7 +2946,7 @@
"type": "string",
"description": "The constant value for the operation.",
"enum": [
- "GRANTACE"
+ "REVOKEACE"
]
},
{
@@ -2883,25 +2955,31 @@
],
"responses": {
"200": {
- "description": "Successfully granted the access control list (ACL) entry to the Data Lake Analytics catalog."
- },
- "default": {
- "description": "404 - Not found."
+ "description": "Successfully revoked the access control list (ACL) entry from the Data Lake Analytics catalog."
+ }
+ },
+ "x-ms-examples": {
+ "Revokes an access control list (ACL) entry from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_RevokeAcl.json"
}
}
}
},
- "/catalog/usql/acl?op=REVOKEACE": {
+ "/catalog/usql/databases/{databaseName}/acl?op=REVOKEACE": {
"post": {
"tags": [
"Catalog"
],
- "operationId": "Catalog_RevokeAcl",
- "description": "Revokes an access control list (ACL) entry from the Data Lake Analytics catalog.",
- "x-ms-examples": {
- "Revokes an access control list (ACL) entry from the Data Lake Analytics catalog": { "$ref": "./examples/Adla_Catalog_RevokeAcl.json" }
- },
+ "operationId": "Catalog_RevokeAclFromDatabase",
+ "description": "Revokes an access control list (ACL) entry for the database from the Data Lake Analytics catalog.",
"parameters": [
+ {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the database."
+ },
{
"name": "parameters",
"in": "body",
@@ -2909,7 +2987,7 @@
"schema": {
"$ref": "#/definitions/AclDeleteParameters"
},
- "description": "Parameters supplied to delete an access control list (ACL) entry from a Data Lake Analytics catalog."
+ "description": "Parameters supplied to delete an access control list (ACL) entry for a database."
},
{
"name": "op",
@@ -2927,10 +3005,12 @@
],
"responses": {
"200": {
- "description": "Successfully revoked the access control list (ACL) entry from the Data Lake Analytics catalog."
- },
- "default": {
- "description": "404 - Not found."
+ "description": "Successfully revoked the access control list (ACL) entry from the specified database."
+ }
+ },
+ "x-ms-examples": {
+ "Revokes an access control list (ACL) entry for the database from the Data Lake Analytics catalog": {
+ "$ref": "./examples/Catalog_RevokeAclFromDatabase.json"
}
}
}
@@ -3059,6 +3139,11 @@
"description": "A Data Lake Analytics catalog access control list (ACL) entry."
},
"AclList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CatalogItemList"
+ }
+ ],
"properties": {
"value": {
"type": "array",
@@ -4167,7 +4252,7 @@
"type": "string",
"description": "the link to the next page of results."
}
- },
+ },
"description": "A Data Lake Analytics catalog item list."
}
},
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_CreateCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_CreateCredential.json
deleted file mode 100644
index 5f7a799e393c..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_CreateCredential.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "credentialName": "test_credential_name",
- "parameters": {
- "password": "test_password",
- "uri": "test_host:8000",
- "userId": "test_user_id"
- }
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_CreateSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_CreateSecret.json
deleted file mode 100644
index 9c0c34df3333..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_CreateSecret.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "secretName": "test_secret_name",
- "parameters": {
- "password": "test_password",
- "uri": "test_host:8000"
- }
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteAllSecrets.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteAllSecrets.json
deleted file mode 100644
index 800ceb7b0eab..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteAllSecrets.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteCredential.json
deleted file mode 100644
index f5d979cf931f..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteCredential.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "credentialName": "test_credential_name",
- "parameters": {
- "password": "test_password"
- },
- "cascade": false
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteSecret.json
deleted file mode 100644
index c8b036e84758..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_DeleteSecret.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "secretName": "test_secret_name"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetAssembly.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetAssembly.json
deleted file mode 100644
index 0b5e529a94ae..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetAssembly.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "assemblyName": "test_assembly_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "assemblyName": "test_assembly_name",
- "clrName": "test_clr_name",
- "isVisible": false,
- "isUserDefined": false,
- "files": [{
- "type": "Assembly",
- "originalPath": "test_original_path",
- "contentPath": "test_content_path"
- }],
- "dependencies": [{
- "entityId": {
- "name": {
- "firstPart": "test_first_part",
- "secondPart": "test_second_part",
- "thirdPart": "test_third_part",
- "server": "test_server"
- },
- "version":"34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
- }
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetCredential.json
deleted file mode 100644
index 699dccda4792..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetCredential.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "credentialName": "test_credential_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "credentialName": "test_credential_name"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetDatabase.json
deleted file mode 100644
index 8db236962224..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetDatabase.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetExternalDataSource.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetExternalDataSource.json
deleted file mode 100644
index 96712f19b246..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetExternalDataSource.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "externalDataSourceName": "test_external_data_source_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "externalDataSourceName": "test_external_data_source_name",
- "provider": "test_provider",
- "providerString": "test_provider_string",
- "pushdownTypes": [
- "test_pushdown_type"
- ]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetPackage.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetPackage.json
deleted file mode 100644
index 6f81991217d6..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetPackage.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "packageName": "test_package_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "packageName": "test_package_name",
- "definition": "test_definition"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetProcedure.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetProcedure.json
deleted file mode 100644
index 9d8c3c9a1017..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetProcedure.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "procedureName": "test_procedure_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "procName": "test_proc_name",
- "definition": "test_definition"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetSchema.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetSchema.json
deleted file mode 100644
index cc1d3613550c..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetSchema.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetSecret.json
deleted file mode 100644
index 21b4b0a26c2c..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetSecret.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "secretName": "test_secret_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "secretName": "test_secret_name",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "uri": "test_host:8000",
- "password": "test_password"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTable.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTable.json
deleted file mode 100644
index 0e10a9940d34..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTable.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "columnList": [{
- "name": "test_column_name",
- "type": "test_type"
- }],
- "indexList": [{
- "name": "test_index_name",
- "indexKeys": [{
- "name": "test_index_key",
- "descending": false
- }],
- "columns": [
- "test_column"
- ],
- "distributionInfo": {
- "type": 1,
- "keys": [{
- "name": "test_key",
- "descending": false
- }],
- "count": 1,
- "dynamicCount": 1
- },
- "partitionFunction": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "partitionKeyList": [
- "test_partition_key"
- ],
- "streamNames": [
- "test_stream_name"
- ],
- "isColumnstore": false,
- "indexId": 1,
- "isUnique": false
- }],
- "partitionKeyList":[
- "test_partition_key"
- ],
- "externalTable": {
- "tableName":"test_table_name",
- "dataSource": {
- "name": {
- "firstPart": "test_first_part",
- "secondPart": "test_second_part",
- "thirdPart": "test_third_part",
- "server": "test_server"
- },
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
- }
- },
- "distributionInfo": {
- "type": 1,
- "keys": [{
- "name": "test_key",
- "descending": false
- }],
- "count": 1,
- "dynamicCount": 1
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTablePartition.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTablePartition.json
deleted file mode 100644
index 3706309c1876..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTablePartition.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "partitionName": "test_partition_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "partitionName": "test_partition_name",
- "parentName": "test_parent_name",
- "indexId": 1,
- "label": [
- "test_label_1",
- "test_label_2"
- ],
- "createDate": "2017-04-14T13:21:56.6819037-07:00"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableStatistic.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableStatistic.json
deleted file mode 100644
index 81fdab970b35..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableStatistic.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "statisticsName": "test_statistics_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "statisticsName": "test_statistics_name",
- "userStatName": "test_user_stat_name",
- "statDataPath": "test_stat_data_path",
- "createTime": "2017-04-14T13:21:56.6819037-07:00",
- "updateTime": "2017-04-14T13:21:56.6819037-07:00",
- "isUserCreated": false,
- "isAutoCreated": false,
- "hasFilter": false,
- "filterDefinition": "test_filter_definition",
- "colNames": [
- "test_column_name_1",
- "test_column_name_2"
- ]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableType.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableType.json
deleted file mode 100644
index 282cdd217693..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableType.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableTypeName": "test_table_type_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "typeName": "test_type_name",
- "typeFamily": "test_type_family",
- "cSharpName": "test_csharp_name",
- "fullCSharpName": "test_full_csharp_name",
- "systemTypeId": 1,
- "userTypeId": 2,
- "schemaId": 3,
- "principalId": 4,
- "isNullable": false,
- "isUserDefined": false,
- "isAssemblyType": false,
- "isTableType": false,
- "isComplexType": false,
- "columns":[{
- "name": "test_column_name",
- "type": "test_column_type"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableValuedFunction.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableValuedFunction.json
deleted file mode 100644
index 08b276990972..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetTableValuedFunction.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableValuedFunctionName": "test_table_valued_function_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tvfName": "test_tvf_name",
- "definition": "test_definition"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetView.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetView.json
deleted file mode 100644
index 6ea6a132983c..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GetView.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "viewName": "test_view_name"
- },
- "responses": {
- "200": {
- "body": {
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "viewName": "test_view_name",
- "definition": "test_definition"
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GrantAcl.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GrantAcl.json
deleted file mode 100644
index c56ecbecabe6..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GrantAcl.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "parameters": {
- "aceType": "User",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "permission": "Use"
- },
- "op": "GRANTACE"
- },
- "responses": {
- "200": {
- },
- "404": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GrantAclToDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GrantAclToDatabase.json
deleted file mode 100644
index 82de68054929..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_GrantAclToDatabase.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "parameters": {
- "aceType": "User",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "permission": "Use"
- },
- "op": "GRANTACE"
- },
- "responses": {
- "200": {
- },
- "404": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAcls.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAcls.json
deleted file mode 100644
index f5d3fd166e9c..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAcls.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "value": [{
- "aceType": "User",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "permission": "Use"
- }]
- }
- },
- "404": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAclsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAclsByDatabase.json
deleted file mode 100644
index 010b3c84fbf9..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAclsByDatabase.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "value": [{
- "aceType": "User",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "permission": "Use"
- }]
- }
- },
- "404": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAssemblies.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAssemblies.json
deleted file mode 100644
index 2c2b8157636f..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListAssemblies.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "assemblyClrName": "test_assembly_clr_name",
- "clrName": "test_clr_name"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListCredentials.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListCredentials.json
deleted file mode 100644
index 3e6f3f286aec..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListCredentials.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "credentialName": "test_credential_name"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListDatabases.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListDatabases.json
deleted file mode 100644
index ec44bcd05198..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListDatabases.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListExternalDataSources.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListExternalDataSources.json
deleted file mode 100644
index 1cec59184984..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListExternalDataSources.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "externalDataSourceName": "test_external_data_source_name",
- "provider": "test_provider",
- "providerString": "test_provider_string",
- "pushdownTypes": [
- "test_pushdown_type"
- ]
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListPackages.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListPackages.json
deleted file mode 100644
index 15ecaf825816..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListPackages.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "packageName": "test_package_name",
- "definition": "test_definition"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListProcedures.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListProcedures.json
deleted file mode 100644
index 84b235cb20c2..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListProcedures.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "procName": "test_proc_name",
- "definition": "test_definition"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListSchemas.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListSchemas.json
deleted file mode 100644
index ce7a4eb41ee4..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListSchemas.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTablePartitions.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTablePartitions.json
deleted file mode 100644
index 0fe70d134cbb..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTablePartitions.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "partitionName": "test_partition_name",
- "parentName": "test_parent_name",
- "indexId": 1,
- "label": [
- "test_label_1",
- "test_label_2"
- ],
- "createDate": "2017-04-14T13:21:56.6819037-07:00"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatistics.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatistics.json
deleted file mode 100644
index e33c7db34ad6..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatistics.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_view_name",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "statisticsName": "test_statistics_name",
- "userStatName": "test_user_stat_name",
- "statDataPath": "test_stat_data_path",
- "createTime": "2017-04-14T13:21:56.6819037-07:00",
- "updateTime": "2017-04-14T13:21:56.6819037-07:00",
- "isUserCreated": false,
- "isAutoCreated": false,
- "hasFilter": false,
- "filterDefinition": "test_filter_definition",
- "colNames": [
- "test_column_name_1",
- "test_column_name_2"
- ]
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatisticsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatisticsByDatabase.json
deleted file mode 100644
index 08f3395f5c8a..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatisticsByDatabase.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "statisticsName": "test_statistics_name",
- "userStatName": "test_user_stat_name",
- "statDataPath": "test_stat_data_path",
- "createTime": "2017-04-14T13:21:56.6819037-07:00",
- "updateTime": "2017-04-14T13:21:56.6819037-07:00",
- "isUserCreated": false,
- "isAutoCreated": false,
- "hasFilter": false,
- "filterDefinition": "test_filter_definition",
- "colNames": [
- "test_column_name_1",
- "test_column_name_2"
- ]
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatisticsByDatabaseAndSchema.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatisticsByDatabaseAndSchema.json
deleted file mode 100644
index fec32cf39592..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableStatisticsByDatabaseAndSchema.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "statisticsName": "test_statistics_name",
- "userStatName": "test_user_stat_name",
- "statDataPath": "test_stat_data_path",
- "createTime": "2017-04-14T13:21:56.6819037-07:00",
- "updateTime": "2017-04-14T13:21:56.6819037-07:00",
- "isUserCreated": false,
- "isAutoCreated": false,
- "hasFilter": false,
- "filterDefinition": "test_filter_definition",
- "colNames": [
- "test_column_name_1",
- "test_column_name_2"
- ]
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableTypes.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableTypes.json
deleted file mode 100644
index 4356b14e7dae..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableTypes.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "typeName": "test_type_name",
- "typeFamily": "test_type_family",
- "cSharpName": "test_csharp_name",
- "fullCSharpName": "test_full_csharp_name",
- "systemTypeId": 1,
- "userTypeId": 2,
- "schemaId": 3,
- "principalId": 4,
- "isNullable": false,
- "isUserDefined": false,
- "isAssemblyType": false,
- "isTableType": false,
- "isComplexType": false,
- "columns":[{
- "name": "test_column_name",
- "type": "test_column_type"
- }]
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableValuedFunctions.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableValuedFunctions.json
deleted file mode 100644
index 96dc917e99d2..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableValuedFunctions.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tvfName": "test_tvf_name",
- "definition": "test_definition"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableValuedFunctionsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableValuedFunctionsByDatabase.json
deleted file mode 100644
index 45a63af60335..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTableValuedFunctionsByDatabase.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tvfName": "test_tvf_name",
- "definition": "test_definition"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTables.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTables.json
deleted file mode 100644
index 3cd051c77802..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTables.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false,
- "basic": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "columnList": [{
- "name": "test_column_name",
- "type": "test_type"
- }],
- "indexList": [{
- "name": "test_index_name",
- "indexKeys": [{
- "name": "test_index_key",
- "descending": false
- }],
- "columns": [
- "test_column"
- ],
- "distributionInfo": {
- "type": 1,
- "keys": [{
- "name": "test_key",
- "descending": false
- }],
- "count": 1,
- "dynamicCount": 1
- },
- "partitionFunction": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "partitionKeyList": [
- "test_partition_key"
- ],
- "streamNames": [
- "test_stream_name"
- ],
- "isColumnstore": false,
- "indexId": 1,
- "isUnique": false
- }],
- "partitionKeyList":[
- "test_partition_key"
- ],
- "externalTable": {
- "tableName":"test_table_name",
- "dataSource": {
- "name": {
- "firstPart": "test_first_part",
- "secondPart": "test_second_part",
- "thirdPart": "test_third_part",
- "server": "test_server"
- },
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
- }
- },
- "distributionInfo": {
- "type": 1,
- "keys": [{
- "name": "test_key",
- "descending": false
- }],
- "count": 1,
- "dynamicCount": 1
- }
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTablesByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTablesByDatabase.json
deleted file mode 100644
index 6a6c22f86962..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTablesByDatabase.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false,
- "basic": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "tableName": "test_table_name",
- "columnList": [{
- "name": "test_column_name",
- "type": "test_type"
- }],
- "indexList": [{
- "name": "test_index_name",
- "indexKeys": [{
- "name": "test_index_key",
- "descending": false
- }],
- "columns": [
- "test_column"
- ],
- "distributionInfo": {
- "type": 1,
- "keys": [{
- "name": "test_key",
- "descending": false
- }],
- "count": 1,
- "dynamicCount": 1
- },
- "partitionFunction": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "partitionKeyList": [
- "test_partition_key"
- ],
- "streamNames": [
- "test_stream_name"
- ],
- "isColumnstore": false,
- "indexId": 1,
- "isUnique": false
- }],
- "partitionKeyList":[
- "test_partition_key"
- ],
- "externalTable": {
- "tableName":"test_table_name",
- "dataSource": {
- "name": {
- "firstPart": "test_first_part",
- "secondPart": "test_second_part",
- "thirdPart": "test_third_part",
- "server": "test_server"
- },
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
- }
- },
- "distributionInfo": {
- "type": 1,
- "keys": [{
- "name": "test_key",
- "descending": false
- }],
- "count": 1,
- "dynamicCount": 1
- }
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTypes.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTypes.json
deleted file mode 100644
index 9a154140aaf0..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListTypes.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value": [{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "typeName": "test_type_name",
- "typeFamily": "test_type_family",
- "cSharpName": "test_csharp_name",
- "fullCSharpName": "test_full_csharp_name",
- "systemTypeId": 1,
- "userTypeId": 2,
- "schemaId": 3,
- "principalId": 4,
- "isNullable": false,
- "isUserDefined": false,
- "isAssemblyType": false,
- "isTableType": false,
- "isComplexType": false
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListViews.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListViews.json
deleted file mode 100644
index b16f427f3c13..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListViews.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "schemaName": "dbo",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "viewName": "test_view_name",
- "definition": "test_definition"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListViewsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListViewsByDatabase.json
deleted file mode 100644
index 7f2ddb2a2499..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_ListViewsByDatabase.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
- "value":[{
- "computeAccountName": "contosoadla",
- "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "databaseName": "master",
- "schemaName": "dbo",
- "viewName": "test_view_name",
- "definition": "test_definition"
- }]
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_RevokeAcl.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_RevokeAcl.json
deleted file mode 100644
index b4f2b0575fe8..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_RevokeAcl.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "parameters": {
- "aceType": "User",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
- },
- "op": "REVOKEACE"
- },
- "responses": {
- "200": {
- },
- "404": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_RevokeAclFromDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_RevokeAclFromDatabase.json
deleted file mode 100644
index 5beadb5e3530..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_RevokeAclFromDatabase.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "parameters": {
- "aceType": "User",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
- },
- "op": "REVOKEACE"
- },
- "responses": {
- "200": {
- },
- "404": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_UpdateCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_UpdateCredential.json
deleted file mode 100644
index 50aac3065f5e..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_UpdateCredential.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "credentialName": "test_credential_name",
- "parameters": {
- "password": "test_password",
- "newPassword": "test_new_password",
- "uri": "test_host:8000",
- "userId": "test_user_id"
- }
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_UpdateSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_UpdateSecret.json
deleted file mode 100644
index 9c0c34df3333..000000000000
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Catalog_UpdateSecret.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "databaseName": "master",
- "secretName": "test_secret_name",
- "parameters": {
- "password": "test_password",
- "uri": "test_host:8000"
- }
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_CreateCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_CreateCredential.json
new file mode 100644
index 000000000000..3ecec8d20ed9
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_CreateCredential.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "credentialName": "test_credential_name",
+ "parameters": {
+ "password": "test_password",
+ "uri": "test_host:8000",
+ "userId": "test_user_id"
+ }
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_CreateSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_CreateSecret.json
new file mode 100644
index 000000000000..610d09b19144
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_CreateSecret.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "secretName": "test_secret_name",
+ "parameters": {
+ "password": "test_password",
+ "uri": "test_host:8000"
+ }
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteAllSecrets.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteAllSecrets.json
new file mode 100644
index 000000000000..9e8b91296054
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteAllSecrets.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteCredential.json
new file mode 100644
index 000000000000..735406634a0c
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteCredential.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "credentialName": "test_credential_name",
+ "parameters": {
+ "password": "test_password"
+ },
+ "cascade": false
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteSecret.json
new file mode 100644
index 000000000000..62d68222eee3
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_DeleteSecret.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "secretName": "test_secret_name"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetAssembly.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetAssembly.json
new file mode 100644
index 000000000000..821a7d192e6e
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetAssembly.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "assemblyName": "test_assembly_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "assemblyName": "test_assembly_name",
+ "clrName": "test_clr_name",
+ "isVisible": false,
+ "isUserDefined": false,
+ "files": [{
+ "type": "Assembly",
+ "originalPath": "test_original_path",
+ "contentPath": "test_content_path"
+ }],
+ "dependencies": [{
+ "entityId": {
+ "name": {
+ "firstPart": "test_first_part",
+ "secondPart": "test_second_part",
+ "thirdPart": "test_third_part",
+ "server": "test_server"
+ },
+ "version":"34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ }
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetCredential.json
new file mode 100644
index 000000000000..ed310d3c0249
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetCredential.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "credentialName": "test_credential_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "credentialName": "test_credential_name"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetDatabase.json
new file mode 100644
index 000000000000..ae7ce0caba76
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetDatabase.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetExternalDataSource.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetExternalDataSource.json
new file mode 100644
index 000000000000..0109800c719a
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetExternalDataSource.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "externalDataSourceName": "test_external_data_source_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "externalDataSourceName": "test_external_data_source_name",
+ "provider": "test_provider",
+ "providerString": "test_provider_string",
+ "pushdownTypes": [
+ "test_pushdown_type"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetPackage.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetPackage.json
new file mode 100644
index 000000000000..fb123d4c667d
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetPackage.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "packageName": "test_package_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "packageName": "test_package_name",
+ "definition": "test_definition"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetProcedure.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetProcedure.json
new file mode 100644
index 000000000000..1c4339bbc95d
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetProcedure.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "procedureName": "test_procedure_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "procName": "test_proc_name",
+ "definition": "test_definition"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetSchema.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetSchema.json
new file mode 100644
index 000000000000..66c62125e3e9
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetSchema.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetSecret.json
new file mode 100644
index 000000000000..454a4557f4aa
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetSecret.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "secretName": "test_secret_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "secretName": "test_secret_name",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "uri": "test_host:8000",
+ "password": "test_password"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTable.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTable.json
new file mode 100644
index 000000000000..3914fa94a342
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTable.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "columnList": [{
+ "name": "test_column_name",
+ "type": "test_type"
+ }],
+ "indexList": [{
+ "name": "test_index_name",
+ "indexKeys": [{
+ "name": "test_index_key",
+ "descending": false
+ }],
+ "columns": [
+ "test_column"
+ ],
+ "distributionInfo": {
+ "type": 1,
+ "keys": [{
+ "name": "test_key",
+ "descending": false
+ }],
+ "count": 1,
+ "dynamicCount": 1
+ },
+ "partitionFunction": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
+ "partitionKeyList": [
+ "test_partition_key"
+ ],
+ "streamNames": [
+ "test_stream_name"
+ ],
+ "isColumnstore": false,
+ "indexId": 1,
+ "isUnique": false
+ }],
+ "partitionKeyList":[
+ "test_partition_key"
+ ],
+ "externalTable": {
+ "tableName":"test_table_name",
+ "dataSource": {
+ "name": {
+ "firstPart": "test_first_part",
+ "secondPart": "test_second_part",
+ "thirdPart": "test_third_part",
+ "server": "test_server"
+ },
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ }
+ },
+ "distributionInfo": {
+ "type": 1,
+ "keys": [{
+ "name": "test_key",
+ "descending": false
+ }],
+ "count": 1,
+ "dynamicCount": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTablePartition.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTablePartition.json
new file mode 100644
index 000000000000..e367e0e3d105
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTablePartition.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "partitionName": "test_partition_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "partitionName": "test_partition_name",
+ "parentName": "test_parent_name",
+ "indexId": 1,
+ "label": [
+ "test_label_1",
+ "test_label_2"
+ ],
+ "createDate": "2017-04-14T13:21:56.6819037-07:00"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableStatistic.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableStatistic.json
new file mode 100644
index 000000000000..0b41a3b773e2
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableStatistic.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "statisticsName": "test_statistics_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "statisticsName": "test_statistics_name",
+ "userStatName": "test_user_stat_name",
+ "statDataPath": "test_stat_data_path",
+ "createTime": "2017-04-14T13:21:56.6819037-07:00",
+ "updateTime": "2017-04-14T13:21:56.6819037-07:00",
+ "isUserCreated": false,
+ "isAutoCreated": false,
+ "hasFilter": false,
+ "filterDefinition": "test_filter_definition",
+ "colNames": [
+ "test_column_name_1",
+ "test_column_name_2"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableType.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableType.json
new file mode 100644
index 000000000000..22b244d4c67c
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableType.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableTypeName": "test_table_type_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "typeName": "test_type_name",
+ "typeFamily": "test_type_family",
+ "cSharpName": "test_csharp_name",
+ "fullCSharpName": "test_full_csharp_name",
+ "systemTypeId": 1,
+ "userTypeId": 2,
+ "schemaId": 3,
+ "principalId": 4,
+ "isNullable": false,
+ "isUserDefined": false,
+ "isAssemblyType": false,
+ "isTableType": false,
+ "isComplexType": false,
+ "columns":[{
+ "name": "test_column_name",
+ "type": "test_column_type"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableValuedFunction.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableValuedFunction.json
new file mode 100644
index 000000000000..e50c8a3eeb7f
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetTableValuedFunction.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableValuedFunctionName": "test_table_valued_function_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tvfName": "test_tvf_name",
+ "definition": "test_definition"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetView.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetView.json
new file mode 100644
index 000000000000..d8e521763c0d
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GetView.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "viewName": "test_view_name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "viewName": "test_view_name",
+ "definition": "test_definition"
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GrantAcl.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GrantAcl.json
new file mode 100644
index 000000000000..527eab876111
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GrantAcl.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "parameters": {
+ "aceType": "User",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "permission": "Use"
+ },
+ "op": "GRANTACE"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GrantAclToDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GrantAclToDatabase.json
new file mode 100644
index 000000000000..e1161b4d68b3
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_GrantAclToDatabase.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "parameters": {
+ "aceType": "User",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "permission": "Use"
+ },
+ "op": "GRANTACE"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAcls.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAcls.json
new file mode 100644
index 000000000000..3520a5c8814c
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAcls.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "aceType": "User",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "permission": "Use"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAclsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAclsByDatabase.json
new file mode 100644
index 000000000000..ad3a6f9e928b
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAclsByDatabase.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "aceType": "User",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "permission": "Use"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAssemblies.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAssemblies.json
new file mode 100644
index 000000000000..f29786e3e431
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListAssemblies.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "assemblyClrName": "test_assembly_clr_name",
+ "clrName": "test_clr_name"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListCredentials.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListCredentials.json
new file mode 100644
index 000000000000..3666ea447370
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListCredentials.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "credentialName": "test_credential_name"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListDatabases.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListDatabases.json
new file mode 100644
index 000000000000..8afb3c82c79e
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListDatabases.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListExternalDataSources.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListExternalDataSources.json
new file mode 100644
index 000000000000..cfff2b00bd17
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListExternalDataSources.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "externalDataSourceName": "test_external_data_source_name",
+ "provider": "test_provider",
+ "providerString": "test_provider_string",
+ "pushdownTypes": [
+ "test_pushdown_type"
+ ]
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListPackages.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListPackages.json
new file mode 100644
index 000000000000..db0b0831a2d3
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListPackages.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "packageName": "test_package_name",
+ "definition": "test_definition"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListProcedures.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListProcedures.json
new file mode 100644
index 000000000000..63711b33ff73
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListProcedures.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "procName": "test_proc_name",
+ "definition": "test_definition"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListSchemas.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListSchemas.json
new file mode 100644
index 000000000000..4e7662b58658
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListSchemas.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTablePartitions.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTablePartitions.json
new file mode 100644
index 000000000000..bd2d66de562a
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTablePartitions.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "partitionName": "test_partition_name",
+ "parentName": "test_parent_name",
+ "indexId": 1,
+ "label": [
+ "test_label_1",
+ "test_label_2"
+ ],
+ "createDate": "2017-04-14T13:21:56.6819037-07:00"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatistics.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatistics.json
new file mode 100644
index 000000000000..acd9670cb21e
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatistics.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_view_name",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "statisticsName": "test_statistics_name",
+ "userStatName": "test_user_stat_name",
+ "statDataPath": "test_stat_data_path",
+ "createTime": "2017-04-14T13:21:56.6819037-07:00",
+ "updateTime": "2017-04-14T13:21:56.6819037-07:00",
+ "isUserCreated": false,
+ "isAutoCreated": false,
+ "hasFilter": false,
+ "filterDefinition": "test_filter_definition",
+ "colNames": [
+ "test_column_name_1",
+ "test_column_name_2"
+ ]
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatisticsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatisticsByDatabase.json
new file mode 100644
index 000000000000..4b61e4daafba
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatisticsByDatabase.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "statisticsName": "test_statistics_name",
+ "userStatName": "test_user_stat_name",
+ "statDataPath": "test_stat_data_path",
+ "createTime": "2017-04-14T13:21:56.6819037-07:00",
+ "updateTime": "2017-04-14T13:21:56.6819037-07:00",
+ "isUserCreated": false,
+ "isAutoCreated": false,
+ "hasFilter": false,
+ "filterDefinition": "test_filter_definition",
+ "colNames": [
+ "test_column_name_1",
+ "test_column_name_2"
+ ]
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatisticsByDatabaseAndSchema.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatisticsByDatabaseAndSchema.json
new file mode 100644
index 000000000000..5bc1acc5e772
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableStatisticsByDatabaseAndSchema.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "statisticsName": "test_statistics_name",
+ "userStatName": "test_user_stat_name",
+ "statDataPath": "test_stat_data_path",
+ "createTime": "2017-04-14T13:21:56.6819037-07:00",
+ "updateTime": "2017-04-14T13:21:56.6819037-07:00",
+ "isUserCreated": false,
+ "isAutoCreated": false,
+ "hasFilter": false,
+ "filterDefinition": "test_filter_definition",
+ "colNames": [
+ "test_column_name_1",
+ "test_column_name_2"
+ ]
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableTypes.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableTypes.json
new file mode 100644
index 000000000000..d6320995ae46
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableTypes.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "typeName": "test_type_name",
+ "typeFamily": "test_type_family",
+ "cSharpName": "test_csharp_name",
+ "fullCSharpName": "test_full_csharp_name",
+ "systemTypeId": 1,
+ "userTypeId": 2,
+ "schemaId": 3,
+ "principalId": 4,
+ "isNullable": false,
+ "isUserDefined": false,
+ "isAssemblyType": false,
+ "isTableType": false,
+ "isComplexType": false,
+ "columns":[{
+ "name": "test_column_name",
+ "type": "test_column_type"
+ }]
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableValuedFunctions.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableValuedFunctions.json
new file mode 100644
index 000000000000..9a2cbc27567c
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableValuedFunctions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tvfName": "test_tvf_name",
+ "definition": "test_definition"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableValuedFunctionsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableValuedFunctionsByDatabase.json
new file mode 100644
index 000000000000..cc92fbd51b46
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableValuedFunctionsByDatabase.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tvfName": "test_tvf_name",
+ "definition": "test_definition"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTables.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTables.json
new file mode 100644
index 000000000000..8b09461b6b9e
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTables.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false,
+ "basic": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "columnList": [{
+ "name": "test_column_name",
+ "type": "test_type"
+ }],
+ "indexList": [{
+ "name": "test_index_name",
+ "indexKeys": [{
+ "name": "test_index_key",
+ "descending": false
+ }],
+ "columns": [
+ "test_column"
+ ],
+ "distributionInfo": {
+ "type": 1,
+ "keys": [{
+ "name": "test_key",
+ "descending": false
+ }],
+ "count": 1,
+ "dynamicCount": 1
+ },
+ "partitionFunction": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
+ "partitionKeyList": [
+ "test_partition_key"
+ ],
+ "streamNames": [
+ "test_stream_name"
+ ],
+ "isColumnstore": false,
+ "indexId": 1,
+ "isUnique": false
+ }],
+ "partitionKeyList":[
+ "test_partition_key"
+ ],
+ "externalTable": {
+ "tableName":"test_table_name",
+ "dataSource": {
+ "name": {
+ "firstPart": "test_first_part",
+ "secondPart": "test_second_part",
+ "thirdPart": "test_third_part",
+ "server": "test_server"
+ },
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ }
+ },
+ "distributionInfo": {
+ "type": 1,
+ "keys": [{
+ "name": "test_key",
+ "descending": false
+ }],
+ "count": 1,
+ "dynamicCount": 1
+ }
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTablesByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTablesByDatabase.json
new file mode 100644
index 000000000000..422319648d42
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTablesByDatabase.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false,
+ "basic": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "tableName": "test_table_name",
+ "columnList": [{
+ "name": "test_column_name",
+ "type": "test_type"
+ }],
+ "indexList": [{
+ "name": "test_index_name",
+ "indexKeys": [{
+ "name": "test_index_key",
+ "descending": false
+ }],
+ "columns": [
+ "test_column"
+ ],
+ "distributionInfo": {
+ "type": 1,
+ "keys": [{
+ "name": "test_key",
+ "descending": false
+ }],
+ "count": 1,
+ "dynamicCount": 1
+ },
+ "partitionFunction": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
+ "partitionKeyList": [
+ "test_partition_key"
+ ],
+ "streamNames": [
+ "test_stream_name"
+ ],
+ "isColumnstore": false,
+ "indexId": 1,
+ "isUnique": false
+ }],
+ "partitionKeyList":[
+ "test_partition_key"
+ ],
+ "externalTable": {
+ "tableName":"test_table_name",
+ "dataSource": {
+ "name": {
+ "firstPart": "test_first_part",
+ "secondPart": "test_second_part",
+ "thirdPart": "test_third_part",
+ "server": "test_server"
+ },
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ }
+ },
+ "distributionInfo": {
+ "type": 1,
+ "keys": [{
+ "name": "test_key",
+ "descending": false
+ }],
+ "count": 1,
+ "dynamicCount": 1
+ }
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTypes.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTypes.json
new file mode 100644
index 000000000000..a12fd57d00fa
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTypes.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value": [{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "typeName": "test_type_name",
+ "typeFamily": "test_type_family",
+ "cSharpName": "test_csharp_name",
+ "fullCSharpName": "test_full_csharp_name",
+ "systemTypeId": 1,
+ "userTypeId": 2,
+ "schemaId": 3,
+ "principalId": 4,
+ "isNullable": false,
+ "isUserDefined": false,
+ "isAssemblyType": false,
+ "isTableType": false,
+ "isComplexType": false
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListViews.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListViews.json
new file mode 100644
index 000000000000..045583455676
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListViews.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "viewName": "test_view_name",
+ "definition": "test_definition"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListViewsByDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListViewsByDatabase.json
new file mode 100644
index 000000000000..f9558d85d6eb
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListViewsByDatabase.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://contosoadla.datalakeanalytics.net/catalog/usql/databases/master/schema/dbo/statistics?api-version=2016-11-01&%24skiptoken=",
+ "value":[{
+ "computeAccountName": "contosoadla",
+ "version": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "databaseName": "master",
+ "schemaName": "dbo",
+ "viewName": "test_view_name",
+ "definition": "test_definition"
+ }]
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_RevokeAcl.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_RevokeAcl.json
new file mode 100644
index 000000000000..c37b49068e35
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_RevokeAcl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "parameters": {
+ "aceType": "User",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "op": "REVOKEACE"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_RevokeAclFromDatabase.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_RevokeAclFromDatabase.json
new file mode 100644
index 000000000000..28ecb0f98ab9
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_RevokeAclFromDatabase.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "parameters": {
+ "aceType": "User",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "op": "REVOKEACE"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_UpdateCredential.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_UpdateCredential.json
new file mode 100644
index 000000000000..2771e90ee959
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_UpdateCredential.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "credentialName": "test_credential_name",
+ "parameters": {
+ "password": "test_password",
+ "newPassword": "test_new_password",
+ "uri": "test_host:8000",
+ "userId": "test_user_id"
+ }
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_UpdateSecret.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_UpdateSecret.json
new file mode 100644
index 000000000000..610d09b19144
--- /dev/null
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_UpdateSecret.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlaCatalogDnsSuffix": "azuredatalakeanalytics.net",
+ "databaseName": "master",
+ "secretName": "test_secret_name",
+ "parameters": {
+ "password": "test_password",
+ "uri": "test_host:8000"
+ }
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-analytics/data-plane/readme.md b/specification/datalake-analytics/data-plane/readme.md
index fe29e151af43..7d77577c7901 100644
--- a/specification/datalake-analytics/data-plane/readme.md
+++ b/specification/datalake-analytics/data-plane/readme.md
@@ -92,6 +92,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -122,15 +135,15 @@ python:
no-namespace-folders: true
batch:
- tag: package-catalog-2016-11
- - tag: package-job-2016-11
+ - tag: package-job-2017-09-preview
```
-### Tag: package-job-2016-11 and python
+### Tag: package-job-2017-09-preview and python
-These settings apply only when `--tag=package-job-2016-11 --python` is specified on the command line.
+These settings apply only when `--tag=package-job-2017-09-preview --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-job-2016-11' && $(python)
+``` yaml $(tag) == 'package-job-2017-09-preview' && $(python)
python:
namespace: azure.mgmt.datalake.analytics.job
output-folder: $(python-sdks-folder)/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/job
@@ -158,6 +171,18 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-job-2017-09-preview
+ - tag: package-catalog-2016-11
+ - tag: package-job-2016-11
+ - tag: package-job-2016-03-preview
+ - tag: package-job-2015-11-preview
+ - tag: package-catalog-2015-10-preview
+```
+
### Tag: package-job-2017-09-preview and go
These settings apply only when `--tag=package-job-2017-09-preview --go` is specified on the command line.
@@ -218,6 +243,21 @@ namespace: catalog
output-folder: $(go-sdk-folder)/services/datalake/analytics/2015-10-01-preview/catalog
```
+
+## 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.datalake.analytics
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-datalake/analytics
+```
+
# Validation
Since this RP has no unique default package, iterate over all of them for validation:
@@ -226,4 +266,4 @@ Since this RP has no unique default package, iterate over all of them for valida
batch:
- package-catalog: true
- package-job: true
-```
\ No newline at end of file
+```
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
index a8c20c1b7ac1..9072e9598616 100644
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
@@ -37,536 +37,664 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}": {
- "put": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts": {
+ "get": {
"tags": [
- "ComputePolicies"
+ "Accounts"
],
- "operationId": "ComputePolicies_CreateOrUpdate",
- "description": "Creates or updates the specified compute policy. During update, the compute policy with the specified name will be replaced with this new compute policy. An account supports, at most, 50 policies",
- "x-ms-examples": {
- "Creates or updates the specified compute policy": { "$ref": "./examples/Adla_ComputePolicies_CreateOrUpdate.json" }
- },
+ "operationId": "Accounts_List",
+ "description": "Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
+ "name": "$filter",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the Data Lake Analytics account to add or replace the compute policy."
+ "description": "OData filter. Optional."
},
{
- "name": "computePolicyName",
- "in": "path",
- "required": true,
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to return. Optional."
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to skip over before returning elements. Optional."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the compute policy to create or update."
+ "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
},
{
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ComputePolicyCreateOrUpdateParameters"
- },
- "description": "Parameters supplied to create or update the compute policy. The max degree of parallelism per job property, min priority per job property, or both must be present."
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "$count",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully created or updated the specified compute policy",
+ "description": "Successfully retrieved the list of Azure Data Lake Analytics accounts.",
"schema": {
- "$ref": "#/definitions/ComputePolicy"
+ "$ref": "#/definitions/DataLakeAnalyticsAccountListResult"
}
}
- }
- },
- "patch": {
- "tags": [
- "ComputePolicies"
- ],
- "operationId": "ComputePolicies_Update",
- "description": "Updates the specified compute policy.",
+ },
"x-ms-examples": {
- "Updates the specified compute policy": { "$ref": "./examples/Adla_ComputePolicies_Update.json" }
+ "Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.": {
+ "$ref": "./examples/Accounts_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
},
+ "x-ms-odata": "#/definitions/DataLakeAnalyticsAccountBasic"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListByResourceGroup",
+ "description": "Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the Data Lake Analytics account to which to update the compute policy."
+ "description": "OData filter. Optional."
},
{
- "name": "computePolicyName",
- "in": "path",
- "required": true,
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to return. Optional."
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to skip over before returning elements. Optional."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the compute policy to update."
+ "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
},
{
- "name": "parameters",
- "in": "body",
+ "name": "$orderby",
+ "in": "query",
"required": false,
- "schema": {
- "$ref": "#/definitions/ComputePolicy"
- },
- "description": "Parameters supplied to update the compute policy."
+ "type": "string",
+ "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "$count",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully updated the specified compute policy",
+ "description": "Successfully retrieved the list of accounts in the specified resource group.",
"schema": {
- "$ref": "#/definitions/ComputePolicy"
+ "$ref": "#/definitions/DataLakeAnalyticsAccountListResult"
}
}
- }
- },
- "delete": {
- "tags": [
- "ComputePolicies"
- ],
- "operationId": "ComputePolicies_Delete",
- "description": "Deletes the specified compute policy from the specified Data Lake Analytics account",
+ },
"x-ms-examples": {
- "Deletes the specified compute policy from the adla account": { "$ref": "./examples/Adla_ComputePolicies_Delete.json" }
+ "Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.": {
+ "$ref": "./examples/Accounts_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
},
+ "x-ms-odata": "#/definitions/DataLakeAnalyticsAccountBasic"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}": {
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Create",
+ "description": "Creates the specified Data Lake Analytics account. This supplies the user with computation services for Data Lake Analytics workloads.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to delete the compute policy."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "computePolicyName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the compute policy to delete."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateDataLakeAnalyticsAccountParameters"
+ },
+ "description": "Parameters supplied to create a new Data Lake Analytics account."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully deleted the specified compute policy"
+ "description": "Successfully created the specified account.",
+ "schema": {
+ "$ref": "#/definitions/DataLakeAnalyticsAccount"
+ }
},
- "204": {
- "description": "The specified compute policy does not exist or was already deleted."
+ "201": {
+ "description": "Successfully initiated creation of the specified account.",
+ "schema": {
+ "$ref": "#/definitions/DataLakeAnalyticsAccount"
+ }
}
- }
+ },
+ "x-ms-examples": {
+ "Creates the specified Data Lake Analytics account. This supplies the user with computation services for Data Lake Analytics workloads.": {
+ "$ref": "./examples/Accounts_Create.json"
+ }
+ },
+ "x-ms-long-running-operation": true
},
"get": {
"tags": [
- "ComputePolicies"
+ "Accounts"
],
- "operationId": "ComputePolicies_Get",
- "description": "Gets the specified Data Lake Analytics compute policy.",
- "x-ms-examples": {
- "Gets the specified compute policy": { "$ref": "./examples/Adla_ComputePolicies_Get.json" }
- },
+ "operationId": "Accounts_Get",
+ "description": "Gets details of the specified Data Lake Analytics account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to get the compute policy."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "computePolicyName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the compute policy to retrieve."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the specified compute policy.",
+ "description": "Successfully retrieved the details of the specified account.",
"schema": {
- "$ref": "#/definitions/ComputePolicy"
+ "$ref": "#/definitions/DataLakeAnalyticsAccount"
}
}
+ },
+ "x-ms-examples": {
+ "Gets details of the specified Data Lake Analytics account.": {
+ "$ref": "./examples/Accounts_Get.json"
+ }
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies": {
- "get": {
+ },
+ "patch": {
"tags": [
- "ComputePolicies"
+ "Accounts"
],
- "operationId": "ComputePolicies_ListByAccount",
- "description": "Lists the Data Lake Analytics compute policies within the specified Data Lake Analytics account. An account supports, at most, 50 policies",
- "x-ms-examples": {
- "Lists the compute policies within the adla account": { "$ref": "./examples/Adla_ComputePolicies_ListByAccount.json" }
- },
+ "operationId": "Accounts_Update",
+ "description": "Updates the Data Lake Analytics account object specified by the accountName with the contents of the account object.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to get the compute policies."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/UpdateDataLakeAnalyticsAccountParameters"
+ },
+ "description": "Parameters supplied to the update Data Lake Analytics account operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully listed the compute policies.",
+ "description": "Successfully updated the specified account.",
"schema": {
- "$ref": "#/definitions/ComputePolicyListResult"
+ "$ref": "#/definitions/DataLakeAnalyticsAccount"
+ }
+ },
+ "201": {
+ "description": "Successfully initiated an update of the specified account.",
+ "schema": {
+ "$ref": "#/definitions/DataLakeAnalyticsAccount"
+ }
+ },
+ "202": {
+ "description": "Successfully initiated an update of the specified account.",
+ "schema": {
+ "$ref": "#/definitions/DataLakeAnalyticsAccount"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}": {
- "put": {
+ "x-ms-examples": {
+ "Updates the Data Lake Analytics account object specified by the accountName with the contents of the account object.": {
+ "$ref": "./examples/Accounts_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
"tags": [
- "FirewallRules"
+ "Accounts"
],
- "operationId": "FirewallRules_CreateOrUpdate",
- "description": "Creates or updates the specified firewall rule. During update, the firewall rule with the specified name will be replaced with this new firewall rule.",
+ "operationId": "Accounts_Delete",
+ "description": "Begins the delete process for the Data Lake Analytics account object specified by the account name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the specified account."
+ },
+ "202": {
+ "description": "Successfully initiated the deletion of the specified account."
+ },
+ "204": {
+ "description": "The specified account was not found."
+ }
+ },
"x-ms-examples": {
- "Creates or updates the specified firewall rule": { "$ref": "./examples/Adla_FirewallRules_CreateOrUpdate.json" }
+ "Begins the delete process for the Data Lake Analytics account object specified by the account name.": {
+ "$ref": "./examples/Accounts_Delete.json"
+ }
},
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts": {
+ "get": {
+ "tags": [
+ "DataLakeStoreAccounts"
+ ],
+ "operationId": "DataLakeStoreAccounts_ListByAccount",
+ "description": "Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the Data Lake Analytics account to add or replace the firewall rule."
+ "description": "OData filter. Optional."
},
{
- "name": "firewallRuleName",
- "in": "path",
- "required": true,
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to return. Optional."
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to skip over before returning elements. Optional."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the firewall rule to create or update."
+ "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
},
{
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FirewallRule"
- },
- "description": "Parameters supplied to create or update the firewall rule."
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "$count",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully created or updated the specified firewall rule",
+ "description": "Successfully retrieved the list of Data Lake Store accounts.",
"schema": {
- "$ref": "#/definitions/FirewallRule"
+ "$ref": "#/definitions/DataLakeStoreAccountInformationListResult"
}
}
- }
- },
- "patch": {
- "tags": [
- "FirewallRules"
- ],
- "operationId": "FirewallRules_Update",
- "description": "Updates the specified firewall rule.",
+ },
"x-ms-examples": {
- "Updates the specified firewall rule": { "$ref": "./examples/Adla_FirewallRules_Update.json" }
+ "Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account": {
+ "$ref": "./examples/DataLakeStoreAccounts_ListByAccount.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
},
+ "x-ms-odata": "#/definitions/DataLakeStoreAccountInformation"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}": {
+ "put": {
+ "tags": [
+ "DataLakeStoreAccounts"
+ ],
+ "operationId": "DataLakeStoreAccounts_Add",
+ "description": "Updates the specified Data Lake Analytics account to include the additional Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account to which to update the firewall rule."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "firewallRuleName",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "dataLakeStoreAccountName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the firewall rule to update."
+ "description": "The name of the Data Lake Store account to add."
},
{
"name": "parameters",
"in": "body",
- "required": false,
"schema": {
- "$ref": "#/definitions/UpdateFirewallRuleParameters"
+ "$ref": "#/definitions/AddDataLakeStoreParameters"
},
- "description": "Parameters supplied to update the firewall rule."
+ "description": "The details of the Data Lake Store account."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully updated the specified firewall rule",
- "schema": {
- "$ref": "#/definitions/FirewallRule"
- }
+ "description": "Successfully added the specified Azure Data Lake Store account information."
+ }
+ },
+ "x-ms-examples": {
+ "Adds a Data Lake Store account": {
+ "$ref": "./examples/DataLakeStoreAccounts_Add.json"
}
}
},
- "delete": {
+ "get": {
"tags": [
- "FirewallRules"
+ "DataLakeStoreAccounts"
],
- "operationId": "FirewallRules_Delete",
- "description": "Deletes the specified firewall rule from the specified Data Lake Analytics account",
- "x-ms-examples": {
- "Deletes the specified firewall rule": { "$ref": "./examples/Adla_FirewallRules_Delete.json" }
- },
+ "operationId": "DataLakeStoreAccounts_Get",
+ "description": "Gets the specified Data Lake Store account details in the specified Data Lake Analytics account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to delete the firewall rule."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "firewallRuleName",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "dataLakeStoreAccountName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the firewall rule to delete."
+ "description": "The name of the Data Lake Store account to retrieve"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully deleted the specified firewall rule"
- },
- "204": {
- "description": "The specified firewall rule does not exist or was already deleted."
+ "description": "Successfully retrieved the specified Azure Data Lake Store account information.",
+ "schema": {
+ "$ref": "#/definitions/DataLakeStoreAccountInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the specified Data Lake Store account details": {
+ "$ref": "./examples/DataLakeStoreAccounts_Get.json"
}
}
},
- "get": {
+ "delete": {
"tags": [
- "FirewallRules"
+ "DataLakeStoreAccounts"
],
- "operationId": "FirewallRules_Get",
- "description": "Gets the specified Data Lake Analytics firewall rule.",
- "x-ms-examples": {
- "Gets the specified Data Lake Analytics firewall rule": { "$ref": "./examples/Adla_FirewallRules_Get.json" }
- },
+ "operationId": "DataLakeStoreAccounts_Delete",
+ "description": "Updates the Data Lake Analytics account specified to remove the specified Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to get the firewall rule."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "firewallRuleName",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "dataLakeStoreAccountName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the firewall rule to retrieve."
+ "description": "The name of the Data Lake Store account to remove"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the specified firewall rule.",
- "schema": {
- "$ref": "#/definitions/FirewallRule"
- }
+ "description": "Successfully removed the specified Azure Data Lake Store account information from the specified Azure Data Lake Analytics account."
}
- }
- }
+ },
+ "x-ms-examples": {
+ "Removes the specified Data Lake Store account": {
+ "$ref": "./examples/DataLakeStoreAccounts_Delete.json"
+ }
+ }
+ }
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts": {
"get": {
"tags": [
- "FirewallRules"
+ "StorageAccounts"
],
- "operationId": "FirewallRules_ListByAccount",
- "description": "Lists the Data Lake Analytics firewall rules within the specified Data Lake Analytics account.",
- "x-ms-examples": {
- "Lists the Data Lake Analytics firewall rules": { "$ref": "./examples/Adla_FirewallRules_ListByAccount.json" }
- },
+ "operationId": "StorageAccounts_ListByAccount",
+ "description": "Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "description": "The OData filter. Optional."
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to return. Optional."
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to skip over before returning elements. Optional."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the Data Lake Analytics account from which to get the firewall rules."
+ "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "name": "$count",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully listed the firewall rules.",
+ "description": "Successfully retrieved the list of Azure Storage accounts.",
"schema": {
- "$ref": "#/definitions/DataLakeAnalyticsFirewallRuleListResult"
+ "$ref": "#/definitions/StorageAccountInformationListResult"
}
}
},
+ "x-ms-examples": {
+ "Gets the first page of Azure Storage accounts linked to the specified Data Lake Analytics account": {
+ "$ref": "./examples/StorageAccounts_ListByAccount.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
- }
+ },
+ "x-ms-odata": "#/definitions/StorageAccountInformation"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}": {
"put": {
"tags": [
"StorageAccounts"
],
"operationId": "StorageAccounts_Add",
"description": "Updates the specified Data Lake Analytics account to add an Azure Storage account.",
- "x-ms-examples": {
- "Adds an Azure Storage account": { "$ref": "./examples/Adla_StorageAccounts_Add.json" }
- },
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account to which to add the Azure Storage account."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"name": "storageAccountName",
@@ -586,14 +714,57 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully added the specified Azure Storage account information to the specified Azure Data Lake Analytics account."
+ }
+ },
+ "x-ms-examples": {
+ "Adds an Azure Storage account": {
+ "$ref": "./examples/StorageAccounts_Add.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "operationId": "StorageAccounts_Get",
+ "description": "Gets the specified Azure Storage account linked to the given Data Lake Analytics account.",
+ "parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Storage account for which to retrieve the details."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully added the specified Azure Storage account information to the specified Azure Data Lake Analytics account."
+ "description": "Successfully retrieved the specified Azure Storage account information.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the specified Azure Storage account": {
+ "$ref": "./examples/StorageAccounts_Get.json"
}
}
},
@@ -603,23 +774,15 @@
],
"operationId": "StorageAccounts_Update",
"description": "Updates the Data Lake Analytics account to replace Azure Storage blob account details, such as the access key and/or suffix.",
- "x-ms-examples": {
- "Replaces Azure Storage blob account details": { "$ref": "./examples/Adla_StorageAccounts_Update.json" }
- },
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account to modify storage accounts in"
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"name": "storageAccountName",
@@ -639,15 +802,17 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "Successfully update the specified Azure Storage account information for the specified Azure Data Lake Analytics account."
}
+ },
+ "x-ms-examples": {
+ "Replaces Azure Storage blob account details": {
+ "$ref": "./examples/StorageAccounts_Update.json"
+ }
}
},
"delete": {
@@ -656,23 +821,15 @@
],
"operationId": "StorageAccounts_Delete",
"description": "Updates the specified Data Lake Analytics account to remove an Azure Storage account.",
- "x-ms-examples": {
- "Removes an Azure Storage account": { "$ref": "./examples/Adla_StorageAccounts_Delete.json" }
- },
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to remove the Azure Storage account."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"name": "storageAccountName",
@@ -683,89 +840,82 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "Successfully deleted the specified Azure Storage account information from the Azure Data Lake Analytics account."
}
+ },
+ "x-ms-examples": {
+ "Removes an Azure Storage account": {
+ "$ref": "./examples/StorageAccounts_Delete.json"
+ }
}
- },
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers": {
"get": {
"tags": [
"StorageAccounts"
],
- "operationId": "StorageAccounts_Get",
- "description": "Gets the specified Azure Storage account linked to the given Data Lake Analytics account.",
- "x-ms-examples": {
- "Gets the specified Azure Storage account": { "$ref": "./examples/Adla_StorageAccounts_Get.json" }
- },
+ "operationId": "StorageAccounts_ListStorageContainers",
+ "description": "Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to retrieve Azure storage account details."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"name": "storageAccountName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure Storage account for which to retrieve the details."
+ "description": "The name of the Azure storage account from which to list blob containers."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the specified Azure Storage account information.",
+ "description": "Successfully retrieved the list of Azure Storage containers under the specified Azure Data Lake Analytics account.",
"schema": {
- "$ref": "#/definitions/StorageAccountInfo"
+ "$ref": "#/definitions/StorageContainerListResult"
}
}
+ },
+ "x-ms-examples": {
+ "Lists the Azure Storage containers": {
+ "$ref": "./examples/StorageAccounts_ListStorageContainers.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}/Containers/{containerName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}": {
"get": {
"tags": [
"StorageAccounts"
],
"operationId": "StorageAccounts_GetStorageContainer",
"description": "Gets the specified Azure Storage container associated with the given Data Lake Analytics and Azure Storage accounts.",
- "x-ms-examples": {
- "Gets the specified Azure Storage container": { "$ref": "./examples/Adla_StorageAccounts_GetStorageContainer.json" }
- },
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account for which to retrieve blob container."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"name": "storageAccountName",
@@ -783,9 +933,6 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -795,812 +942,576 @@
"$ref": "#/definitions/StorageContainer"
}
}
+ },
+ "x-ms-examples": {
+ "Gets the specified Azure Storage container": {
+ "$ref": "./examples/StorageAccounts_GetStorageContainer.json"
+ }
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}/Containers": {
- "get": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens": {
+ "post": {
"tags": [
"StorageAccounts"
],
- "operationId": "StorageAccounts_ListStorageContainers",
- "description": "Lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics and Azure Storage account combination. The response includes a link to the next page of results, if any.",
- "x-ms-examples": {
- "Lists the Azure Storage containers": { "$ref": "./examples/Adla_StorageAccounts_ListStorageContainers.json" }
- },
+ "operationId": "StorageAccounts_ListSasTokens",
+ "description": "Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "accountName",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "storageAccountName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Analytics account for which to list Azure Storage blob containers."
+ "description": "The name of the Azure storage account for which the SAS token is being requested."
},
{
- "name": "storageAccountName",
+ "name": "containerName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure storage account from which to list blob containers."
+ "description": "The name of the Azure storage container for which the SAS token is being requested."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of Azure Storage containers under the specified Azure Data Lake Analytics account.",
+ "description": "Successfully retrieved the list of Storage Account SAS tokens for the specified Azure Storage account container.",
"schema": {
- "$ref": "#/definitions/ListStorageContainersResult"
+ "$ref": "#/definitions/SasTokenInformationListResult"
}
}
},
+ "x-ms-examples": {
+ "Gets the SAS token": {
+ "$ref": "./examples/StorageAccounts_ListSasTokens.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts/{storageAccountName}/Containers/{containerName}/listSasTokens": {
- "post": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies": {
+ "get": {
"tags": [
- "StorageAccounts"
+ "ComputePolicies"
],
- "operationId": "StorageAccounts_ListSasTokens",
- "description": "Gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and container combination.",
- "x-ms-examples": {
- "Gets the SAS token": { "$ref": "./examples/Adla_StorageAccounts_ListSasTokens.json" }
- },
+ "operationId": "ComputePolicies_ListByAccount",
+ "description": "Lists the Data Lake Analytics compute policies within the specified Data Lake Analytics account. An account supports, at most, 50 policies",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which an Azure Storage account's SAS token is being requested."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "storageAccountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure storage account for which the SAS token is being requested."
- },
- {
- "name": "containerName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure storage container for which the SAS token is being requested."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of Storage Account SAS tokens for the specified Azure Storage account container.",
+ "description": "Successfully listed the compute policies.",
"schema": {
- "$ref": "#/definitions/ListSasTokensResult"
+ "$ref": "#/definitions/ComputePolicyListResult"
}
}
},
+ "x-ms-examples": {
+ "Lists the compute policies within the adla account": {
+ "$ref": "./examples/ComputePolicies_ListByAccount.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/DataLakeStoreAccounts/{dataLakeStoreAccountName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}": {
"put": {
"tags": [
- "DataLakeStoreAccounts"
+ "ComputePolicies"
],
- "operationId": "DataLakeStoreAccounts_Add",
- "description": "Updates the specified Data Lake Analytics account to include the additional Data Lake Store account.",
- "x-ms-examples": {
- "Adds a Data Lake Store account": { "$ref": "./examples/Adla_DataLakeStoreAccounts_Add.json" }
- },
+ "operationId": "ComputePolicies_CreateOrUpdate",
+ "description": "Creates or updates the specified compute policy. During update, the compute policy with the specified name will be replaced with this new compute policy. An account supports, at most, 50 policies",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account to which to add the Data Lake Store account."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "dataLakeStoreAccountName",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "computePolicyName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Store account to add."
+ "description": "The name of the compute policy to create or update."
},
{
"name": "parameters",
"in": "body",
+ "required": true,
"schema": {
- "$ref": "#/definitions/AddDataLakeStoreParameters"
+ "$ref": "#/definitions/CreateOrUpdateComputePolicyParameters"
},
- "description": "The details of the Data Lake Store account."
+ "description": "Parameters supplied to create or update the compute policy. The max degree of parallelism per job property, min priority per job property, or both must be present."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully added the specified Azure Data Lake Store account information."
+ "description": "Successfully created or updated the specified compute policy",
+ "schema": {
+ "$ref": "#/definitions/ComputePolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates or updates the specified compute policy": {
+ "$ref": "./examples/ComputePolicies_CreateOrUpdate.json"
}
}
},
- "delete": {
+ "get": {
"tags": [
- "DataLakeStoreAccounts"
+ "ComputePolicies"
],
- "operationId": "DataLakeStoreAccounts_Delete",
- "description": "Updates the Data Lake Analytics account specified to remove the specified Data Lake Store account.",
- "x-ms-examples": {
- "Removes the specified Data Lake Store account": { "$ref": "./examples/Adla_DataLakeStoreAccounts_Delete.json" }
- },
+ "operationId": "ComputePolicies_Get",
+ "description": "Gets the specified Data Lake Analytics compute policy.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to remove the Data Lake Store account."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "dataLakeStoreAccountName",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "computePolicyName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Store account to remove"
+ "description": "The name of the compute policy to retrieve."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully removed the specified Azure Data Lake Store account information from the specified Azure Data Lake Analytics account."
+ "description": "Successfully retrieved the specified compute policy.",
+ "schema": {
+ "$ref": "#/definitions/ComputePolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the specified compute policy": {
+ "$ref": "./examples/ComputePolicies_Get.json"
}
}
},
- "get": {
+ "patch": {
"tags": [
- "DataLakeStoreAccounts"
+ "ComputePolicies"
],
- "operationId": "DataLakeStoreAccounts_Get",
- "description": "Gets the specified Data Lake Store account details in the specified Data Lake Analytics account.",
- "x-ms-examples": {
- "Gets the specified Data Lake Store account details": { "$ref": "./examples/Adla_DataLakeStoreAccounts_Get.json" }
- },
+ "operationId": "ComputePolicies_Update",
+ "description": "Updates the specified compute policy.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account from which to retrieve the Data Lake Store account details."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "dataLakeStoreAccountName",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "computePolicyName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Store account to retrieve"
+ "description": "The name of the compute policy to update."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/UpdateComputePolicyParameters"
+ },
+ "description": "Parameters supplied to update the compute policy."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the specified Azure Data Lake Store account information.",
+ "description": "Successfully updated the specified compute policy",
"schema": {
- "$ref": "#/definitions/DataLakeStoreAccountInfo"
+ "$ref": "#/definitions/ComputePolicy"
}
}
+ },
+ "x-ms-examples": {
+ "Updates the specified compute policy": {
+ "$ref": "./examples/ComputePolicies_Update.json"
+ }
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/StorageAccounts": {
- "get": {
+ },
+ "delete": {
"tags": [
- "StorageAccounts"
+ "ComputePolicies"
],
- "operationId": "StorageAccounts_ListByAccount",
- "description": "Gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.",
- "x-ms-examples": {
- "Gets the first page of Azure Storage accounts linked to the specified Data Lake Analytics account": { "$ref": "./examples/Adla_StorageAccounts_ListByAccount.json" }
- },
+ "operationId": "ComputePolicies_Delete",
+ "description": "Deletes the specified compute policy from the specified Data Lake Analytics account",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account for which to list Azure Storage accounts."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "The OData filter. Optional."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to return. Optional."
+ "name": "computePolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the compute policy to delete."
},
{
- "name": "$skip",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to skip over before returning elements. Optional."
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the specified compute policy"
},
+ "204": {
+ "description": "The specified compute policy does not exist or was already deleted."
+ }
+ },
+ "x-ms-examples": {
+ "Deletes the specified compute policy from the adla account": {
+ "$ref": "./examples/ComputePolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules": {
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_ListByAccount",
+ "description": "Lists the Data Lake Analytics firewall rules within the specified Data Lake Analytics account.",
+ "parameters": [
{
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "$orderby",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "$count",
- "in": "query",
- "required": false,
- "type": "boolean",
- "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of Azure Storage accounts.",
+ "description": "Successfully listed the firewall rules.",
"schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountListStorageAccountsResult"
+ "$ref": "#/definitions/FirewallRuleListResult"
}
}
},
+ "x-ms-examples": {
+ "Lists the Data Lake Analytics firewall rules": {
+ "$ref": "./examples/FirewallRules_ListByAccount.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/StorageAccountInfo"
+ }
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/DataLakeStoreAccounts": {
- "get": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}": {
+ "put": {
"tags": [
- "DataLakeStoreAccounts"
+ "FirewallRules"
],
- "operationId": "DataLakeStoreAccounts_ListByAccount",
- "description": "Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. The response includes a link to the next page, if any.",
- "x-ms-examples": {
- "Gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account": { "$ref": "./examples/Adla_DataLakeStoreAccounts_ListByAccount.json" }
- },
+ "operationId": "FirewallRules_CreateOrUpdate",
+ "description": "Creates or updates the specified firewall rule. During update, the firewall rule with the specified name will be replaced with this new firewall rule.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "accountName",
+ "name": "firewallRuleName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Analytics account for which to list Data Lake Store accounts."
+ "description": "The name of the firewall rule to create or update."
},
{
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter. Optional."
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateOrUpdateFirewallRuleParameters"
+ },
+ "description": "Parameters supplied to create or update the firewall rule."
},
{
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to return. Optional."
- },
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the specified firewall rule",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates or updates the specified firewall rule": {
+ "$ref": "./examples/FirewallRules_CreateOrUpdate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Get",
+ "description": "Gets the specified Data Lake Analytics firewall rule.",
+ "parameters": [
{
- "name": "$skip",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to skip over before returning elements. Optional."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "$orderby",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "$count",
- "in": "query",
- "required": false,
- "type": "boolean",
- "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the firewall rule to retrieve."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of Azure Data Lake Store accounts.",
+ "description": "Successfully retrieved the specified firewall rule.",
"schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountListDataLakeStoreResult"
+ "$ref": "#/definitions/FirewallRule"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DataLakeStoreAccountInfo"
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts": {
- "get": {
+ "x-ms-examples": {
+ "Gets the specified Data Lake Analytics firewall rule": {
+ "$ref": "./examples/FirewallRules_Get.json"
+ }
+ }
+ },
+ "patch": {
"tags": [
- "Account"
+ "FirewallRules"
],
- "operationId": "Account_ListByResourceGroup",
- "description": "Gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. This includes a link to the next page, if any.",
- "x-ms-examples": {
- "Gets the first page of Data Lake Analytics accounts within a specific resource group": { "$ref": "./examples/Adla_Account_ListByResourceGroup.json" }
- },
+ "operationId": "FirewallRules_Update",
+ "description": "Updates the specified firewall rule.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
- },
- {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter. Optional."
- },
- {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to return. Optional."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "$skip",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to skip over before returning elements. Optional."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "$orderby",
- "in": "query",
- "required": false,
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
"type": "string",
- "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
+ "description": "The name of the firewall rule to update."
},
{
- "name": "$count",
- "in": "query",
+ "name": "parameters",
+ "in": "body",
"required": false,
- "type": "boolean",
- "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ "schema": {
+ "$ref": "#/definitions/UpdateFirewallRuleParameters"
+ },
+ "description": "Parameters supplied to update the firewall rule."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of accounts in the specified resource group.",
+ "description": "Successfully updated the specified firewall rule",
"schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountListResult"
+ "$ref": "#/definitions/FirewallRule"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DataLakeAnalyticsAccountBasic"
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts": {
- "get": {
+ "x-ms-examples": {
+ "Updates the specified firewall rule": {
+ "$ref": "./examples/FirewallRules_Update.json"
+ }
+ }
+ },
+ "delete": {
"tags": [
- "Account"
+ "FirewallRules"
],
- "operationId": "Account_List",
- "description": "Gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a link to the next page, if any.",
- "x-ms-examples": {
- "Gets the first page of Data Lake Analytics accounts within the current subscription": { "$ref": "./examples/Adla_Account_List.json" }
- },
+ "operationId": "FirewallRules_Delete",
+ "description": "Deletes the specified firewall rule from the specified Data Lake Analytics account",
"parameters": [
{
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter. Optional."
- },
- {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to return. Optional."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "$skip",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to skip over before returning elements. Optional."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "$orderby",
- "in": "query",
- "required": false,
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
"type": "string",
- "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
- },
- {
- "name": "$count",
- "in": "query",
- "required": false,
- "type": "boolean",
- "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ "description": "The name of the firewall rule to delete."
},
{
"$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the specified firewall rule"
},
+ "204": {
+ "description": "The specified firewall rule does not exist or was already deleted."
+ }
+ },
+ "x-ms-examples": {
+ "Deletes the specified firewall rule": {
+ "$ref": "./examples/FirewallRules_Delete.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DataLakeAnalytics/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Data Lake Analytics REST API operations.",
+ "parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of Azure Data Lake Analytics accounts.",
+ "description": "Successfully listed the available operations for Data Lake Analytics.",
"schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountListResult"
+ "$ref": "#/definitions/OperationListResult"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DataLakeAnalyticsAccountBasic"
+ "x-ms-examples": {
+ "Lists all of the available Data Lake Analytics REST API operations": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}": {
- "put": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability": {
+ "get": {
"tags": [
- "Account"
+ "Locations"
],
- "operationId": "Account_Create",
- "description": "Creates the specified Data Lake Analytics account. This supplies the user with computation services for Data Lake Analytics workloads",
- "x-ms-examples": {
- "Creates the specified Data Lake Analytics account": { "$ref": "./examples/Adla_Account_Create.json" }
- },
+ "operationId": "Locations_GetCapability",
+ "description": "Gets subscription-level properties and limits for Data Lake Analytics specified by resource location.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account.the account will be associated with."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
+ "name": "location",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Analytics account to create."
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccount"
- },
- "description": "Parameters supplied to the create Data Lake Analytics account operation."
+ "description": "The resource location without whitespace."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully created the specified account.",
+ "description": "Successfully retrieved the subscription-level properties and limits for Data Lake Analytics specified by resource location.",
"schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccount"
- }
- },
- "201": {
- "description": "Successfully initiated creation of the specified account.",
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccount"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "patch": {
- "tags": [
- "Account"
- ],
- "operationId": "Account_Update",
- "description": "Updates the Data Lake Analytics account object specified by the accountName with the contents of the account object.",
- "x-ms-examples": {
- "Updates the Data Lake Analytics account object": { "$ref": "./examples/Adla_Account_Update.json" }
- },
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
- },
- {
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account to update."
- },
- {
- "name": "parameters",
- "in": "body",
- "required": false,
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountUpdateParameters"
- },
- "description": "Parameters supplied to the update Data Lake Analytics account operation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the specified account.",
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccount"
- }
- },
- "201": {
- "description": "Successfully initiated an update of the specified account.",
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccount"
- }
- },
- "202": {
- "description": "Successfully initiated an update of the specified account.",
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccount"
+ "$ref": "#/definitions/CapabilityInformation"
}
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "Account"
- ],
- "operationId": "Account_Delete",
- "description": "Begins the delete process for the Data Lake Analytics account object specified by the account name.",
- "x-ms-examples": {
- "Begins the delete process for the Data Lake Analytics account object specified by the account name": { "$ref": "./examples/Adla_Account_Delete.json" }
- },
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
- },
- {
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account to delete"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the specified account."
},
- "202": {
- "description": "Successfully initiated the deletion of the specified account."
- },
- "204": {
- "description": "The specified account was not found."
+ "404": {
+ "description": "Subscription not found."
}
},
- "x-ms-long-running-operation": true
- },
- "get": {
- "tags": [
- "Account"
- ],
- "operationId": "Account_Get",
- "description": "Gets details of the specified Data Lake Analytics account.",
"x-ms-examples": {
- "Gets details of the specified Data Lake Analytics account": { "$ref": "./examples/Adla_Account_Get.json" }
- },
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Analytics account."
- },
- {
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Analytics account to retrieve."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the details of the specified account.",
- "schema": {
- "$ref": "#/definitions/DataLakeAnalyticsAccount"
- }
+ "Gets subscription-level properties and limits for Data Lake Analytics specified by resource location": {
+ "$ref": "./examples/Locations_GetCapability.json"
}
}
}
@@ -1608,20 +1519,20 @@
"/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability": {
"post": {
"tags": [
- "Account"
+ "Accounts"
],
- "operationId": "Account_CheckNameAvailability",
+ "operationId": "Accounts_CheckNameAvailability",
"description": "Checks whether the specified account name is available or taken.",
- "x-ms-examples": {
- "Checks whether the specified account name is available or taken": { "$ref": "./examples/Adla_Account_CheckNameAvailability.json" }
- },
"parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
{
"name": "location",
"in": "path",
"required": true,
"type": "string",
- "description": "The Resource location without whitespace."
+ "description": "The resource location without whitespace."
},
{
"name": "parameters",
@@ -1634,9 +1545,6 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -1646,327 +1554,175 @@
"$ref": "#/definitions/NameAvailabilityInformation"
}
}
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability": {
- "get": {
- "tags": [
- "Locations"
- ],
- "operationId": "Locations_GetCapability",
- "description": "Gets subscription-level properties and limits for Data Lake Analytics specified by Resource location.",
- "x-ms-examples": {
- "Gets subscription-level properties and limits for Data Lake Analytics specified by Resource location": { "$ref": "./examples/Adla_Locations_GetCapability.json" }
},
- "parameters": [
- {
- "name": "location",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The Resource location without whitespace."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the subscription-level properties and limits for Data Lake Analytics specified by Resource location.",
- "schema": {
- "$ref": "#/definitions/CapabilityInformation"
- }
- },
- "404": {
- "description": "Subscription not found."
- }
- }
- }
- },
- "/providers/Microsoft.DataLakeAnalytics/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "operationId": "Operations_List",
- "description": "Lists all of the available Data Lake Analytics REST API operations.",
"x-ms-examples": {
- "Lists all of the available Data Lake Analytics REST API operations": { "$ref": "./examples/Adla_Operations_List.json" }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully listed the available operations for Data Lake Analytics.",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
+ "Checks whether the specified account name is available or taken": {
+ "$ref": "./examples/Accounts_CheckNameAvailability.json"
}
}
}
}
},
"definitions": {
- "StorageAccountProperties": {
- "required": [
- "accessKey"
- ],
+ "Resource": {
"properties": {
- "accessKey": {
+ "id": {
+ "readOnly": true,
"type": "string",
- "description": "the access key associated with this Azure Storage account that will be used to connect to it."
+ "description": "The resource identifer."
},
- "suffix": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "readOnly": true,
"type": "string",
- "description": "the optional suffix for the storage account."
+ "description": "The resource location."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
}
},
- "description": "Azure Storage account properties information."
+ "x-ms-azure-resource": true,
+ "description": "The resource model definition."
},
- "UpdateStorageAccountProperties": {
+ "SubResource": {
"properties": {
- "accessKey": {
+ "id": {
+ "readOnly": true,
"type": "string",
- "description": "the updated access key associated with this Azure Storage account that will be used to connect to it."
+ "description": "The resource identifier."
},
- "suffix": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
"type": "string",
- "description": "the optional suffix for the storage account."
+ "description": "The resource type."
}
},
- "description": "Azure Storage account properties information to update."
+ "x-ms-azure-resource": true,
+ "description": "The resource model definition for a nested resource."
},
- "StorageAccountInfo": {
+ "DataLakeAnalyticsAccount": {
"allOf": [
{
- "$ref": "#/definitions/SubResource"
+ "$ref": "#/definitions/Resource"
}
],
- "required": [
- "properties"
- ],
"properties": {
"properties": {
- "$ref": "#/definitions/StorageAccountProperties",
- "description": "the properties associated with this storage account.",
- "x-ms-client-flatten": true
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataLakeAnalyticsAccountProperties",
+ "description": "The properties defined by Data Lake Analytics all properties are specific to each resource provider."
}
},
- "description": "Azure Storage account information."
+ "description": "A Data Lake Analytics account object, containing all information associated with the named Data Lake Analytics account."
},
- "StorageContainerProperties": {
+ "DataLakeAnalyticsAccountBasic": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
"properties": {
- "lastModifiedTime": {
+ "properties": {
"readOnly": true,
- "type": "string",
- "format": "date-time",
- "description": "the last modified time of the blob container."
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataLakeAnalyticsAccountPropertiesBasic",
+ "description": "The properties defined by Data Lake Analytics all properties are specific to each resource provider."
}
},
- "description": "Azure Storage blob container properties information."
+ "description": "A Data Lake Analytics account object, containing all information associated with the named Data Lake Analytics account."
},
- "StorageContainer": {
- "properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "the unique identifier of the blob container."
- },
- "name": {
- "type": "string",
+ "DataLakeAnalyticsAccountProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataLakeAnalyticsAccountPropertiesBasic"
+ }
+ ],
+ "properties": {
+ "defaultDataLakeStoreAccount": {
"readOnly": true,
- "description": "the name of the blob container."
- },
- "type": {
"type": "string",
- "readOnly": true,
- "description": "the type of the blob container."
+ "description": "The default Data Lake Store account associated with this account."
},
- "properties": {
+ "dataLakeStoreAccounts": {
"readOnly": true,
- "$ref": "#/definitions/StorageContainerProperties",
- "description": "the properties of the blob container.",
- "x-ms-client-flatten": true
- }
- },
- "description": "Azure Storage blob container information."
- },
- "ListStorageContainersResult": {
- "properties": {
- "value": {
"type": "array",
"items": {
- "$ref": "#/definitions/StorageContainer"
+ "$ref": "#/definitions/DataLakeStoreAccountInformation"
},
- "readOnly": true,
- "description": "the results of the list operation"
+ "description": "The list of Data Lake Store accounts associated with this account."
},
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "the link (url) to the next page of results."
- }
- },
- "description": "The list of blob containers associated with the storage account attached to the Data Lake Analytics account."
- },
- "SasTokenInfo": {
- "properties": {
- "accessToken": {
+ "storageAccounts": {
"readOnly": true,
- "type": "string",
- "description": "the access token for the associated Azure Storage Container."
- }
- },
- "description": "SAS token information."
- },
- "ListSasTokensResult": {
- "properties": {
- "value": {
"type": "array",
"items": {
- "$ref": "#/definitions/SasTokenInfo"
+ "$ref": "#/definitions/StorageAccountInformation"
},
- "readOnly": true
+ "description": "The list of Azure Blob Storage accounts associated with this account."
},
- "nextLink": {
- "type": "string",
+ "computePolicies": {
"readOnly": true,
- "description": "the link (url) to the next page of results."
- }
- },
- "description": "The SAS response that contains the storage account, container and associated SAS token for connection use."
- },
- "DataLakeStoreAccountInfoProperties": {
- "properties": {
- "suffix": {
- "type": "string",
- "description": "the optional suffix for the Data Lake Store account."
- }
- },
- "description": "Data Lake Store account properties information."
- },
- "DataLakeStoreAccountInfo": {
- "allOf": [
- {
- "$ref": "#/definitions/SubResource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/DataLakeStoreAccountInfoProperties",
- "description": "the properties associated with this Data Lake Store account.",
- "x-ms-client-flatten": true
- }
- },
- "description": "Data Lake Store account information."
- },
- "DataLakeAnalyticsAccountListStorageAccountsResult": {
- "properties": {
- "value": {
"type": "array",
"items": {
- "$ref": "#/definitions/StorageAccountInfo"
+ "$ref": "#/definitions/ComputePolicy"
},
- "readOnly": true,
- "description": "the results of the list operation"
+ "description": "The list of compute policies associated with this account."
},
- "nextLink": {
- "type": "string",
+ "firewallRules": {
"readOnly": true,
- "description": "the link (url) to the next page of results."
- }
- },
- "description": "Azure Storage Account list information."
- },
- "DataLakeAnalyticsAccountListDataLakeStoreResult": {
- "properties": {
- "value": {
"type": "array",
"items": {
- "$ref": "#/definitions/DataLakeStoreAccountInfo"
+ "$ref": "#/definitions/FirewallRule"
},
- "readOnly": true,
- "description": "the results of the list operation"
+ "description": "The list of firewall rules associated with this account."
},
- "nextLink": {
- "type": "string",
+ "firewallState": {
"readOnly": true,
- "description": "the link (url) to the next page of results."
- }
- },
- "description": "Data Lake Account list information."
- },
- "DataLakeAnalyticsAccountProperties": {
- "allOf": [
- {
- "$ref": "#/definitions/DataLakeAnalyticsAccountPropertiesBasic"
- }
- ],
- "required": [
- "defaultDataLakeStoreAccount",
- "dataLakeStoreAccounts"
- ],
- "properties": {
- "defaultDataLakeStoreAccount": {
"type": "string",
- "description": "the default data lake storage account associated with this Data Lake Analytics account."
- },
- "maxDegreeOfParallelism": {
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "default": 30,
- "description": "the maximum supported degree of parallelism for this account."
- },
- "queryStoreRetention": {
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "maximum": 180,
- "default": 30,
- "description": "the number of days that job metadata is retained."
- },
- "maxJobCount": {
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "default": 3,
- "description": "the maximum supported jobs running under the account at the same time."
- },
- "systemMaxDegreeOfParallelism": {
- "type": "integer",
- "format": "int32",
- "readOnly": true,
- "description": "the system defined maximum supported degree of parallelism for this account, which restricts the maximum value of parallelism the user can set for the account."
- },
- "systemMaxJobCount": {
- "type": "integer",
- "format": "int32",
- "readOnly": true,
- "description": "the system defined maximum supported jobs running under the account at the same time, which restricts the maximum number of running jobs the user can set for the account."
- },
- "dataLakeStoreAccounts": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataLakeStoreAccountInfo"
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallState",
+ "modelAsString": false
},
- "description": "the list of Data Lake storage accounts associated with this account."
+ "description": "The current state of the IP address firewall for this account."
},
- "storageAccounts": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StorageAccountInfo"
+ "firewallAllowAzureIps": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallAllowAzureIpsState",
+ "modelAsString": false
},
- "description": "the list of Azure Blob storage accounts associated with this account."
+ "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced."
},
"newTier": {
+ "readOnly": true,
"type": "string",
"enum": [
"Consumption",
@@ -1983,11 +1739,11 @@
"name": "TierType",
"modelAsString": false
},
- "description": "the commitment tier for the next month."
+ "description": "The commitment tier for the next month."
},
"currentTier": {
- "type": "string",
"readOnly": true,
+ "type": "string",
"enum": [
"Consumption",
"Commitment_100AUHours",
@@ -2003,269 +1759,331 @@
"name": "TierType",
"modelAsString": false
},
- "description": "the commitment tier in use for the current month."
- },
- "firewallState": {
- "type": "string",
- "description": "The current state of the IP address firewall for this Data Lake Analytics account.",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "FirewallState",
- "modelAsString": false
- }
- },
- "firewallAllowAzureIps": {
- "type": "string",
- "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "FirewallAllowAzureIpsState",
- "modelAsString": false
- }
- },
- "firewallRules": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FirewallRule"
- },
- "description": "The list of firewall rules associated with this Data Lake Analytics account."
+ "description": "The commitment tier in use for the current month."
},
- "maxDegreeOfParallelismPerJob": {
+ "maxJobCount": {
+ "readOnly": true,
"type": "integer",
"format": "int32",
"minimum": 1,
- "description": "the maximum supported degree of parallelism per job for this account."
+ "default": 3,
+ "description": "The maximum supported jobs running under the account at the same time."
},
- "minPriorityPerJob": {
+ "systemMaxJobCount": {
+ "readOnly": true,
"type": "integer",
"format": "int32",
- "minimum": 1,
- "description": "the minimum supported priority per job for this account."
+ "description": "The system defined maximum supported jobs running under the account at the same time, which restricts the maximum number of running jobs the user can set for the account."
},
- "computePolicies": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ComputePolicyAccountCreateParameters"
- },
- "description": "the list of compute policies to create in this account."
- }
- },
- "description": "The account specific properties that are associated with an underlying Data Lake Analytics account. Returned only when retrieving a specific account."
- },
- "UpdateDataLakeAnalyticsAccountProperties": {
- "properties": {
"maxDegreeOfParallelism": {
+ "readOnly": true,
"type": "integer",
"format": "int32",
"minimum": 1,
- "description": "the maximum supported degree of parallelism for this account."
+ "default": 30,
+ "description": "The maximum supported degree of parallelism for this account."
},
- "queryStoreRetention": {
+ "systemMaxDegreeOfParallelism": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The system defined maximum supported degree of parallelism for this account, which restricts the maximum value of parallelism the user can set for the account."
+ },
+ "maxDegreeOfParallelismPerJob": {
+ "readOnly": true,
"type": "integer",
"format": "int32",
"minimum": 1,
- "maximum": 180,
- "description": "the number of days that job metadata is retained."
+ "description": "The maximum supported degree of parallelism per job for this account."
},
- "maxJobCount": {
+ "minPriorityPerJob": {
+ "readOnly": true,
"type": "integer",
"format": "int32",
"minimum": 1,
- "description": "the maximum supported jobs running under the account at the same time."
+ "description": "The minimum supported priority per job for this account."
},
- "newTier": {
+ "queryStoreRetention": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 180,
+ "default": 30,
+ "description": "The number of days that job metadata is retained."
+ }
+ },
+ "description": "The account specific properties that are associated with an underlying Data Lake Analytics account. Returned only when retrieving a specific account."
+ },
+ "DataLakeAnalyticsAccountPropertiesBasic": {
+ "properties": {
+ "accountId": {
+ "readOnly": true,
"type": "string",
- "enum": [
- "Consumption",
- "Commitment_100AUHours",
- "Commitment_500AUHours",
- "Commitment_1000AUHours",
- "Commitment_5000AUHours",
- "Commitment_10000AUHours",
- "Commitment_50000AUHours",
- "Commitment_100000AUHours",
- "Commitment_500000AUHours"
- ],
- "x-ms-enum": {
- "name": "TierType",
- "modelAsString": false
- },
- "description": "the commitment tier to use for next month."
+ "format": "uuid",
+ "description": "The unique identifier associated with this Data Lake Analytics account."
},
- "firewallState": {
+ "provisioningState": {
+ "readOnly": true,
"type": "string",
- "description": "The current state of the IP address firewall for this Data Lake Analytics account.",
"enum": [
- "Enabled",
- "Disabled"
+ "Failed",
+ "Creating",
+ "Running",
+ "Succeeded",
+ "Patching",
+ "Suspending",
+ "Resuming",
+ "Deleting",
+ "Deleted",
+ "Undeleting",
+ "Canceled"
],
"x-ms-enum": {
- "name": "FirewallState",
+ "name": "DataLakeAnalyticsAccountStatus",
"modelAsString": false
- }
+ },
+ "description": "The provisioning status of the Data Lake Analytics account."
},
- "firewallAllowAzureIps": {
+ "state": {
+ "readOnly": true,
"type": "string",
- "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.",
"enum": [
- "Enabled",
- "Disabled"
+ "Active",
+ "Suspended"
],
"x-ms-enum": {
- "name": "FirewallAllowAzureIpsState",
+ "name": "DataLakeAnalyticsAccountState",
"modelAsString": false
- }
- },
- "firewallRules": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FirewallRule"
},
- "description": "The list of firewall rules associated with this Data Lake Analytics account."
+ "description": "The state of the Data Lake Analytics account."
},
- "maxDegreeOfParallelismPerJob": {
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "the maximum supported degree of parallelism per job for this account."
+ "creationTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The account creation time."
},
- "minPriorityPerJob": {
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "the minimum supported priority per job for this account."
+ "lastModifiedTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The account last modified time."
},
- "computePolicies": {
+ "endpoint": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The full CName endpoint for this account."
+ }
+ },
+ "description": "The basic account specific properties that are associated with an underlying Data Lake Analytics account."
+ },
+ "DataLakeAnalyticsAccountListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
"type": "array",
"items": {
- "$ref": "#/definitions/ComputePolicy"
+ "$ref": "#/definitions/DataLakeAnalyticsAccountBasic"
},
- "description": "the list of existing compute policies to update in this account."
+ "description": "The results of the list operation."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The link (url) to the next page of results."
}
},
- "description": "The properties to update that are associated with an underlying Data Lake Analytics account to."
+ "description": "Data Lake Analytics account list information."
},
- "AddDataLakeStoreParameters": {
+ "DataLakeStoreAccountInformation": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
"properties": {
"properties": {
- "$ref": "#/definitions/DataLakeStoreAccountInfoProperties",
- "description": "the properties for the Data Lake Store account being added.",
- "x-ms-client-flatten": true
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataLakeStoreAccountInformationProperties",
+ "description": "The Data Lake Store account properties."
}
},
- "description": "Additional Data Lake Store parameters."
+ "description": "Data Lake Store account information."
},
- "AddStorageAccountParameters": {
- "required": [
- "properties"
- ],
+ "DataLakeStoreAccountInformationProperties": {
"properties": {
- "properties": {
- "$ref": "#/definitions/StorageAccountProperties",
- "description": "the properties for the Azure Storage account being added.",
- "x-ms-client-flatten": true
+ "suffix": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The optional suffix for the Data Lake Store account."
}
},
- "description": "Storage account parameters for a storage account being added to a Data Lake Analytics account."
+ "description": "The Data Lake Store account properties."
},
- "UpdateStorageAccountParameters": {
+ "DataLakeStoreAccountInformationListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataLakeStoreAccountInformation"
+ },
+ "description": "The results of the list operation."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The link (url) to the next page of results."
+ }
+ },
+ "description": "Data Lake Store account list information."
+ },
+ "StorageAccountInformation": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
"properties": {
"properties": {
- "$ref": "#/definitions/UpdateStorageAccountProperties",
- "description": "the properties for the Azure Storage account being updated.",
- "x-ms-client-flatten": true
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StorageAccountInformationProperties",
+ "description": "The Azure Storage account properties."
}
},
- "description": "Storage account parameters for a storage account being updated in a Data Lake Analytics account."
+ "description": "Azure Storage account information."
},
- "ComputePolicyPropertiesCreateParameters": {
+ "StorageAccountInformationProperties": {
"properties": {
- "objectId": {
+ "suffix": {
+ "readOnly": true,
"type": "string",
- "format": "uuid",
- "description": "The AAD object identifier for the entity to create a policy for."
+ "description": "The optional suffix for the storage account."
+ }
+ },
+ "description": "The Azure Storage account properties."
+ },
+ "StorageAccountInformationListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccountInformation"
+ },
+ "description": "The results of the list operation."
},
- "objectType": {
+ "nextLink": {
+ "readOnly": true,
"type": "string",
- "description": "The type of AAD object the object identifier refers to.",
- "enum": [
- "User",
- "Group",
- "ServicePrincipal"
- ],
- "x-ms-enum": {
- "name": "AADObjectType",
- "modelAsString": true
- }
- },
- "maxDegreeOfParallelismPerJob": {
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The maximum degree of parallelism per job this user can use to submit jobs. This property, the min priority per job property, or both must be passed."
- },
- "minPriorityPerJob": {
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The minimum priority per job this user can use to submit jobs. This property, the max degree of parallelism per job property, or both must be passed."
+ "description": "The link (url) to the next page of results."
}
},
- "required": [
- "objectId",
- "objectType"
- ],
- "description": "The compute policy properties to use when creating a new compute policy"
+ "description": "Azure Storage account list information."
},
- "ComputePolicyCreateOrUpdateParameters": {
+ "StorageContainer": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
"properties": {
"properties": {
- "$ref": "#/definitions/ComputePolicyPropertiesCreateParameters",
- "description": "The policy properties to use when creating a new compute policy",
- "x-ms-client-flatten": true
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StorageContainerProperties",
+ "description": "The properties of the blob container."
}
},
- "required": [
- "properties"
- ],
- "description": "The parameters used to create a new compute policy."
+ "description": "Azure Storage blob container information."
},
- "ComputePolicyAccountCreateParameters": {
+ "StorageContainerProperties": {
"properties": {
- "name": {
+ "lastModifiedTime": {
+ "readOnly": true,
"type": "string",
- "description": "The unique name of the policy to create"
+ "format": "date-time",
+ "description": "The last modified time of the blob container."
+ }
+ },
+ "description": "Azure Storage blob container properties information."
+ },
+ "StorageContainerListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageContainer"
+ },
+ "description": "The results of the list operation."
},
- "properties": {
- "$ref": "#/definitions/ComputePolicyPropertiesCreateParameters",
- "description": "The policy properties to use when creating a new compute policy",
- "x-ms-client-flatten": true
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The link (url) to the next page of results."
}
},
- "required": [
- "name",
- "properties"
+ "description": "The list of blob containers associated with the storage account attached to the Data Lake Analytics account."
+ },
+ "SasTokenInformation": {
+ "properties": {
+ "accessToken": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The access token for the associated Azure Storage Container."
+ }
+ },
+ "description": "SAS token information."
+ },
+ "SasTokenInformationListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SasTokenInformation"
+ },
+ "description": "The results of the list operation."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The link (url) to the next page of results."
+ }
+ },
+ "description": "The SAS response that contains the storage account, container and associated SAS token for connection use."
+ },
+ "ComputePolicy": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
],
- "description": "The parameters used to create a new compute policy."
+ "properties": {
+ "properties": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ComputePolicyProperties",
+ "description": "The compute policy properties."
+ }
+ },
+ "description": "Data Lake Analytics compute policy information."
},
"ComputePolicyProperties": {
"properties": {
"objectId": {
+ "readOnly": true,
"type": "string",
"format": "uuid",
- "readOnly": true,
"description": "The AAD object identifier for the entity to create a policy for."
},
"objectType": {
- "type": "string",
"readOnly": true,
- "description": "The type of AAD object the object identifier refers to.",
+ "type": "string",
"enum": [
"User",
"Group",
@@ -2274,496 +2092,883 @@
"x-ms-enum": {
"name": "AADObjectType",
"modelAsString": true
- }
+ },
+ "description": "The type of AAD object the object identifier refers to."
},
"maxDegreeOfParallelismPerJob": {
+ "readOnly": true,
"type": "integer",
"format": "int32",
"minimum": 1,
"description": "The maximum degree of parallelism per job this user can use to submit jobs."
},
"minPriorityPerJob": {
+ "readOnly": true,
"type": "integer",
"format": "int32",
"minimum": 1,
"description": "The minimum priority per job this user can use to submit jobs."
}
},
- "description": "The compute policy properties to use when creating a new compute policy"
- },
- "ComputePolicy": {
- "properties": {
- "name": {
- "type": "string",
- "readOnly": true,
- "description": "The name of the compute policy"
- },
- "properties": {
- "$ref": "#/definitions/ComputePolicyProperties",
- "description": "The compute policy properties",
- "x-ms-client-flatten": true
- }
- },
- "description": "The parameters used to create a new compute policy."
+ "description": "The compute policy properties."
},
"ComputePolicyListResult": {
"properties": {
"value": {
+ "readOnly": true,
"type": "array",
"items": {
"$ref": "#/definitions/ComputePolicy"
},
- "readOnly": true,
- "description": "the results of the list operation"
+ "description": "The results of the list operation."
},
"nextLink": {
- "type": "string",
"readOnly": true,
- "description": "the link (url) to the next page of results."
+ "type": "string",
+ "description": "The link (url) to the next page of results."
}
},
"description": "The list of compute policies in the account."
},
- "DataLakeAnalyticsAccountUpdateParameters": {
+ "FirewallRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
"properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Resource tags"
- },
"properties": {
- "$ref": "#/definitions/UpdateDataLakeAnalyticsAccountProperties",
- "description": "The properties that can be updated in an existing Data Lake Analytics account.",
- "x-ms-client-flatten": true
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FirewallRuleProperties",
+ "description": "The firewall rule properties."
}
},
- "description": "The parameters that can be used to update an existing Data Lake Analytics account."
+ "description": "Data Lake Analytics firewall rule information."
},
- "DataLakeAnalyticsAccountBasic": {
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
+ "FirewallRuleProperties": {
+ "properties": {
+ "startIpAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ },
+ "endIpAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
}
- ],
- "required": [
- "properties"
- ],
+ },
+ "description": "The firewall rule properties."
+ },
+ "FirewallRuleListResult": {
"properties": {
- "properties": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountPropertiesBasic",
- "description": "The properties defined by Data Lake Analytics all properties are specific to each resource provider.",
- "x-ms-client-flatten": true
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The results of the list operation."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The link (url) to the next page of results."
}
},
- "description": "A Data Lake Analytics account object, containing all information associated with the named Data Lake Analytics account."
+ "description": "Data Lake Analytics firewall rule list information."
},
- "DataLakeAnalyticsAccountPropertiesBasic": {
+ "Operation": {
"properties": {
- "provisioningState": {
+ "name": {
"readOnly": true,
"type": "string",
- "description": "the provisioning status of the Data Lake Analytics account.",
- "enum": [
- "Failed",
- "Creating",
- "Running",
- "Succeeded",
- "Patching",
- "Suspending",
- "Resuming",
- "Deleting",
- "Deleted",
- "Undeleting",
- "Canceled"
- ],
- "x-ms-enum": {
- "name": "DataLakeAnalyticsAccountStatus",
- "modelAsString": false
- }
+ "description": "The name of the operation."
},
- "state": {
+ "display": {
+ "readOnly": true,
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "The display information for the operation."
+ },
+ "origin": {
"readOnly": true,
"type": "string",
- "description": "the state of the Data Lake Analytics account.",
"enum": [
- "Active",
- "Suspended"
+ "user",
+ "system",
+ "user,system"
],
"x-ms-enum": {
- "name": "DataLakeAnalyticsAccountState",
- "modelAsString": false
- }
+ "name": "OperationOrigin",
+ "modelAsString": true
+ },
+ "description": "The intended executor of the operation."
+ }
+ },
+ "description": "An available operation for Data Lake Analytics."
+ },
+ "OperationDisplay": {
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource provider of the operation."
},
- "creationTime": {
+ "resource": {
+ "readOnly": true,
"type": "string",
+ "description": "The resource type of the operation."
+ },
+ "operation": {
"readOnly": true,
- "format": "date-time",
- "description": "the account creation time."
+ "type": "string",
+ "description": "A friendly name of the operation."
},
- "lastModifiedTime": {
+ "description": {
+ "readOnly": true,
"type": "string",
+ "description": "A friendly description of the operation."
+ }
+ },
+ "description": "The display information for a particular operation."
+ },
+ "OperationListResult": {
+ "properties": {
+ "value": {
"readOnly": true,
- "format": "date-time",
- "description": "the account last modified time."
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The results of the list operation."
},
- "endpoint": {
+ "nextLink": {
+ "readOnly": true,
"type": "string",
+ "description": "The link (url) to the next page of results."
+ }
+ },
+ "description": "The list of available operations for Data Lake Analytics."
+ },
+ "CapabilityInformation": {
+ "properties": {
+ "subscriptionId": {
"readOnly": true,
- "description": "the full CName endpoint for this account."
- },
- "accountId": {
"type": "string",
"format": "uuid",
+ "description": "The subscription credentials that uniquely identifies the subscription."
+ },
+ "state": {
"readOnly": true,
- "description": "The unique identifier associated with this Data Lake Analytics account."
+ "type": "string",
+ "enum": [
+ "Registered",
+ "Suspended",
+ "Deleted",
+ "Unregistered",
+ "Warned"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": true
+ },
+ "description": "The subscription state."
+ },
+ "maxAccountCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum supported number of accounts under this subscription."
+ },
+ "accountCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The current number of accounts under this subscription."
+ },
+ "migrationState": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to indicate the maintenance state."
}
},
- "description": "The basic account specific properties that are associated with an underlying Data Lake Analytics account."
+ "description": "Subscription-level properties and limits for Data Lake Analytics."
},
- "DataLakeAnalyticsAccount": {
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
+ "NameAvailabilityInformation": {
+ "properties": {
+ "nameAvailable": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to indicate whether the Data Lake Analytics account name is available or not."
+ },
+ "reason": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The reason why the Data Lake Analytics account name is not available, if nameAvailable is false."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The message describing why the Data Lake Analytics account name is not available, if nameAvailable is false."
}
- ],
+ },
+ "description": "Data Lake Analytics account name availability result information."
+ },
+ "CreateDataLakeAnalyticsAccountParameters": {
"required": [
+ "location",
"properties"
],
"properties": {
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ },
"properties": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountProperties",
- "description": "The properties defined by Data Lake Analytics all properties are specific to each resource provider.",
- "x-ms-client-flatten": true
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateDataLakeAnalyticsAccountProperties",
+ "description": "The Data Lake Analytics account properties to use for creating."
}
},
- "description": "A Data Lake Analytics account object, containing all information associated with the named Data Lake Analytics account."
+ "description": "The parameters to use for creating a Data Lake Analytics account."
},
- "DataLakeAnalyticsAccountListResult": {
+ "CreateDataLakeAnalyticsAccountProperties": {
+ "required": [
+ "defaultDataLakeStoreAccount",
+ "dataLakeStoreAccounts"
+ ],
"properties": {
- "value": {
+ "defaultDataLakeStoreAccount": {
+ "type": "string",
+ "description": "The default Data Lake Store account associated with this account."
+ },
+ "dataLakeStoreAccounts": {
"type": "array",
"items": {
- "$ref": "#/definitions/DataLakeAnalyticsAccountBasic"
+ "$ref": "#/definitions/AddDataLakeStoreWithAccountParameters"
},
- "readOnly": true,
- "description": "the results of the list operation"
+ "description": "The list of Data Lake Store accounts associated with this account."
},
- "nextLink": {
+ "storageAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AddStorageAccountWithAccountParameters"
+ },
+ "description": "The list of Azure Blob Storage accounts associated with this account."
+ },
+ "computePolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateComputePolicyWithAccountParameters"
+ },
+ "description": "The list of compute policies associated with this account."
+ },
+ "firewallRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateFirewallRuleWithAccountParameters"
+ },
+ "description": "The list of firewall rules associated with this account."
+ },
+ "firewallState": {
"type": "string",
- "readOnly": true,
- "description": "the link (url) to the next page of results."
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallState",
+ "modelAsString": false
+ },
+ "description": "The current state of the IP address firewall for this account."
+ },
+ "firewallAllowAzureIps": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallAllowAzureIpsState",
+ "modelAsString": false
+ },
+ "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced."
+ },
+ "newTier": {
+ "type": "string",
+ "enum": [
+ "Consumption",
+ "Commitment_100AUHours",
+ "Commitment_500AUHours",
+ "Commitment_1000AUHours",
+ "Commitment_5000AUHours",
+ "Commitment_10000AUHours",
+ "Commitment_50000AUHours",
+ "Commitment_100000AUHours",
+ "Commitment_500000AUHours"
+ ],
+ "x-ms-enum": {
+ "name": "TierType",
+ "modelAsString": false
+ },
+ "description": "The commitment tier for the next month."
+ },
+ "maxJobCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "default": 3,
+ "description": "The maximum supported jobs running under the account at the same time."
+ },
+ "maxDegreeOfParallelism": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "default": 30,
+ "description": "The maximum supported degree of parallelism for this account."
+ },
+ "maxDegreeOfParallelismPerJob": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The maximum supported degree of parallelism per job for this account."
+ },
+ "minPriorityPerJob": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The minimum supported priority per job for this account."
+ },
+ "queryStoreRetention": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 180,
+ "default": 30,
+ "description": "The number of days that job metadata is retained."
+ }
+ }
+ },
+ "UpdateDataLakeAnalyticsAccountParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateDataLakeAnalyticsAccountProperties",
+ "description": "The properties that can be updated in an existing Data Lake Analytics account."
}
},
- "description": "DataLakeAnalytics Account list information."
+ "description": "The parameters that can be used to update an existing Data Lake Analytics account."
},
- "DataLakeAnalyticsFirewallRuleListResult": {
+ "UpdateDataLakeAnalyticsAccountProperties": {
"properties": {
- "value": {
+ "dataLakeStoreAccounts": {
"type": "array",
- "readOnly": true,
"items": {
- "$ref": "#/definitions/FirewallRule"
+ "$ref": "#/definitions/UpdateDataLakeStoreWithAccountParameters"
},
- "description": "the results of the list operation"
+ "description": "The list of Data Lake Store accounts associated with this account."
},
- "nextLink": {
+ "storageAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateStorageAccountWithAccountParameters"
+ },
+ "description": "The list of Azure Blob storage accounts associated with this account."
+ },
+ "computePolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateComputePolicyWithAccountParameters"
+ },
+ "description": "The list of compute policies associated with this account."
+ },
+ "firewallRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateFirewallRuleWithAccountParameters"
+ },
+ "description": "The list of firewall rules associated with this Data Lake Analytics account."
+ },
+ "firewallState": {
"type": "string",
- "readOnly": true,
- "description": "the link (url) to the next page of results."
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallState",
+ "modelAsString": false
+ },
+ "description": "The current state of the IP address firewall for this Data Lake Analytics account."
+ },
+ "firewallAllowAzureIps": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallAllowAzureIpsState",
+ "modelAsString": false
+ },
+ "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced."
+ },
+ "newTier": {
+ "type": "string",
+ "enum": [
+ "Consumption",
+ "Commitment_100AUHours",
+ "Commitment_500AUHours",
+ "Commitment_1000AUHours",
+ "Commitment_5000AUHours",
+ "Commitment_10000AUHours",
+ "Commitment_50000AUHours",
+ "Commitment_100000AUHours",
+ "Commitment_500000AUHours"
+ ],
+ "x-ms-enum": {
+ "name": "TierType",
+ "modelAsString": false
+ },
+ "description": "The commitment tier to use for next month."
+ },
+ "maxJobCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The maximum supported jobs running under the account at the same time."
+ },
+ "maxDegreeOfParallelism": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The maximum supported degree of parallelism for this account."
+ },
+ "maxDegreeOfParallelismPerJob": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The maximum supported degree of parallelism per job for this account."
+ },
+ "minPriorityPerJob": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The minimum supported priority per job for this account."
+ },
+ "queryStoreRetention": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 180,
+ "description": "The number of days that job metadata is retained."
}
},
- "description": "Data Lake Analytics firewall rule list information."
+ "description": "The properties to update that are associated with an underlying Data Lake Analytics account."
},
- "FirewallRuleProperties": {
+ "AddDataLakeStoreParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AddDataLakeStoreProperties",
+ "description": "The Data Lake Store account properties to use when adding a new Data Lake Store account."
+ }
+ },
+ "description": "The parameters used to add a new Data Lake Store account."
+ },
+ "AddDataLakeStoreWithAccountParameters": {
"required": [
- "startIpAddress",
- "endIpAddress"
+ "name"
],
"properties": {
- "startIpAddress": {
+ "name": {
"type": "string",
- "description": "the start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ "description": "The unique name of the Data Lake Store account to add."
},
- "endIpAddress": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AddDataLakeStoreProperties",
+ "description": "The Data Lake Store account properties to use when adding a new Data Lake Store account."
+ }
+ },
+ "description": "The parameters used to add a new Data Lake Store account while creating a new Data Lake Analytics account."
+ },
+ "AddDataLakeStoreProperties": {
+ "properties": {
+ "suffix": {
"type": "string",
- "description": "the end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ "description": "The optional suffix for the Data Lake Store account."
+ }
+ },
+ "description": "The Data Lake Store account properties to use when adding a new Data Lake Store account."
+ },
+ "UpdateDataLakeStoreWithAccountParameters": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The unique name of the Data Lake Store account to update."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateDataLakeStoreProperties",
+ "description": "The Data Lake Store account properties to use when updating a Data Lake Store account."
+ }
+ },
+ "description": "The parameters used to update a Data Lake Store account while updating a Data Lake Analytics account."
+ },
+ "UpdateDataLakeStoreProperties": {
+ "properties": {
+ "suffix": {
+ "type": "string",
+ "description": "The optional suffix for the Data Lake Store account."
+ }
+ },
+ "description": "The Data Lake Store account properties to use when updating a Data Lake Store account."
+ },
+ "AddStorageAccountParameters": {
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AddStorageAccountProperties",
+ "description": "The Azure Storage account properties to use when adding a new Azure Storage account."
}
},
- "description": "Data Lake Analytics firewall rule properties information"
+ "description": "The parameters used to add a new Azure Storage account."
},
- "FirewallRule": {
+ "AddStorageAccountWithAccountParameters": {
"required": [
+ "name",
"properties"
],
- "allOf": [
- {
- "$ref": "#/definitions/OptionalSubResource"
- }
- ],
"properties": {
+ "name": {
+ "type": "string",
+ "description": "The unique name of the Azure Storage account to add."
+ },
"properties": {
- "$ref": "#/definitions/FirewallRuleProperties",
- "description": "the properties of the firewall rule.",
- "x-ms-client-flatten": true
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AddStorageAccountProperties",
+ "description": "The Azure Storage account properties to use when adding a new Azure Storage account."
}
},
- "description": "Data Lake Analytics firewall rule information"
+ "description": "The parameters used to add a new Azure Storage account while creating a new Data Lake Analytics account."
},
- "UpdateFirewallRuleProperties": {
+ "AddStorageAccountProperties": {
+ "required": [
+ "accessKey"
+ ],
"properties": {
- "startIpAddress": {
+ "accessKey": {
"type": "string",
- "description": "the start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ "description": "The access key associated with this Azure Storage account that will be used to connect to it."
},
- "endIpAddress": {
+ "suffix": {
"type": "string",
- "description": "the end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ "description": "The optional suffix for the storage account."
}
},
- "description": "Data Lake Analytics firewall rule properties information"
+ "description": "The Azure Storage account properties to use when adding a new Azure Storage account."
},
- "UpdateFirewallRuleParameters": {
+ "UpdateStorageAccountParameters": {
"properties": {
"properties": {
- "$ref": "#/definitions/UpdateFirewallRuleProperties",
- "description": "the properties of the firewall rule to update.",
- "x-ms-client-flatten": true
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateStorageAccountProperties",
+ "description": "The Azure Storage account properties to use when updating an Azure Storage account."
}
},
- "description": "Data Lake Analytics firewall rule update parameters"
+ "description": "The parameters used to update an Azure Storage account."
},
- "NameAvailabilityInformation": {
+ "UpdateStorageAccountWithAccountParameters": {
+ "required": [
+ "name"
+ ],
"properties": {
- "nameAvailable": {
- "type": "boolean",
- "readOnly": true,
- "description": "the Boolean value of true or false to indicate whether the Data Lake Analytics account name is available or not."
- },
- "reason": {
+ "name": {
"type": "string",
- "readOnly": true,
- "description": "the reason why the Data Lake Analytics account name is not available, if nameAvailable is false."
+ "description": "The unique name of the Azure Storage account to update."
},
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "the message describing why the Data Lake Analytics account name is not available, if nameAvailable is false."
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateStorageAccountProperties",
+ "description": "The Azure Storage account properties to use when updating an Azure Storage account."
}
},
- "description": "Data Lake Analytics account name availability result information"
+ "description": "The parameters used to update an Azure Storage account while updating a Data Lake Analytics account."
},
- "CheckNameAvailabilityParameters": {
+ "UpdateStorageAccountProperties": {
"properties": {
- "name": {
+ "accessKey": {
"type": "string",
- "description": "the Data Lake Analytics name to check availability for."
+ "description": "The updated access key associated with this Azure Storage account that will be used to connect to it."
},
- "type": {
+ "suffix": {
"type": "string",
- "enum": [
- "Microsoft.DataLakeAnalytics/accounts"
- ],
- "description": "the Resource type. Note: This should not be set by the user, as the constant value is Microsoft.DataLakeAnalytics/accounts"
+ "description": "The optional suffix for the storage account."
}
},
+ "description": "The Azure Storage account properties to use when updating an Azure Storage account."
+ },
+ "CreateOrUpdateComputePolicyParameters": {
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateComputePolicyProperties",
+ "description": "The compute policy properties to use when creating a new compute policy."
+ }
+ },
+ "description": "The parameters used to create a new compute policy."
+ },
+ "CreateComputePolicyWithAccountParameters": {
"required": [
"name",
- "type"
+ "properties"
],
- "description": "Data Lake Analytics account name availability check parameters"
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The unique name of the compute policy to create."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateComputePolicyProperties",
+ "description": "The compute policy properties to use when creating a new compute policy."
+ }
+ },
+ "description": "The parameters used to create a new compute policy while creating a new Data Lake Analytics account."
},
- "CapabilityInformation": {
+ "CreateOrUpdateComputePolicyProperties": {
+ "required": [
+ "objectId",
+ "objectType"
+ ],
"properties": {
- "subscriptionId": {
+ "objectId": {
"type": "string",
"format": "uuid",
- "readOnly": true,
- "description": "the subscription credentials that uniquely identifies the subscription."
+ "description": "The AAD object identifier for the entity to create a policy for."
},
- "state": {
+ "objectType": {
"type": "string",
"enum": [
- "Registered",
- "Suspended",
- "Deleted",
- "Unregistered",
- "Warned"
+ "User",
+ "Group",
+ "ServicePrincipal"
],
"x-ms-enum": {
- "name": "SubscriptionState",
+ "name": "AADObjectType",
"modelAsString": true
},
- "readOnly": true,
- "description": "the subscription state."
+ "description": "The type of AAD object the object identifier refers to."
},
- "maxAccountCount": {
+ "maxDegreeOfParallelismPerJob": {
"type": "integer",
"format": "int32",
- "readOnly": true,
- "description": "the maximum supported number of accounts under this subscription."
+ "minimum": 1,
+ "description": "The maximum degree of parallelism per job this user can use to submit jobs. This property, the min priority per job property, or both must be passed."
},
- "accountCount": {
+ "minPriorityPerJob": {
"type": "integer",
"format": "int32",
- "readOnly": true,
- "description": "the current number of accounts under this subscription."
- },
- "migrationState": {
- "type": "boolean",
- "readOnly": true,
- "description": "the Boolean value of true or false to indicate the maintenance state."
+ "minimum": 1,
+ "description": "The minimum priority per job this user can use to submit jobs. This property, the max degree of parallelism per job property, or both must be passed."
}
},
- "description": "Subscription-level properties and limits for Data Lake Analytics"
+ "description": "The compute policy properties to use when creating a new compute policy."
},
- "OperationDisplay": {
+ "UpdateComputePolicyParameters": {
"properties": {
- "provider": {
- "type": "string",
- "readOnly": true,
- "description": "the Resource provider of the operation."
- },
- "resource": {
- "type": "string",
- "readOnly": true,
- "description": "the Resource type of the operation."
- },
- "operation": {
- "type": "string",
- "readOnly": true,
- "description": "a friendly name of the operation."
- },
- "description": {
- "type": "string",
- "readOnly": true,
- "description": "a friendly description of the operation."
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateComputePolicyProperties",
+ "description": "The compute policy properties to use when updating a compute policy."
}
},
- "description": "The display information for a particular operation"
+ "description": "The parameters used to update a compute policy."
},
- "Operation": {
+ "UpdateComputePolicyWithAccountParameters": {
+ "required": [
+ "name"
+ ],
"properties": {
"name": {
"type": "string",
- "readOnly": true,
- "description": "the name of the operation."
+ "description": "The unique name of the compute policy to update."
},
- "display": {
- "$ref": "#/definitions/OperationDisplay",
- "description": "the display information for the operation."
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateComputePolicyProperties",
+ "description": "The compute policy properties to use when updating a compute policy."
+ }
+ },
+ "description": "The parameters used to update a compute policy while updating a Data Lake Analytics account."
+ },
+ "UpdateComputePolicyProperties": {
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The AAD object identifier for the entity to create a policy for."
},
- "origin": {
+ "objectType": {
"type": "string",
"enum": [
- "user",
- "system",
- "user,system"
+ "User",
+ "Group",
+ "ServicePrincipal"
],
"x-ms-enum": {
- "name": "OperationOrigin",
+ "name": "AADObjectType",
"modelAsString": true
},
- "readOnly": true,
- "description": "the intended executor of the operation."
+ "description": "The type of AAD object the object identifier refers to."
+ },
+ "maxDegreeOfParallelismPerJob": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The maximum degree of parallelism per job this user can use to submit jobs. This property, the min priority per job property, or both must be passed."
+ },
+ "minPriorityPerJob": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The minimum priority per job this user can use to submit jobs. This property, the max degree of parallelism per job property, or both must be passed."
}
},
- "description": "An available operation for Data Lake Analytics"
+ "description": "The compute policy properties to use when updating a compute policy."
},
- "OperationListResult": {
+ "CreateOrUpdateFirewallRuleParameters": {
+ "required": [
+ "properties"
+ ],
"properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- },
- "readOnly": true,
- "description": "the results of the list operation."
- },
- "nextLink": {
- "type": "string",
- "readOnly": true,
- "description": "the link (url) to the next page of results."
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when creating a new firewall rule."
}
},
- "description": "The list of available operations for Data Lake Analytics"
+ "description": "The parameters used to create a new firewall rule."
},
- "Resource": {
- "description": "The Resource model definition.",
+ "CreateFirewallRuleWithAccountParameters": {
+ "required": [
+ "name",
+ "properties"
+ ],
"properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Resource Id"
- },
"name": {
- "readOnly": true,
"type": "string",
- "description": "Resource name"
+ "description": "The unique name of the firewall rule to create."
},
- "type": {
- "readOnly": true,
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when creating a new firewall rule."
+ }
+ },
+ "description": "The parameters used to create a new firewall rule while creating a new Data Lake Analytics account."
+ },
+ "CreateOrUpdateFirewallRuleProperties": {
+ "required": [
+ "startIpAddress",
+ "endIpAddress"
+ ],
+ "properties": {
+ "startIpAddress": {
"type": "string",
- "description": "Resource type"
+ "description": "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
},
- "location": {
+ "endIpAddress": {
"type": "string",
- "description": "Resource location"
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Resource tags"
+ "description": "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ }
+ },
+ "description": "The firewall rule properties to use when creating a new firewall rule."
+ },
+ "UpdateFirewallRuleParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when updating a firewall rule."
}
},
+ "description": "The parameters used to update a firewall rule."
+ },
+ "UpdateFirewallRuleWithAccountParameters": {
"required": [
- "location"
+ "name"
],
- "x-ms-azure-resource": true
- },
- "OptionalSubResource": {
- "description": "The Resource model definition for a nested resource with no required properties.",
"properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Resource Id"
- },
"name": {
"type": "string",
- "description": "Resource name"
+ "description": "The unique name of the firewall rule to update."
},
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "Resource type"
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when updating a firewall rule."
}
- }
+ },
+ "description": "The parameters used to update a firewall rule while updating a Data Lake Analytics account."
},
- "SubResource": {
- "description": "The Sub Resource model definition.",
+ "UpdateFirewallRuleProperties": {
"properties": {
- "id": {
- "readOnly": true,
+ "startIpAddress": {
"type": "string",
- "description": "Resource Id"
+ "description": "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
},
+ "endIpAddress": {
+ "type": "string",
+ "description": "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ }
+ },
+ "description": "The firewall rule properties to use when updating a firewall rule."
+ },
+ "CheckNameAvailabilityParameters": {
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
"name": {
"type": "string",
- "description": "Resource name"
+ "description": "The Data Lake Analytics name to check availability for."
},
"type": {
- "readOnly": true,
"type": "string",
- "description": "Resource type"
+ "enum": [
+ "Microsoft.DataLakeAnalytics/accounts"
+ ],
+ "description": "The resource type. Note: This should not be set by the user, as the constant value is Microsoft.DataLakeAnalytics/accounts"
}
},
- "required": [
- "name"
- ]
+ "description": "Data Lake Analytics account name availability check parameters."
}
},
"parameters": {
@@ -2780,6 +2985,22 @@
"required": true,
"type": "string",
"description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Azure resource group."
+ },
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Data Lake Analytics account."
}
}
}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_CheckNameAvailability.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_CheckNameAvailability.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_CheckNameAvailability.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_CheckNameAvailability.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Create.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Create.json
new file mode 100644
index 000000000000..e6ea0edac6d3
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Create.json
@@ -0,0 +1,190 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "parameters": {
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "defaultDataLakeStoreAccount": "test_account",
+ "dataLakeStoreAccounts": [{
+ "name": "test_adls",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "storageAccounts": [{
+ "name": "test_storage",
+ "properties": {
+ "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
+ "suffix": "test_suffix"
+ }
+ }],
+ "computePolicies": [{
+ "name": "test_policy",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "name": "test_rule",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "maxJobCount": 3,
+ "maxDegreeOfParallelism": 30,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 30
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rgaba12041/providers/Microsoft.DataLakeAnalytics/accounts/testaba15818",
+ "name": "test_account",
+ "type": "Microsoft.DataLakeAnalytics/accounts",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "test_endpoint",
+ "defaultDataLakeStoreAccount": "test_account",
+ "dataLakeStoreAccounts": [{
+ "id": "test_adls_id",
+ "name": "test_adls",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "storageAccounts": [{
+ "id": "test_storage_id",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "computePolicies": [{
+ "id": "test_policy_id",
+ "name": "test_policy",
+ "type": "test_type",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "id": "test_firewall_id",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "maxJobCount": 3,
+ "systemMaxJobCount": 1,
+ "maxDegreeOfParallelism": 30,
+ "systemMaxDegreeOfParallelism": 1,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 30
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rgaba12041/providers/Microsoft.DataLakeAnalytics/accounts/testaba15818",
+ "name": "test_account",
+ "type": "Microsoft.DataLakeAnalytics/accounts",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "test_endpoint",
+ "defaultDataLakeStoreAccount": "test_account",
+ "dataLakeStoreAccounts": [{
+ "id": "test_adls_id",
+ "name": "test_adls",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "storageAccounts": [{
+ "id": "test_storage_id",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "computePolicies": [{
+ "id": "test_policy_id",
+ "name": "test_policy",
+ "type": "test_type",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "id": "test_firewall_id",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "maxJobCount": 3,
+ "systemMaxJobCount": 1,
+ "maxDegreeOfParallelism": 30,
+ "systemMaxDegreeOfParallelism": 1,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 30
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Delete.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Delete.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Delete.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Get.json
new file mode 100644
index 000000000000..bc959281964c
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Get.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rgaba12041/providers/Microsoft.DataLakeAnalytics/accounts/testaba15818",
+ "name": "test_account",
+ "type": "Microsoft.DataLakeAnalytics/accounts",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "test_endpoint",
+ "defaultDataLakeStoreAccount": "test_account",
+ "dataLakeStoreAccounts": [{
+ "id": "test_adls_id",
+ "name": "test_adls",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "storageAccounts": [{
+ "id": "test_storage_id",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "computePolicies": [{
+ "id": "test_policy_id",
+ "name": "test_policy",
+ "type": "test_type",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "id": "test_firewall_id",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "maxJobCount": 3,
+ "systemMaxJobCount": 1,
+ "maxDegreeOfParallelism": 30,
+ "systemMaxDegreeOfParallelism": 1,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 30
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_List.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_List.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_List.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_List.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_ListByResourceGroup.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_ListByResourceGroup.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_ListByResourceGroup.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_ListByResourceGroup.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Update.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Update.json
new file mode 100644
index 000000000000..5a617f9ec664
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Accounts_Update.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "parameters": {
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "computePolicies": [{
+ "name": "test_policy",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "name": "test_rule",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "maxJobCount": 1,
+ "maxDegreeOfParallelism": 1,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rgaba12041/providers/Microsoft.DataLakeAnalytics/accounts/testaba15818",
+ "name": "test_account",
+ "type": "Microsoft.DataLakeAnalytics/accounts",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "test_endpoint",
+ "defaultDataLakeStoreAccount": "test_account",
+ "dataLakeStoreAccounts": [{
+ "id": "test_adls_id",
+ "name": "test_adls",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "storageAccounts": [{
+ "id": "test_storage_id",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "computePolicies": [{
+ "id": "test_policy_id",
+ "name": "test_policy",
+ "type": "test_type",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "id": "test_firewall_id",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "maxJobCount": 3,
+ "systemMaxJobCount": 1,
+ "maxDegreeOfParallelism": 30,
+ "systemMaxDegreeOfParallelism": 1,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 30
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rgaba12041/providers/Microsoft.DataLakeAnalytics/accounts/testaba15818",
+ "name": "test_account",
+ "type": "Microsoft.DataLakeAnalytics/accounts",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "test_endpoint",
+ "defaultDataLakeStoreAccount": "test_account",
+ "dataLakeStoreAccounts": [{
+ "id": "test_adls_id",
+ "name": "test_adls",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "storageAccounts": [{
+ "id": "test_storage_id",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "computePolicies": [{
+ "id": "test_policy_id",
+ "name": "test_policy",
+ "type": "test_type",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "id": "test_firewall_id",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "maxJobCount": 3,
+ "systemMaxJobCount": 1,
+ "maxDegreeOfParallelism": 30,
+ "systemMaxDegreeOfParallelism": 1,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 30
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rgaba12041/providers/Microsoft.DataLakeAnalytics/accounts/testaba15818",
+ "name": "test_account",
+ "type": "Microsoft.DataLakeAnalytics/accounts",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "test_endpoint",
+ "defaultDataLakeStoreAccount": "test_account",
+ "dataLakeStoreAccounts": [{
+ "id": "test_adls_id",
+ "name": "test_adls",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "storageAccounts": [{
+ "id": "test_storage_id",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "computePolicies": [{
+ "id": "test_policy_id",
+ "name": "test_policy",
+ "type": "test_type",
+ "properties": {
+ "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "objectType": "User",
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1
+ }
+ }],
+ "firewallRules": [{
+ "id": "test_firewall_id",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "firewallState": "Enabled",
+ "firewallAllowAzureIps": "Enabled",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "maxJobCount": 3,
+ "systemMaxJobCount": 1,
+ "maxDegreeOfParallelism": 30,
+ "systemMaxDegreeOfParallelism": 1,
+ "maxDegreeOfParallelismPerJob": 1,
+ "minPriorityPerJob": 1,
+ "queryStoreRetention": 30
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Create.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Create.json
deleted file mode 100644
index 453b295ad544..000000000000
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Create.json
+++ /dev/null
@@ -1,194 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "parameters": {
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "defaultDataLakeStoreAccount": "test_account",
- "maxDegreeOfParallelism": 30,
- "queryStoreRetention": 30,
- "maxJobCount": 3,
- "dataLakeStoreAccounts": [{
- "id": "test_adls_id",
- "name": "test_adls",
- "type": "test_type",
- "properties": {
- "suffix": "test_suffix"
- }
- }],
- "storageAccounts": [{
- "id": "test_storage_id",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }],
- "newTier": "Consumption",
- "firewallState": "Enabled",
- "firewallAllowAzureIps": "Enabled",
- "firewallRules": [{
- "id": "test_firewall_id",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1,
- "computePolicies": [{
- "name": "test_policy",
- "properties": {
- "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "objectType": "User",
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1
- }
- }]
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_account",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "test_endpoint",
- "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "defaultDataLakeStoreAccount": "test_account",
- "maxDegreeOfParallelism": 30,
- "queryStoreRetention": 30,
- "maxJobCount": 3,
- "systemMaxDegreeOfParallelism": 1,
- "systemMaxJobCount": 1,
- "dataLakeStoreAccounts": [{
- "id": "test_adls_id",
- "name": "test_adls",
- "type": "test_type",
- "properties": {
- "suffix": "test_suffix"
- }
- }],
- "storageAccounts": [{
- "id": "test_storage_id",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }],
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallState": "Enabled",
- "firewallAllowAzureIps": "Enabled",
- "firewallRules": [{
- "id": "test_firewall_id",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1,
- "computePolicies": [{
- "name": "test_policy",
- "properties": {
- "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "objectType": "User",
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1
- }
- }]
- }
- }
- },
- "201": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_account",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "test_endpoint",
- "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "defaultDataLakeStoreAccount": "test_account",
- "maxDegreeOfParallelism": 30,
- "queryStoreRetention": 30,
- "maxJobCount": 3,
- "systemMaxDegreeOfParallelism": 1,
- "systemMaxJobCount": 1,
- "dataLakeStoreAccounts": [{
- "id": "test_adls_id",
- "name": "test_adls",
- "type": "test_type",
- "properties": {
- "suffix": "test_suffix"
- }
- }],
- "storageAccounts": [{
- "id": "test_storage_id",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }],
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallState": "Enabled",
- "firewallAllowAzureIps": "Enabled",
- "firewallRules": [{
- "id": "test_firewall_id",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1,
- "computePolicies": [{
- "name": "test_policy",
- "properties": {
- "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "objectType": "User",
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1
- }
- }]
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Get.json
deleted file mode 100644
index 54f5282d66f3..000000000000
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Get.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla"
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_account",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "test_endpoint",
- "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "defaultDataLakeStoreAccount": "test_account",
- "maxDegreeOfParallelism": 30,
- "queryStoreRetention": 30,
- "maxJobCount": 3,
- "systemMaxDegreeOfParallelism": 1,
- "systemMaxJobCount": 1,
- "dataLakeStoreAccounts": [{
- "id": "test_adls_id",
- "name": "test_adls",
- "type": "test_type",
- "properties": {
- "suffix": "test_suffix"
- }
- }],
- "storageAccounts": [{
- "id": "test_storage_id",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }],
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallState": "Enabled",
- "firewallAllowAzureIps": "Enabled",
- "firewallRules": [{
- "id": "test_firewall_id",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1,
- "computePolicies": [{
- "name": "test_policy",
- "properties": {
- "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "objectType": "User",
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1
- }
- }]
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Update.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Update.json
deleted file mode 100644
index d2c52e226875..000000000000
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Account_Update.json
+++ /dev/null
@@ -1,175 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "parameters": {
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "maxDegreeOfParallelism": 1,
- "queryStoreRetention": 1,
- "maxJobCount": 1,
- "newTier": "Consumption",
- "firewallState": "Enabled",
- "firewallAllowAzureIps": "Enabled",
- "firewallRules": [{
- "id": "test_firewall_id",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1,
- "computePolicies": [{
- "name": "test_policy",
- "properties": {
- "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "objectType": "User",
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1
- }
- }]
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_account",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "test_endpoint",
- "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "defaultDataLakeStoreAccount": "test_account",
- "maxDegreeOfParallelism": 30,
- "queryStoreRetention": 30,
- "maxJobCount": 3,
- "systemMaxDegreeOfParallelism": 1,
- "systemMaxJobCount": 1,
- "dataLakeStoreAccounts": [{
- "id": "test_adls_id",
- "name": "test_adls",
- "type": "test_type",
- "properties": {
- "suffix": "test_suffix"
- }
- }],
- "storageAccounts": [{
- "id": "test_storage_id",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }],
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallState": "Enabled",
- "firewallAllowAzureIps": "Enabled",
- "firewallRules": [{
- "id": "test_firewall_id",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1,
- "computePolicies": [{
- "name": "test_policy",
- "properties": {
- "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "objectType": "User",
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1
- }
- }]
- }
- }
- },
- "201": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_account",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "test_endpoint",
- "accountId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "defaultDataLakeStoreAccount": "test_account",
- "maxDegreeOfParallelism": 30,
- "queryStoreRetention": 30,
- "maxJobCount": 3,
- "systemMaxDegreeOfParallelism": 1,
- "systemMaxJobCount": 1,
- "dataLakeStoreAccounts": [{
- "id": "test_adls_id",
- "name": "test_adls",
- "type": "test_type",
- "properties": {
- "suffix": "test_suffix"
- }
- }],
- "storageAccounts": [{
- "id": "test_storage_id",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }],
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallState": "Enabled",
- "firewallAllowAzureIps": "Enabled",
- "firewallRules": [{
- "id": "test_firewall_id",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1,
- "computePolicies": [{
- "name": "test_policy",
- "properties": {
- "objectId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "objectType": "User",
- "maxDegreeOfParallelismPerJob": 1,
- "minPriorityPerJob": 1
- }
- }]
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_Get.json
deleted file mode 100644
index 8aaebd713c14..000000000000
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_Get.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "dataLakeStoreAccountName": "test_adls_account"
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_adls",
- "type": "test_type",
- "properties": {
- "suffix": "test_suffix"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_CreateOrUpdate.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_CreateOrUpdate.json
deleted file mode 100644
index ffa9d125c693..000000000000
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_CreateOrUpdate.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "firewallRuleName": "test_rule",
- "parameters": {
- "name": "test_rule",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Get.json
deleted file mode 100644
index 58ac607d5f18..000000000000
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Get.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "storageAccountName": "test_storage"
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_ListByAccount.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_ListByAccount.json
deleted file mode 100644
index 3b227d25a13f..000000000000
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_ListByAccount.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "$filter": "test_filter",
- "$top": 1,
- "$skip": 1,
- "$select": "test_select",
- "$orderby": "test_orderby",
- "$count": false
- },
- "responses": {
- "200": {
- "body": {
- "value": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_storage",
- "type": "test_type",
- "properties": {
- "accessKey": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "suffix": "test_suffix"
- }
- }],
- "nextLink": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosorg/providers/Microsoft.DataLakeAnalytics/accounts/contosoadla/jobPolicies?api-version=2016-11-01&%24skiptoken="
- }
- }
- }
-}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_CreateOrUpdate.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_CreateOrUpdate.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_CreateOrUpdate.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_CreateOrUpdate.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_Delete.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_Delete.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_Delete.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_Get.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_Get.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_Get.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_ListByAccount.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_ListByAccount.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_ListByAccount.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_ListByAccount.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_Update.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_Update.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_ComputePolicies_Update.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/ComputePolicies_Update.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_Add.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Add.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_Add.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Add.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_Delete.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Get.json
new file mode 100644
index 000000000000..2e6a341cd68b
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1669ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "dataLakeStoreAccountName": "test_adls_account"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_adls",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_ListByAccount.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_ListByAccount.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_DataLakeStoreAccounts_ListByAccount.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_ListByAccount.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_CreateOrUpdate.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..80e20e0cff4a
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_CreateOrUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "firewallRuleName": "test_rule",
+ "parameters": {
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_Delete.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_Delete.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_Delete.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_Get.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_Get.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_Get.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_ListByAccount.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_ListByAccount.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_ListByAccount.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_ListByAccount.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_Update.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_Update.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_FirewallRules_Update.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/FirewallRules_Update.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Locations_GetCapability.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Locations_GetCapability.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Locations_GetCapability.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Locations_GetCapability.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Operations_List.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Operations_List.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_Operations_List.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Operations_List.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Add.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Add.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Add.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Add.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Delete.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Delete.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Delete.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Get.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Get.json
new file mode 100644
index 000000000000..7108df56459a
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "storageAccountName": "test_storage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_GetStorageContainer.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_GetStorageContainer.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_GetStorageContainer.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_GetStorageContainer.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_ListByAccount.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_ListByAccount.json
new file mode 100644
index 000000000000..e86f81925843
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_ListByAccount.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "$filter": "test_filter",
+ "$top": 1,
+ "$skip": 1,
+ "$select": "test_select",
+ "$orderby": "test_orderby",
+ "$count": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_storage",
+ "type": "test_type",
+ "properties": {
+ "suffix": "test_suffix"
+ }
+ }],
+ "nextLink": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosorg/providers/Microsoft.DataLakeAnalytics/accounts/contosoadla/jobPolicies?api-version=2016-11-01&%24skiptoken="
+ }
+ }
+ }
+}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_ListSasTokens.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_ListSasTokens.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_ListSasTokens.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_ListSasTokens.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_ListStorageContainers.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_ListStorageContainers.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_ListStorageContainers.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_ListStorageContainers.json
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Update.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Update.json
similarity index 100%
rename from specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Adla_StorageAccounts_Update.json
rename to specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/StorageAccounts_Update.json
diff --git a/specification/datalake-analytics/resource-manager/readme.md b/specification/datalake-analytics/resource-manager/readme.md
index 07435457bee0..23477eb2d200 100644
--- a/specification/datalake-analytics/resource-manager/readme.md
+++ b/specification/datalake-analytics/resource-manager/readme.md
@@ -1,4 +1,3 @@
-
# DataLakeAnalytics
> see https://aka.ms/autorest
@@ -49,10 +48,37 @@ input-file:
- Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json
```
+## Suppression
+``` yaml
+directive:
+ - suppress: TrackedResourceGetOperation
+ reason: This is by design in that we return DataLakeAnalyticsAccountBasic only for Account_List
+ #where:
+ # - $.definitions.DataLakeAnalyticsAccountBasic
+
+ - suppress: TrackedResourcePatchOperation
+ reason: DataLakeAnalyticsAccountBasic is not independent and its purpose is for Account_List only. PATCH is for DataLakeAnalyticsAccount, which will effectively update DataLakeAnalyticsAccountBasic
+ #where:
+ # - $.definitions.DataLakeAnalyticsAccountBasic
+```
+
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -96,6 +122,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-11
+ - tag: package-2015-10-preview
+```
+
### Tag: package-2016-11 and go
These settings apply only when `--tag=package-2016-11 --go` is specified on the command line.
@@ -113,3 +147,17 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.management.datalake.analytics
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datalake/analytics
+```
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Append.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Append.json
deleted file mode 100644
index 59c89d72e4f9..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Append.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "streamContents": "This is actually a byte stream. This request/response is being presented as a string for readability in the example",
- "offset": 1,
- "syncFlag": "DATA",
- "leaseId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "fileSessionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
- "append": "true",
- "op": "APPEND"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_CheckAccess.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_CheckAccess.json
deleted file mode 100644
index d8315fe27acc..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_CheckAccess.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "fsaction": "test_fsaction",
- "op": "CHECKACCESS"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Concat.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Concat.json
deleted file mode 100644
index 031b683b3c04..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Concat.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "sources": [
- "test_source_1",
- "test_source_2"
- ],
- "op": "CONCAT"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ConcurrentAppend.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ConcurrentAppend.json
deleted file mode 100644
index ca731d46659b..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ConcurrentAppend.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "streamContents": "This is actually a byte stream. This request/response is being presented as a string for readability in the example",
- "appendMode": "autocreate",
- "op": "CONCURRENTAPPEND",
- "Transfer-Encoding": "chunked",
- "syncFlag": "DATA"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Create.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Create.json
deleted file mode 100644
index 588d2b2f60ea..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Create.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "streamContents": { "test_key": "/test_file_path" },
- "overwrite": false,
- "syncFlag": "DATA",
- "leaseId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "permission": 1,
- "write": "true",
- "op": "CREATE"
- },
- "responses": {
- "201": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Delete.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Delete.json
deleted file mode 100644
index bc791a72eee5..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Delete.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "recursive": false,
- "op": "DELETE"
- },
- "responses": {
- "200": {
- "body": {
- "boolean": false
- }
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetAclStatus.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetAclStatus.json
deleted file mode 100644
index b3a37e905080..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetAclStatus.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "tooId": false,
- "op": "GETACLSTATUS"
- },
- "responses": {
- "200": {
- "AclStatus": {
- "entries": [
- "test_entry_1",
- "test_entry_2"
- ],
- "group": "test_group",
- "owner": "test_owner",
- "permission": 1,
- "stickyBit": false
- }
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetContentSummary.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetContentSummary.json
deleted file mode 100644
index 1c9ec261eb43..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetContentSummary.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "op": "GETCONTENTSUMMARY"
- },
- "responses": {
- "200": {
- "body": {
- "ContentSummary": {
- "directoryCount": 1,
- "fileCount": 1,
- "length": 1,
- "spaceConsumed": 1
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetFileStatus.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetFileStatus.json
deleted file mode 100644
index ef1c611aa413..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_GetFileStatus.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "tooId": false,
- "op": "GETFILESTATUS"
- },
- "responses": {
- "200": {
- "body": {
- "FileStatus": {
- "accessTime": 1,
- "blockSize": 1,
- "childrenNum": 1,
- "msExpirationTime": 1,
- "group": "test_group",
- "length": 1,
- "modificationTime": 1,
- "owner": "test_owner",
- "pathSuffix": "test_path_suffix",
- "permission": "test_permission",
- "type": "FILE",
- "aclBit": false
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ListFileStatus.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ListFileStatus.json
deleted file mode 100644
index 17913dfe7945..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ListFileStatus.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "listSize": 1,
- "listAfter": "test_list_after",
- "listBefore": "test_list_before",
- "tooId": false,
- "op": "LISTSTATUS"
- },
- "responses": {
- "200": {
- "body": {
- "FileStatuses": {
- "FileStatus": [{
- "accessTime": 1,
- "blockSize": 1,
- "childrenNum": 1,
- "msExpirationTime": 1,
- "group": "test_group",
- "length": 1,
- "modificationTime": 1,
- "owner": "test_owner",
- "pathSuffix": "test_path_suffix",
- "permission": "test_permission",
- "type": "FILE",
- "aclBit": false
- }]
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Mkdirs.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Mkdirs.json
deleted file mode 100644
index b8ccae0a8891..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Mkdirs.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "permission": 1,
- "op": "MKDIRS"
- },
- "responses": {
- "200": {
- "body": {
- "boolean": false
- }
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ModifyAclEntries.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ModifyAclEntries.json
deleted file mode 100644
index bde401da3b02..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_ModifyAclEntries.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "aclspec": "user:2666084e-edd4-4276-9a8c-d1024a5e3d94:rwx",
- "op": "MODIFYACLENTRIES"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_MsConcat.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_MsConcat.json
deleted file mode 100644
index 457f730817e7..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_MsConcat.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "deleteSourceDirectory": false,
- "streamContents": "sources=/file/path/1.txt,/file/path/2.txt,/file/path/lastfile.csv",
- "op": "MSCONCAT"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Open.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Open.json
deleted file mode 100644
index 1040ba6a5d35..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Open.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "length": 1,
- "offset": 1,
- "fileSessionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "read": "true",
- "op": "OPEN"
- },
- "responses": {
- "200": {
- "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveAcl.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveAcl.json
deleted file mode 100644
index c81e9ac50824..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveAcl.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "op": "REMOVEACL"
- },
- "responses": {
- "200": {
- }
- }
-}
\ No newline at end of file
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveAclEntries.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveAclEntries.json
deleted file mode 100644
index 2b4d5d9c2814..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveAclEntries.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "aclspec": "user:2666084e-edd4-4276-9a8c-d1024a5e3d94",
- "op": "REMOVEACLENTRIES"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveDefaultAcl.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveDefaultAcl.json
deleted file mode 100644
index b38ce9cb37a0..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_RemoveDefaultAcl.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "op": "REMOVEDEFAULTACL"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Rename.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Rename.json
deleted file mode 100644
index a9da80a46d17..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_Rename.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "destination": "/test_destination_path",
- "op": "RENAME"
- },
- "responses": {
- "200": {
- "body": {
- "boolean": false
- }
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetAcl.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetAcl.json
deleted file mode 100644
index 7238aacf7815..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetAcl.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "aclspec": "user:2666084e-edd4-4276-9a8c-d1024a5e3d94:rwx",
- "op": "SETACL"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetFileExpiry.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetFileExpiry.json
deleted file mode 100644
index ba3650bbe118..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetFileExpiry.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "expiryOption": "NeverExpire",
- "expireTime": 1,
- "op": "SETEXPIRY"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetOwner.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetOwner.json
deleted file mode 100644
index 3f62005d8524..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetOwner.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "owner": "test_owner",
- "group": "test_group",
- "op": "SETOWNER"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetPermission.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetPermission.json
deleted file mode 100644
index 4f8fc9f9e448..000000000000
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FileSystem_SetPermission.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "path": "/test_file_path",
- "permission": "rwx",
- "op": "SETPERMISSION"
- },
- "responses": {
- "200": {
- }
- }
-}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Append.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Append.json
new file mode 100644
index 000000000000..f25e35126c48
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Append.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "streamContents": "This is actually a byte stream. This request/response is being presented as a string for readability in the example",
+ "offset": 1,
+ "syncFlag": "DATA",
+ "leaseId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "fileSessionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346",
+ "append": "true",
+ "op": "APPEND"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_CheckAccess.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_CheckAccess.json
new file mode 100644
index 000000000000..57dd3199dbc4
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_CheckAccess.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "fsaction": "test_fsaction",
+ "op": "CHECKACCESS"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Concat.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Concat.json
new file mode 100644
index 000000000000..c7543d4f5d6e
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Concat.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "sources": [
+ "test_source_1",
+ "test_source_2"
+ ],
+ "op": "CONCAT"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ConcurrentAppend.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ConcurrentAppend.json
new file mode 100644
index 000000000000..f22dc4c17e0f
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ConcurrentAppend.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "streamContents": "This is actually a byte stream. This request/response is being presented as a string for readability in the example",
+ "appendMode": "autocreate",
+ "op": "CONCURRENTAPPEND",
+ "Transfer-Encoding": "chunked",
+ "syncFlag": "DATA"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Create.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Create.json
new file mode 100644
index 000000000000..94e83f8e7a1f
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Create.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "streamContents": { "test_key": "test_file_path" },
+ "overwrite": false,
+ "syncFlag": "DATA",
+ "leaseId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "permission": 1,
+ "write": "true",
+ "op": "CREATE"
+ },
+ "responses": {
+ "201": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Delete.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Delete.json
new file mode 100644
index 000000000000..f48e68ff67d3
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "recursive": false,
+ "op": "DELETE"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "boolean": false
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetAclStatus.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetAclStatus.json
new file mode 100644
index 000000000000..fd753327c3ec
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetAclStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "tooId": false,
+ "op": "GETACLSTATUS"
+ },
+ "responses": {
+ "200": {
+ "AclStatus": {
+ "entries": [
+ "test_entry_1",
+ "test_entry_2"
+ ],
+ "group": "test_group",
+ "owner": "test_owner",
+ "permission": "1",
+ "stickyBit": false
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetContentSummary.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetContentSummary.json
new file mode 100644
index 000000000000..d854240ef2e6
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetContentSummary.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "op": "GETCONTENTSUMMARY"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "contentSummary": {
+ "directoryCount": 1,
+ "fileCount": 1,
+ "length": 1,
+ "spaceConsumed": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetFileStatus.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetFileStatus.json
new file mode 100644
index 000000000000..aa32799fe496
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_GetFileStatus.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "tooId": false,
+ "op": "GETFILESTATUS"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "fileStatus": {
+ "accessTime": 1,
+ "blockSize": 1,
+ "msExpirationTime": 1,
+ "group": "test_group",
+ "length": 1,
+ "modificationTime": 1,
+ "owner": "test_owner",
+ "pathSuffix": "test_path_suffix",
+ "permission": "test_permission",
+ "type": "FILE",
+ "aclBit": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ListFileStatus.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ListFileStatus.json
new file mode 100644
index 000000000000..a2750a833a0b
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ListFileStatus.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "listSize": 1,
+ "listAfter": "test_list_after",
+ "listBefore": "test_list_before",
+ "tooId": false,
+ "op": "LISTSTATUS"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "fileStatuses": {
+ "fileStatus": [{
+ "accessTime": 1,
+ "blockSize": 1,
+ "msExpirationTime": 1,
+ "group": "test_group",
+ "length": 1,
+ "modificationTime": 1,
+ "owner": "test_owner",
+ "pathSuffix": "test_path_suffix",
+ "permission": "test_permission",
+ "type": "FILE",
+ "aclBit": false
+ }]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Mkdirs.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Mkdirs.json
new file mode 100644
index 000000000000..570b16eb03a6
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Mkdirs.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "permission": 1,
+ "op": "MKDIRS"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "boolean": false
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ModifyAclEntries.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ModifyAclEntries.json
new file mode 100644
index 000000000000..969c768c8d97
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_ModifyAclEntries.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "aclspec": "user:2666084e-edd4-4276-9a8c-d1024a5e3d94:rwx",
+ "op": "MODIFYACLENTRIES"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_MsConcat.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_MsConcat.json
new file mode 100644
index 000000000000..0107c9ad35d5
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_MsConcat.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "deleteSourceDirectory": false,
+ "streamContents": "sources=/file/path/1.txt,/file/path/2.txt,/file/path/lastfile.csv",
+ "op": "MSCONCAT"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Open.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Open.json
new file mode 100644
index 000000000000..09f577b0ad56
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Open.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "length": 1,
+ "offset": 1,
+ "fileSessionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "read": "true",
+ "op": "OPEN"
+ },
+ "responses": {
+ "200": {
+ "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveAcl.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveAcl.json
new file mode 100644
index 000000000000..b8e8ffc7d53b
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveAcl.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "op": "REMOVEACL"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveAclEntries.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveAclEntries.json
new file mode 100644
index 000000000000..d74ccbd804b3
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveAclEntries.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "aclspec": "user:2666084e-edd4-4276-9a8c-d1024a5e3d94",
+ "op": "REMOVEACLENTRIES"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveDefaultAcl.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveDefaultAcl.json
new file mode 100644
index 000000000000..95dd2e63e180
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_RemoveDefaultAcl.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "op": "REMOVEDEFAULTACL"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Rename.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Rename.json
new file mode 100644
index 000000000000..a755f081252c
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_Rename.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "destination": "/test_destination_path",
+ "op": "RENAME"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "boolean": false
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetAcl.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetAcl.json
new file mode 100644
index 000000000000..d40026690e65
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetAcl.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "aclspec": "user:2666084e-edd4-4276-9a8c-d1024a5e3d94:rwx",
+ "op": "SETACL"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetFileExpiry.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetFileExpiry.json
new file mode 100644
index 000000000000..5c7c770e0dbb
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetFileExpiry.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "expiryOption": "NeverExpire",
+ "expireTime": 1,
+ "op": "SETEXPIRY"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetOwner.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetOwner.json
new file mode 100644
index 000000000000..7b06647ea926
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetOwner.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "owner": "test_owner",
+ "group": "test_group",
+ "op": "SETOWNER"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetPermission.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetPermission.json
new file mode 100644
index 000000000000..3bbe88f0d6d0
--- /dev/null
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/examples/FileSystem_SetPermission.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "accountName": "contosoadla",
+ "adlsFileSystemDnsSuffix": "azuredatalakestore.net",
+ "path": "test_file_path",
+ "permission": "rwx",
+ "op": "SETPERMISSION"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
diff --git a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/filesystem.json b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/filesystem.json
index 52193b09cdc3..703596738b02 100644
--- a/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/filesystem.json
+++ b/specification/datalake-store/data-plane/Microsoft.DataLakeStore/stable/2016-11-01/filesystem.json
@@ -41,9 +41,6 @@
],
"operationId": "FileSystem_SetFileExpiry",
"description": "Sets or removes the expiration time on the specified file. This operation can only be executed against files. Folders are not supported.",
- "x-ms-examples": {
- "Sets or removes the expiration time on the specified file. This operation can only be executed against files. Folders are not supported": { "$ref": "./examples/Adls_FileSystem_SetFileExpiry.json" }
- },
"parameters": [
{
"name": "path",
@@ -97,11 +94,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Sets or removes the expiration time on the specified file. This operation can only be executed against files. Folders are not supported": {
+ "$ref": "./examples/FileSystem_SetFileExpiry.json"
+ }
}
},
"post": {
@@ -113,9 +114,6 @@
],
"operationId": "FileSystem_ConcurrentAppend",
"description": "Appends to the specified file, optionally first creating the file if it does not yet exist. This method supports multiple concurrent appends to the file. NOTE: The target must not contain data added by Create or normal (serial) Append. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file. ConcurrentAppend does not guarantee order and can result in duplicated data landing in the target file.",
- "x-ms-examples": {
- "Appends to the specified file, optionally first creating the file if it does not yet exist. This method supports multiple concurrent appends to the file. NOTE: The target must not contain data added by Create or normal (serial) Append. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file. ConcurrentAppend does not guarantee order and can result in duplicated data landing in the target file": { "$ref": "./examples/Adls_FileSystem_ConcurrentAppend.json" }
- },
"parameters": [
{
"name": "path",
@@ -181,8 +179,8 @@
"CLOSE"
],
"x-ms-enum": {
- "name": "SyncFlag",
- "modelAsString": false
+ "name": "SyncFlag",
+ "modelAsString": false
}
},
{
@@ -195,11 +193,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Appends to the specified file, optionally first creating the file if it does not yet exist. This method supports multiple concurrent appends to the file. NOTE: The target must not contain data added by Create or normal (serial) Append. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file. ConcurrentAppend does not guarantee order and can result in duplicated data landing in the target file": {
+ "$ref": "./examples/FileSystem_ConcurrentAppend.json"
+ }
}
}
},
@@ -210,9 +212,6 @@
],
"operationId": "FileSystem_CheckAccess",
"description": "Checks if the specified access is available at the given path.",
- "x-ms-examples": {
- "Checks if the specified access is available at the given path": { "$ref": "./examples/Adls_FileSystem_CheckAccess.json" }
- },
"parameters": [
{
"name": "path",
@@ -248,11 +247,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Checks if the specified access is available at the given path": {
+ "$ref": "./examples/FileSystem_CheckAccess.json"
+ }
}
}
}
@@ -265,9 +268,6 @@
],
"operationId": "FileSystem_Mkdirs",
"description": "Creates a directory.",
- "x-ms-examples": {
- "Creates a directory": { "$ref": "./examples/Adls_FileSystem_Mkdirs.json" }
- },
"parameters": [
{
"name": "path",
@@ -307,11 +307,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Creates a directory": {
+ "$ref": "./examples/FileSystem_Mkdirs.json"
+ }
}
}
},
@@ -322,9 +326,6 @@
],
"operationId": "FileSystem_Concat",
"description": "Concatenates the list of source files into the destination file, removing all source files upon success.",
- "x-ms-examples": {
- "Concatenates the list of source files into the destination file, removing all source files upon success": { "$ref": "./examples/Adls_FileSystem_Concat.json" }
- },
"parameters": [
{
"name": "path",
@@ -364,11 +365,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Concatenates the list of source files into the destination file, removing all source files upon success": {
+ "$ref": "./examples/FileSystem_Concat.json"
+ }
}
}
},
@@ -382,9 +387,6 @@
],
"operationId": "FileSystem_MsConcat",
"description": "Concatenates the list of source files into the destination file, deleting all source files upon success. This method accepts more source file paths than the Concat method. This method and the parameters it accepts are subject to change for usability in an upcoming version.",
- "x-ms-examples": {
- "Concatenates the list of source files into the destination file, deleting all source files upon success. This method accepts more source file paths than the Concat method. This method and the parameters it accepts are subject to change for usability in an upcoming version": { "$ref": "./examples/Adls_FileSystem_MsConcat.json" }
- },
"parameters": [
{
"name": "path",
@@ -430,11 +432,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Concatenates the list of source files into the destination file, deleting all source files upon success. This method accepts more source file paths than the Concat method. This method and the parameters it accepts are subject to change for usability in an upcoming version": {
+ "$ref": "./examples/FileSystem_MsConcat.json"
+ }
}
}
},
@@ -445,9 +451,6 @@
],
"operationId": "FileSystem_ListFileStatus",
"description": "Get the list of file status objects specified by the file path, with optional pagination parameters",
- "x-ms-examples": {
- "Get the list of file status objects specified by the file path, with optional pagination parameters": { "$ref": "./examples/Adls_FileSystem_ListFileStatus.json" }
- },
"parameters": [
{
"name": "path",
@@ -508,11 +511,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Get the list of file status objects specified by the file path, with optional pagination parameters": {
+ "$ref": "./examples/FileSystem_ListFileStatus.json"
+ }
}
}
},
@@ -523,9 +530,6 @@
],
"operationId": "FileSystem_GetContentSummary",
"description": "Gets the file content summary object specified by the file path.",
- "x-ms-examples": {
- "Gets the file content summary object specified by the file path": { "$ref": "./examples/Adls_FileSystem_GetContentSummary.json" }
- },
"parameters": [
{
"name": "path",
@@ -557,11 +561,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Gets the file content summary object specified by the file path": {
+ "$ref": "./examples/FileSystem_GetContentSummary.json"
+ }
}
}
},
@@ -572,9 +580,6 @@
],
"operationId": "FileSystem_GetFileStatus",
"description": "Get the file status object specified by the file path.",
- "x-ms-examples": {
- "Get the file status object specified by the file path": { "$ref": "./examples/Adls_FileSystem_GetFileStatus.json" }
- },
"parameters": [
{
"name": "path",
@@ -613,11 +618,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Get the file status object specified by the file path": {
+ "$ref": "./examples/FileSystem_GetFileStatus.json"
+ }
}
}
},
@@ -628,9 +637,6 @@
],
"operationId": "FileSystem_Open",
"description": "Opens and reads from the specified file.",
- "x-ms-examples": {
- "Opens and reads from the specified file": { "$ref": "./examples/Adls_FileSystem_Open.json" }
- },
"produces": [
"application/octet-stream"
],
@@ -699,11 +705,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Opens and reads from the specified file": {
+ "$ref": "./examples/FileSystem_Open.json"
+ }
}
}
},
@@ -717,9 +727,6 @@
],
"operationId": "FileSystem_Append",
"description": "Used for serial appends to the specified file. NOTE: The target must not contain data added by ConcurrentAppend. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file.",
- "x-ms-examples": {
- "Used for serial appends to the specified file. NOTE: The target must not contain data added by ConcurrentAppend. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file": { "$ref": "./examples/Adls_FileSystem_Append.json" }
- },
"parameters": [
{
"name": "path",
@@ -759,8 +766,8 @@
"CLOSE"
],
"x-ms-enum": {
- "name": "SyncFlag",
- "modelAsString": false
+ "name": "SyncFlag",
+ "modelAsString": false
}
},
{
@@ -809,11 +816,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Used for serial appends to the specified file. NOTE: The target must not contain data added by ConcurrentAppend. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file": {
+ "$ref": "./examples/FileSystem_Append.json"
+ }
}
}
},
@@ -827,9 +838,6 @@
],
"operationId": "FileSystem_Create",
"description": "Creates a file with optionally specified content. NOTE: If content is provided, the resulting file cannot be modified using ConcurrentAppend.",
- "x-ms-examples": {
- "Creates a file with optionally specified content. NOTE: If content is provided, the resulting file cannot be modified using ConcurrentAppend": { "$ref": "./examples/Adls_FileSystem_Create.json" }
- },
"parameters": [
{
"name": "path",
@@ -868,8 +876,8 @@
"CLOSE"
],
"x-ms-enum": {
- "name": "SyncFlag",
- "modelAsString": false
+ "name": "SyncFlag",
+ "modelAsString": false
}
},
{
@@ -917,11 +925,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Creates a file with optionally specified content. NOTE: If content is provided, the resulting file cannot be modified using ConcurrentAppend": {
+ "$ref": "./examples/FileSystem_Create.json"
+ }
}
}
},
@@ -932,9 +944,6 @@
],
"operationId": "FileSystem_SetAcl",
"description": "Sets the Access Control List (ACL) for a file or folder.",
- "x-ms-examples": {
- "Sets the Access Control List (ACL) for a file or folder": { "$ref": "./examples/Adls_FileSystem_SetAcl.json" }
- },
"parameters": [
{
"name": "path",
@@ -970,11 +979,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Sets the Access Control List (ACL) for a file or folder": {
+ "$ref": "./examples/FileSystem_SetAcl.json"
+ }
}
}
},
@@ -985,9 +998,6 @@
],
"operationId": "FileSystem_ModifyAclEntries",
"description": "Modifies existing Access Control List (ACL) entries on a file or folder.",
- "x-ms-examples": {
- "Modifies existing Access Control List (ACL) entries on a file or folder": { "$ref": "./examples/Adls_FileSystem_ModifyAclEntries.json" }
- },
"parameters": [
{
"name": "path",
@@ -1023,11 +1033,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Modifies existing Access Control List (ACL) entries on a file or folder": {
+ "$ref": "./examples/FileSystem_ModifyAclEntries.json"
+ }
}
}
},
@@ -1038,9 +1052,6 @@
],
"operationId": "FileSystem_RemoveAclEntries",
"description": "Removes existing Access Control List (ACL) entries for a file or folder.",
- "x-ms-examples": {
- "Removes existing Access Control List (ACL) entries for a file or folder": { "$ref": "./examples/Adls_FileSystem_RemoveAclEntries.json" }
- },
"parameters": [
{
"name": "path",
@@ -1076,11 +1087,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Removes existing Access Control List (ACL) entries for a file or folder": {
+ "$ref": "./examples/FileSystem_RemoveAclEntries.json"
+ }
}
}
},
@@ -1091,9 +1106,6 @@
],
"operationId": "FileSystem_RemoveDefaultAcl",
"description": "Removes the existing Default Access Control List (ACL) of the specified directory.",
- "x-ms-examples": {
- "Removes the existing Default Access Control List (ACL) of the specified directory": { "$ref": "./examples/Adls_FileSystem_RemoveDefaultAcl.json" }
- },
"parameters": [
{
"name": "path",
@@ -1122,11 +1134,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Removes the existing Default Access Control List (ACL) of the specified directory": {
+ "$ref": "./examples/FileSystem_RemoveDefaultAcl.json"
+ }
}
}
},
@@ -1137,9 +1153,6 @@
],
"operationId": "FileSystem_RemoveAcl",
"description": "Removes the existing Access Control List (ACL) of the specified file or directory.",
- "x-ms-examples": {
- "Removes the existing Access Control List (ACL) of the specified file or directory": { "$ref": "./examples/Adls_FileSystem_RemoveAcl.json" }
- },
"parameters": [
{
"name": "path",
@@ -1168,11 +1181,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Removes the existing Access Control List (ACL) of the specified file or directory": {
+ "$ref": "./examples/FileSystem_RemoveAcl.json"
+ }
}
}
},
@@ -1183,9 +1200,6 @@
],
"operationId": "FileSystem_GetAclStatus",
"description": "Gets Access Control List (ACL) entries for the specified file or directory.",
- "x-ms-examples": {
- "Gets Access Control List (ACL) entries for the specified file or directory": { "$ref": "./examples/Adls_FileSystem_GetAclStatus.json" }
- },
"parameters": [
{
"name": "path",
@@ -1224,11 +1238,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Gets Access Control List (ACL) entries for the specified file or directory": {
+ "$ref": "./examples/FileSystem_GetAclStatus.json"
+ }
}
}
},
@@ -1239,9 +1257,6 @@
],
"operationId": "FileSystem_Delete",
"description": "Deletes the requested file or directory, optionally recursively.",
- "x-ms-examples": {
- "Deletes the requested file or directory, optionally recursively": { "$ref": "./examples/Adls_FileSystem_Delete.json" }
- },
"parameters": [
{
"name": "path",
@@ -1280,11 +1295,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Deletes the requested file or directory, optionally recursively": {
+ "$ref": "./examples/FileSystem_Delete.json"
+ }
}
}
},
@@ -1295,9 +1314,6 @@
],
"operationId": "FileSystem_Rename",
"description": "Rename a file or directory.",
- "x-ms-examples": {
- "Rename a file or directory": { "$ref": "./examples/Adls_FileSystem_Rename.json" }
- },
"parameters": [
{
"name": "path",
@@ -1336,11 +1352,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Rename a file or directory": {
+ "$ref": "./examples/FileSystem_Rename.json"
+ }
}
}
},
@@ -1351,9 +1371,6 @@
],
"operationId": "FileSystem_SetOwner",
"description": "Sets the owner of a file or directory.",
- "x-ms-examples": {
- "Sets the owner of a file or directory": { "$ref": "./examples/Adls_FileSystem_SetOwner.json" }
- },
"parameters": [
{
"name": "path",
@@ -1396,11 +1413,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Sets the owner of a file or directory": {
+ "$ref": "./examples/FileSystem_SetOwner.json"
+ }
}
}
},
@@ -1411,9 +1432,6 @@
],
"operationId": "FileSystem_SetPermission",
"description": "Sets the permission of the file or folder.",
- "x-ms-examples": {
- "Sets the owner of a file or directory": { "$ref": "./examples/Adls_FileSystem_SetPermission.json" }
- },
"parameters": [
{
"name": "path",
@@ -1449,11 +1467,15 @@
},
"default": {
"description": "An unexpected error from the server.",
- "schema":
- {
+ "schema": {
"$ref": "#/definitions/AdlsError"
}
}
+ },
+ "x-ms-examples": {
+ "Sets the owner of a file or directory": {
+ "$ref": "./examples/FileSystem_SetPermission.json"
+ }
}
}
}
@@ -1488,8 +1510,7 @@
"description": "the user owner, an AAD Object ID."
},
"permission": {
- "type": "integer",
- "format": "int32",
+ "type": "string",
"description": "The octal representation of the unnamed user, mask and other permissions."
},
"stickyBit": {
@@ -1502,7 +1523,7 @@
},
"AclStatusResult": {
"properties": {
- "AclStatus": {
+ "aclStatus": {
"$ref": "#/definitions/AclStatus",
"description": "the AclStatus object for a given file or directory."
}
@@ -1540,7 +1561,7 @@
},
"ContentSummaryResult": {
"properties": {
- "ContentSummary": {
+ "contentSummary": {
"$ref": "#/definitions/ContentSummary",
"readOnly": true,
"description": "the content summary for the specified path"
@@ -1562,12 +1583,6 @@
"format": "int64",
"description": "the block size for the file."
},
- "childrenNum": {
- "type": "integer",
- "readOnly": true,
- "format": "int64",
- "description": "the number of children in the directory."
- },
"msExpirationTime": {
"x-ms-client-name": "expirationTime",
"type": "integer",
@@ -1630,7 +1645,7 @@
},
"FileStatuses": {
"properties": {
- "FileStatus": {
+ "fileStatus": {
"type": "array",
"readOnly": true,
"items": {
@@ -1643,7 +1658,7 @@
},
"FileStatusesResult": {
"properties": {
- "FileStatuses": {
+ "fileStatuses": {
"$ref": "#/definitions/FileStatuses",
"readOnly": true,
"description": "the object representing the list of file statuses."
@@ -1653,7 +1668,7 @@
},
"FileStatusResult": {
"properties": {
- "FileStatus": {
+ "fileStatus": {
"$ref": "#/definitions/FileStatusProperties",
"readOnly": true,
"description": "the file status object associated with the specified path."
@@ -1663,91 +1678,91 @@
},
"AdlsIllegalArgumentException": {
"x-ms-discriminator-value": "IllegalArgumentException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating that one more arguments is incorrect. Thrown when a 400 error response code is returned (bad request)."
},
"AdlsUnsupportedOperationException": {
"x-ms-discriminator-value": "UnsupportedOperationException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating that the requested operation is not supported. Thrown when a 400 error response code is returned (bad request)."
},
"AdlsSecurityException": {
"x-ms-discriminator-value": "SecurityException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating that access is denied. Thrown when a 401 error response code is returned (Unauthorized)."
},
"AdlsIOException": {
"x-ms-discriminator-value": "IOException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating there was an IO (read or write) error. Thrown when a 403 error response code is returned (forbidden)."
},
"AdlsFileNotFoundException": {
"x-ms-discriminator-value": "FileNotFoundException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating the file or folder could not be found. Thrown when a 404 error response code is returned (not found)."
},
"AdlsFileAlreadyExistsException": {
"x-ms-discriminator-value": "FileAlreadyExistsException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating the file or folder already exists. Thrown when a 403 error response code is returned (forbidden)."
},
"AdlsBadOffsetException": {
"x-ms-discriminator-value": "BadOffsetException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating the append or read is from a bad offset. Thrown when a 400 error response code is returned for append and open operations (Bad request)."
},
"AdlsRuntimeException": {
"x-ms-discriminator-value": "RuntimeException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown when an unexpected error occurs during an operation. Thrown when a 500 error response code is returned (Internal server error)."
},
"AdlsAccessControlException": {
"x-ms-discriminator-value": "AccessControlException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating that access is denied due to insufficient permissions. Thrown when a 403 error response code is returned (forbidden)."
},
"AdlsThrottledException": {
"x-ms-discriminator-value": "ThrottledException",
- "allOf": [
- {
- "$ref": "#/definitions/AdlsRemoteException"
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdlsRemoteException"
+ }
],
"description": "A WebHDFS exception thrown indicating that the request is being throttled. Reducing the number of requests or request size helps to mitigate this error."
},
@@ -1776,7 +1791,7 @@
},
"AdlsError": {
"properties": {
- "RemoteException": {
+ "remoteException": {
"$ref": "#/definitions/AdlsRemoteException",
"readOnly": true,
"description": "the object representing the actual WebHDFS exception being returned."
diff --git a/specification/datalake-store/data-plane/readme.md b/specification/datalake-store/data-plane/readme.md
index e369cae8b43c..01c324227117 100644
--- a/specification/datalake-store/data-plane/readme.md
+++ b/specification/datalake-store/data-plane/readme.md
@@ -52,6 +52,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -77,6 +88,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-11
+ - tag: package-2015-10-preview
+```
+
### Tag: package-2016-11 and go
These settings apply only when `--tag=package-2016-11 --go` is specified on the command line.
@@ -94,3 +113,18 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.datalake.store
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-datalake/store
+```
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json
index 7af69ebbb01b..4cbf0d1c3e84 100644
--- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json
+++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json
@@ -37,959 +37,852 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}": {
- "put": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts": {
+ "get": {
"tags": [
- "FirewallRules"
+ "Accounts"
],
- "operationId": "FirewallRules_CreateOrUpdate",
- "description": "Creates or updates the specified firewall rule. During update, the firewall rule with the specified name will be replaced with this new firewall rule.",
- "x-ms-examples": {
- "Creates or updates the specified firewall rule. During update, the firewall rule with the specified name will be replaced with this new firewall rule": { "$ref": "./examples/Adls_FirewallRules_CreateOrUpdate.json" }
- },
+ "operationId": "Accounts_List",
+ "description": "Lists the Data Lake Store accounts within the subscription. The response includes a link to the next page of results, if any.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
+ "name": "$filter",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the Data Lake Store account to add or replace the firewall rule."
+ "description": "OData filter. Optional."
},
{
- "name": "firewallRuleName",
- "in": "path",
- "required": true,
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to return. Optional."
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to skip over before returning elements. Optional."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the firewall rule to create or update."
+ "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
},
{
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FirewallRule"
- },
- "description": "Parameters supplied to create or update the firewall rule."
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "$count",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully created or updated the specified firewall rule.",
+ "description": "Successfully retrieved the list of accounts.",
"schema": {
- "$ref": "#/definitions/FirewallRule"
+ "$ref": "#/definitions/DataLakeStoreAccountListResult"
}
}
- }
- },
- "patch": {
- "tags": [
- "FirewallRules"
- ],
- "operationId": "FirewallRules_Update",
- "description": "Updates the specified firewall rule.",
+ },
"x-ms-examples": {
- "Updates the specified firewall rule": { "$ref": "./examples/Adls_FirewallRules_Update.json" }
+ "Lists the Data Lake Store accounts within the subscription": {
+ "$ref": "./examples/Accounts_List.json"
+ }
},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/DataLakeStoreAccountBasic"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListByResourceGroup",
+ "description": "Lists the Data Lake Store accounts within a specific resource group. The response includes a link to the next page of results, if any.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the Data Lake Store account to which to update the firewall rule."
+ "description": "OData filter. Optional."
},
{
- "name": "firewallRuleName",
- "in": "path",
- "required": true,
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to return. Optional."
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "The number of items to skip over before returning elements. Optional."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
"type": "string",
- "description": "The name of the firewall rule to update."
+ "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
},
{
- "name": "parameters",
- "in": "body",
+ "name": "$orderby",
+ "in": "query",
"required": false,
- "schema": {
- "$ref": "#/definitions/UpdateFirewallRuleParameters"
- },
- "description": "Parameters supplied to update the firewall rule."
+ "type": "string",
+ "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "$count",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "A Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully updated the specified firewall rule.",
+ "description": "Successfully retrieved the list of accounts in the specified resource group.",
"schema": {
- "$ref": "#/definitions/FirewallRule"
+ "$ref": "#/definitions/DataLakeStoreAccountListResult"
}
}
- }
- },
- "delete": {
- "tags": [
- "FirewallRules"
- ],
- "operationId": "FirewallRules_Delete",
- "description": "Deletes the specified firewall rule from the specified Data Lake Store account",
+ },
"x-ms-examples": {
- "Deletes the specified firewall rule from the specified Data Lake Store account": { "$ref": "./examples/Adls_FirewallRules_Delete.json" }
+ "Lists the Data Lake Store accounts within a specific resource group": {
+ "$ref": "./examples/Accounts_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
},
+ "x-ms-odata": "#/definitions/DataLakeStoreAccountBasic"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}": {
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Create",
+ "description": "Creates the specified Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account from which to delete the firewall rule."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "firewallRuleName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the firewall rule to delete."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateDataLakeStoreAccountParameters"
+ },
+ "description": "Parameters supplied to create the Data Lake Store account."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully deleted the specified firewall rule."
+ "description": "Successfully created the account.",
+ "schema": {
+ "$ref": "#/definitions/DataLakeStoreAccount"
+ }
},
- "204": {
- "description": "The specified firewall rule does not exist or was already deleted."
+ "201": {
+ "description": "Successfully initiated creation of the account.",
+ "schema": {
+ "$ref": "#/definitions/DataLakeStoreAccount"
+ }
}
- }
+ },
+ "x-ms-examples": {
+ "Creates the specified Data Lake Store account": {
+ "$ref": "./examples/Accounts_Create.json"
+ }
+ },
+ "x-ms-long-running-operation": true
},
"get": {
"tags": [
- "FirewallRules"
+ "Accounts"
],
- "operationId": "FirewallRules_Get",
- "description": "Gets the specified Data Lake Store firewall rule.",
- "x-ms-examples": {
- "Gets the specified Data Lake Store firewall rule": { "$ref": "./examples/Adls_FirewallRules_Get.json" }
- },
+ "operationId": "Accounts_Get",
+ "description": "Gets the specified Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account from which to get the firewall rule."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "firewallRuleName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the firewall rule to retrieve."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the firewall rule.",
+ "description": "Successfully retrieved details of the specified account.",
"schema": {
- "$ref": "#/definitions/FirewallRule"
+ "$ref": "#/definitions/DataLakeStoreAccount"
}
}
+ },
+ "x-ms-examples": {
+ "Gets the specified Data Lake Store account": {
+ "$ref": "./examples/Accounts_Get.json"
+ }
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules": {
- "get": {
+ },
+ "patch": {
"tags": [
- "FirewallRules"
+ "Accounts"
],
- "operationId": "FirewallRules_ListByAccount",
- "description": "Lists the Data Lake Store firewall rules within the specified Data Lake Store account.",
- "x-ms-examples": {
- "Lists the Data Lake Store firewall rules within the specified Data Lake Store account": { "$ref": "./examples/Adls_FirewallRules_ListByAccount.json" }
- },
+ "operationId": "Accounts_Update",
+ "description": "Updates the specified Data Lake Store account information.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account from which to get the firewall rules."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of firewall rules.",
- "schema": {
- "$ref": "#/definitions/DataLakeStoreFirewallRuleListResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}": {
- "put": {
- "tags": [
- "TrustedIdProviders"
- ],
- "operationId": "TrustedIdProviders_CreateOrUpdate",
- "description": "Creates or updates the specified trusted identity provider. During update, the trusted identity provider with the specified name will be replaced with this new provider",
- "x-ms-examples": {
- "Creates or updates the specified trusted identity provider. During update, the trusted identity provider with the specified name will be replaced with this new provider": { "$ref": "./examples/Adls_TrustedIdProviders_CreateOrUpdate.json" }
- },
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
- },
- {
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account to add or replace the trusted identity provider."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "trustedIdProviderName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the trusted identity provider. This is used for differentiation of providers in the account."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/TrustedIdProvider"
+ "$ref": "#/definitions/UpdateDataLakeStoreAccountParameters"
},
- "description": "Parameters supplied to create or replace the trusted identity provider."
+ "description": "Parameters supplied to update the Data Lake Store account."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully added the trusted identity provider.",
+ "description": "Successfully updated the account details.",
"schema": {
- "$ref": "#/definitions/TrustedIdProvider"
+ "$ref": "#/definitions/DataLakeStoreAccount"
}
- }
- }
- },
- "patch": {
- "tags": [
- "TrustedIdProviders"
- ],
- "operationId": "TrustedIdProviders_Update",
- "description": "Updates the specified trusted identity provider.",
- "x-ms-examples": {
- "Updates the specified trusted identity provider": { "$ref": "./examples/Adls_TrustedIdProviders_Update.json" }
- },
- "parameters": [
- {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
- },
- {
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account to which to update the trusted identity provider."
- },
- {
- "name": "trustedIdProviderName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the trusted identity provider. This is used for differentiation of providers in the account."
},
- {
- "name": "parameters",
- "in": "body",
- "required": false,
+ "201": {
+ "description": "Successfully initiated the update of the account details.",
"schema": {
- "$ref": "#/definitions/UpdateTrustedIdProviderParameters"
- },
- "description": "Parameters supplied to update the trusted identity provider."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "#/definitions/DataLakeStoreAccount"
+ }
},
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully added the trusted identity provider.",
+ "202": {
+ "description": "Successfully initiated the update of the account details.",
"schema": {
- "$ref": "#/definitions/TrustedIdProvider"
+ "$ref": "#/definitions/DataLakeStoreAccount"
}
}
- }
+ },
+ "x-ms-examples": {
+ "Updates the specified Data Lake Store account information": {
+ "$ref": "./examples/Accounts_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
},
"delete": {
"tags": [
- "TrustedIdProviders"
+ "Accounts"
],
- "operationId": "TrustedIdProviders_Delete",
- "description": "Deletes the specified trusted identity provider from the specified Data Lake Store account",
- "x-ms-examples": {
- "Deletes the specified trusted identity provider from the specified Data Lake Store account": { "$ref": "./examples/Adls_TrustedIdProviders_Delete.json" }
- },
+ "operationId": "Accounts_Delete",
+ "description": "Deletes the specified Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account from which to delete the trusted identity provider."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "trustedIdProviderName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the trusted identity provider to delete."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully deleted the specified trusted identity provider details."
+ "description": "Successfully deleted the specified account."
+ },
+ "202": {
+ "description": "Successfully initiated the deletion of the specified account."
},
"204": {
- "description": "The specified trusted identity provider was not found."
+ "description": "The specified account was not found."
}
- }
- },
- "get": {
- "tags": [
- "TrustedIdProviders"
- ],
- "operationId": "TrustedIdProviders_Get",
- "description": "Gets the specified Data Lake Store trusted identity provider.",
+ },
"x-ms-examples": {
- "Gets the specified Data Lake Store trusted identity provider": { "$ref": "./examples/Adls_TrustedIdProviders_Get.json" }
+ "Deletes the specified Data Lake Store account": {
+ "$ref": "./examples/Accounts_Delete.json"
+ }
},
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_EnableKeyVault",
+ "description": "Attempts to enable a user managed Key Vault for encryption of the specified Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account from which to get the trusted identity provider."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "trustedIdProviderName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the trusted identity provider to retrieve."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved details of the specified trusted identity provider.",
- "schema": {
- "$ref": "#/definitions/TrustedIdProvider"
- }
+ "description": "Successfully enabled the user-managed Key Vault settings used for encrypting this Data Lake Store account."
+ }
+ },
+ "x-ms-examples": {
+ "Attempts to enable a user managed Key Vault for encryption of the specified Data Lake Store account": {
+ "$ref": "./examples/Accounts_EnableKeyVault.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules": {
"get": {
"tags": [
- "TrustedIdProviders"
+ "FirewallRules"
],
- "operationId": "TrustedIdProviders_ListByAccount",
- "description": "Lists the Data Lake Store trusted identity providers within the specified Data Lake Store account.",
- "x-ms-examples": {
- "Lists the Data Lake Store trusted identity providers within the specified Data Lake Store account": { "$ref": "./examples/Adls_TrustedIdProviders_ListByAccount.json" }
- },
+ "operationId": "FirewallRules_ListByAccount",
+ "description": "Lists the Data Lake Store firewall rules within the specified Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account from which to get the trusted identity providers."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of trusted identity providers.",
+ "description": "Successfully retrieved the list of firewall rules.",
"schema": {
- "$ref": "#/definitions/DataLakeStoreTrustedIdProviderListResult"
+ "$ref": "#/definitions/FirewallRuleListResult"
}
}
},
+ "x-ms-examples": {
+ "Lists the Data Lake Store firewall rules within the specified Data Lake Store account": {
+ "$ref": "./examples/FirewallRules_ListByAccount.json"
+ }
+ },
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{name}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}": {
"put": {
"tags": [
- "Account"
+ "FirewallRules"
],
- "operationId": "Account_Create",
- "description": "Creates the specified Data Lake Store account.",
- "x-ms-examples": {
- "Creates the specified Data Lake Store account": { "$ref": "./examples/Adls_Account_Create.json" }
- },
+ "operationId": "FirewallRules_CreateOrUpdate",
+ "description": "Creates or updates the specified firewall rule. During update, the firewall rule with the specified name will be replaced with this new firewall rule.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "name",
+ "name": "firewallRuleName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Store account to create."
+ "description": "The name of the firewall rule to create or update."
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/DataLakeStoreAccount"
+ "$ref": "#/definitions/CreateOrUpdateFirewallRuleParameters"
},
- "description": "Parameters supplied to create the Data Lake Store account."
+ "description": "Parameters supplied to create or update the firewall rule."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully created the account.",
- "schema": {
- "$ref": "#/definitions/DataLakeStoreAccount"
- }
- },
- "201": {
- "description": "Successfully initiated creation of the account.",
+ "description": "Successfully created or updated the specified firewall rule.",
"schema": {
- "$ref": "#/definitions/DataLakeStoreAccount"
+ "$ref": "#/definitions/FirewallRule"
}
}
},
- "x-ms-long-running-operation": true
+ "x-ms-examples": {
+ "Creates or updates the specified firewall rule. During update, the firewall rule with the specified name will be replaced with this new firewall rule": {
+ "$ref": "./examples/FirewallRules_CreateOrUpdate.json"
+ }
+ }
},
- "patch": {
+ "get": {
"tags": [
- "Account"
+ "FirewallRules"
],
- "operationId": "Account_Update",
- "description": "Updates the specified Data Lake Store account information.",
- "x-ms-examples": {
- "Updates the specified Data Lake Store account information": { "$ref": "./examples/Adls_Account_Update.json" }
- },
+ "operationId": "FirewallRules_Get",
+ "description": "Gets the specified Data Lake Store firewall rule.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "name",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account to update."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataLakeStoreAccountUpdateParameters"
- },
- "description": "Parameters supplied to update the Data Lake Store account."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the firewall rule to retrieve."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully updated the account details.",
- "schema": {
- "$ref": "#/definitions/DataLakeStoreAccount"
- }
- },
- "201": {
- "description": "Successfully initiated the update of the account details.",
- "schema": {
- "$ref": "#/definitions/DataLakeStoreAccount"
- }
- },
- "202": {
- "description": "Successfully initiated the update of the account details.",
+ "description": "Successfully retrieved the firewall rule.",
"schema": {
- "$ref": "#/definitions/DataLakeStoreAccount"
+ "$ref": "#/definitions/FirewallRule"
}
}
},
- "x-ms-long-running-operation": true
+ "x-ms-examples": {
+ "Gets the specified Data Lake Store firewall rule": {
+ "$ref": "./examples/FirewallRules_Get.json"
+ }
+ }
},
- "delete": {
+ "patch": {
"tags": [
- "Account"
+ "FirewallRules"
],
- "operationId": "Account_Delete",
- "description": "Deletes the specified Data Lake Store account.",
- "x-ms-examples": {
- "Deletes the specified Data Lake Store account": { "$ref": "./examples/Adls_Account_Delete.json" }
- },
+ "operationId": "FirewallRules_Update",
+ "description": "Updates the specified firewall rule.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "name",
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "firewallRuleName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Store account to delete."
+ "description": "The name of the firewall rule to update."
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/UpdateFirewallRuleParameters"
+ },
+ "description": "Parameters supplied to update the firewall rule."
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully deleted the specified account."
- },
- "202": {
- "description": "Successfully initiated the deletion of the specified account."
- },
- "204": {
- "description": "The specified account was not found."
+ "description": "Successfully updated the specified firewall rule.",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
}
},
- "x-ms-long-running-operation": true
+ "x-ms-examples": {
+ "Updates the specified firewall rule": {
+ "$ref": "./examples/FirewallRules_Update.json"
+ }
+ }
},
- "get": {
+ "delete": {
"tags": [
- "Account"
+ "FirewallRules"
],
- "operationId": "Account_Get",
- "description": "Gets the specified Data Lake Store account.",
- "x-ms-examples": {
- "Gets the specified Data Lake Store account": { "$ref": "./examples/Adls_Account_Get.json" }
- },
+ "operationId": "FirewallRules_Delete",
+ "description": "Deletes the specified firewall rule from the specified Data Lake Store account",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "name",
+ "name": "firewallRuleName",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Data Lake Store account to retrieve."
+ "description": "The name of the firewall rule to delete."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved details of the specified account.",
- "schema": {
- "$ref": "#/definitions/DataLakeStoreAccount"
- }
+ "description": "Successfully deleted the specified firewall rule."
+ },
+ "204": {
+ "description": "The specified firewall rule does not exist or was already deleted."
+ }
+ },
+ "x-ms-examples": {
+ "Deletes the specified firewall rule from the specified Data Lake Store account": {
+ "$ref": "./examples/FirewallRules_Delete.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault": {
- "post": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders": {
+ "get": {
"tags": [
- "Account"
+ "TrustedIdProviders"
],
- "operationId": "Account_EnableKeyVault",
- "description": "Attempts to enable a user managed Key Vault for encryption of the specified Data Lake Store account.",
- "x-ms-examples": {
- "Attempts to enable a user managed Key Vault for encryption of the specified Data Lake Store account": { "$ref": "./examples/Adls_Account_EnableKeyVault.json" }
- },
+ "operationId": "TrustedIdProviders_ListByAccount",
+ "description": "Lists the Data Lake Store trusted identity providers within the specified Data Lake Store account.",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "accountName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Data Lake Store account to attempt to enable the Key Vault for."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully enabled the user-managed Key Vault settings used for encrypting this Data Lake Store account."
+ "description": "Successfully retrieved the list of trusted identity providers.",
+ "schema": {
+ "$ref": "#/definitions/TrustedIdProviderListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists the Data Lake Store trusted identity providers within the specified Data Lake Store account": {
+ "$ref": "./examples/TrustedIdProviders_ListByAccount.json"
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts": {
- "get": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}": {
+ "put": {
"tags": [
- "Account"
+ "TrustedIdProviders"
],
- "operationId": "Account_ListByResourceGroup",
- "description": "Lists the Data Lake Store accounts within a specific resource group. The response includes a link to the next page of results, if any.",
- "x-ms-examples": {
- "Lists the Data Lake Store accounts within a specific resource group": { "$ref": "./examples/Adls_Account_ListByResourceGroup.json" }
- },
+ "operationId": "TrustedIdProviders_CreateOrUpdate",
+ "description": "Creates or updates the specified trusted identity provider. During update, the trusted identity provider with the specified name will be replaced with this new provider",
"parameters": [
{
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the Azure resource group that contains the Data Lake Store account(s)."
- },
- {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter. Optional."
- },
- {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to return. Optional."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "$skip",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to skip over before returning elements. Optional."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "$orderby",
- "in": "query",
- "required": false,
+ "name": "trustedIdProviderName",
+ "in": "path",
+ "required": true,
"type": "string",
- "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
+ "description": "The name of the trusted identity provider. This is used for differentiation of providers in the account."
},
{
- "name": "$count",
- "in": "query",
- "required": false,
- "type": "boolean",
- "description": "A Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateOrUpdateTrustedIdProviderParameters"
+ },
+ "description": "Parameters supplied to create or replace the trusted identity provider."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of accounts in the specified resource group.",
+ "description": "Successfully added the trusted identity provider.",
"schema": {
- "$ref": "#/definitions/DataLakeStoreAccountListResult"
+ "$ref": "#/definitions/TrustedIdProvider"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DataLakeStoreAccountBasic"
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts": {
+ "x-ms-examples": {
+ "Creates or updates the specified trusted identity provider. During update, the trusted identity provider with the specified name will be replaced with this new provider": {
+ "$ref": "./examples/TrustedIdProviders_CreateOrUpdate.json"
+ }
+ }
+ },
"get": {
"tags": [
- "Account"
+ "TrustedIdProviders"
],
- "operationId": "Account_List",
- "description": "Lists the Data Lake Store accounts within the subscription. The response includes a link to the next page of results, if any.",
- "x-ms-examples": {
- "Lists the Data Lake Store accounts within the subscription": { "$ref": "./examples/Adls_Account_List.json" }
- },
+ "operationId": "TrustedIdProviders_Get",
+ "description": "Gets the specified Data Lake Store trusted identity provider.",
"parameters": [
{
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter. Optional."
+ "$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to return. Optional."
+ "$ref": "#/parameters/ResourceGroupNameParameter"
},
{
- "name": "$skip",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "description": "The number of items to skip over before returning elements. Optional."
+ "$ref": "#/parameters/AccountNameParameter"
},
{
- "name": "$select",
- "in": "query",
- "required": false,
+ "name": "trustedIdProviderName",
+ "in": "path",
+ "required": true,
"type": "string",
- "description": "OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional."
- },
- {
- "name": "$orderby",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OrderBy clause. One or more comma-separated expressions with an optional \"asc\" (the default) or \"desc\" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional."
- },
- {
- "name": "$count",
- "in": "query",
- "required": false,
- "type": "boolean",
- "description": "The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional."
+ "description": "The name of the trusted identity provider to retrieve."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the list of accounts.",
+ "description": "Successfully retrieved details of the specified trusted identity provider.",
"schema": {
- "$ref": "#/definitions/DataLakeStoreAccountListResult"
+ "$ref": "#/definitions/TrustedIdProvider"
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DataLakeStoreAccountBasic"
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability": {
- "post": {
+ "x-ms-examples": {
+ "Gets the specified Data Lake Store trusted identity provider": {
+ "$ref": "./examples/TrustedIdProviders_Get.json"
+ }
+ }
+ },
+ "patch": {
"tags": [
- "Account"
+ "TrustedIdProviders"
],
- "operationId": "Account_CheckNameAvailability",
- "description": "Checks whether the specified account name is available or taken.",
- "x-ms-examples": {
- "Checks whether the specified account name is available or taken": { "$ref": "./examples/Adls_Account_CheckNameAvailability.json" }
- },
+ "operationId": "TrustedIdProviders_Update",
+ "description": "Updates the specified trusted identity provider.",
"parameters": [
{
- "name": "location",
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "trustedIdProviderName",
"in": "path",
"required": true,
"type": "string",
- "description": "The Resource location without whitespace."
+ "description": "The name of the trusted identity provider. This is used for differentiation of providers in the account."
},
{
"name": "parameters",
"in": "body",
- "required": true,
+ "required": false,
"schema": {
- "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ "$ref": "#/definitions/UpdateTrustedIdProviderParameters"
},
- "description": "Parameters supplied to check the Data Lake Store account name availability."
+ "description": "Parameters supplied to update the trusted identity provider."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully added the trusted identity provider.",
+ "schema": {
+ "$ref": "#/definitions/TrustedIdProvider"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates the specified trusted identity provider": {
+ "$ref": "./examples/TrustedIdProviders_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TrustedIdProviders"
+ ],
+ "operationId": "TrustedIdProviders_Delete",
+ "description": "Deletes the specified trusted identity provider from the specified Data Lake Store account",
+ "parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "trustedIdProviderName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the trusted identity provider to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the Data Lake Store account name availability information.",
+ "description": "Successfully deleted the specified trusted identity provider details."
+ },
+ "204": {
+ "description": "The specified trusted identity provider was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Deletes the specified trusted identity provider from the specified Data Lake Store account": {
+ "$ref": "./examples/TrustedIdProviders_Delete.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DataLakeStore/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Data Lake Store REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully listed the available operations for Data Lake Store.",
"schema": {
- "$ref": "#/definitions/NameAvailabilityInformation"
+ "$ref": "#/definitions/OperationListResult"
}
}
+ },
+ "x-ms-examples": {
+ "Lists all of the available Data Lake Store REST API operations": {
+ "$ref": "./examples/Operations_List.json"
+ }
}
}
},
@@ -999,28 +892,25 @@
"Locations"
],
"operationId": "Locations_GetCapability",
- "description": "Gets subscription-level properties and limits for Data Lake Store specified by Resource location.",
- "x-ms-examples": {
- "Gets subscription-level properties and limits for Data Lake Store specified by Resource location": { "$ref": "./examples/Adls_Locations_GetCapability.json" }
- },
+ "description": "Gets subscription-level properties and limits for Data Lake Store specified by resource location.",
"parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
{
"name": "location",
"in": "path",
"required": true,
"type": "string",
- "description": "The Resource location without whitespace."
+ "description": "The resource location without whitespace."
},
{
"$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Successfully retrieved the subscription-level properties and limits for Data Lake Store specified by Resource location.",
+ "description": "Successfully retrieved the subscription-level properties and limits for Data Lake Store specified by resource location.",
"schema": {
"$ref": "#/definitions/CapabilityInformation"
}
@@ -1028,178 +918,371 @@
"404": {
"description": "Subscription not found."
}
+ },
+ "x-ms-examples": {
+ "Gets subscription-level properties and limits for Data Lake Store specified by resource location": {
+ "$ref": "./examples/Locations_GetCapability.json"
+ }
}
}
},
- "/providers/Microsoft.DataLakeStore/operations": {
- "get": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability": {
+ "post": {
"tags": [
- "Operations"
+ "Accounts"
],
- "operationId": "Operations_List",
- "description": "Lists all of the available Data Lake Store REST API operations.",
- "x-ms-examples": {
- "Lists all of the available Data Lake Store REST API operations": { "$ref": "./examples/Adls_Operations_List.json" }
- },
+ "operationId": "Accounts_CheckNameAvailability",
+ "description": "Checks whether the specified account name is available or taken.",
"parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource location without whitespace."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ },
+ "description": "Parameters supplied to check the Data Lake Store account name availability."
+ },
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
- "description": "Successfully listed the available operations for Data Lake Store.",
+ "description": "Successfully retrieved the Data Lake Store account name availability information.",
"schema": {
- "$ref": "#/definitions/OperationListResult"
+ "$ref": "#/definitions/NameAvailabilityInformation"
}
}
+ },
+ "x-ms-examples": {
+ "Checks whether the specified account name is available or taken": {
+ "$ref": "./examples/Accounts_CheckNameAvailability.json"
+ }
}
}
}
},
"definitions": {
- "UpdateFirewallRuleProperties": {
+ "Resource": {
"properties": {
- "startIpAddress": {
+ "id": {
+ "readOnly": true,
"type": "string",
- "description": "the start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ "description": "The resource identifier."
},
- "endIpAddress": {
+ "name": {
+ "readOnly": true,
"type": "string",
- "description": "the end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
- }
- },
- "description": "Data Lake Store firewall rule properties information"
- },
- "UpdateFirewallRuleParameters": {
- "properties": {
- "properties": {
- "$ref": "#/definitions/UpdateFirewallRuleProperties",
- "description": "the properties of the firewall rule to update.",
- "x-ms-client-flatten": true
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
}
},
- "description": "Data Lake Store firewall rule update parameters"
+ "x-ms-azure-resource": true,
+ "description": "The resource model definition."
},
- "FirewallRuleProperties": {
- "required": [
- "startIpAddress",
- "endIpAddress"
- ],
+ "SubResource": {
"properties": {
- "startIpAddress": {
+ "id": {
+ "readOnly": true,
"type": "string",
- "description": "the start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ "description": "The resource identifier."
},
- "endIpAddress": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
"type": "string",
- "description": "the end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ "description": "The resource type."
}
},
- "description": "Data Lake Store firewall rule properties information"
+ "x-ms-azure-resource": true,
+ "description": "The resource model definition for a nested resource."
},
- "FirewallRule": {
- "required": [
- "properties"
- ],
+ "DataLakeStoreAccount": {
"allOf": [
{
- "$ref": "#/definitions/SubResource"
+ "$ref": "#/definitions/Resource"
}
],
"properties": {
+ "identity": {
+ "readOnly": true,
+ "$ref": "#/definitions/EncryptionIdentity",
+ "description": "The Key Vault encryption identity, if any."
+ },
"properties": {
- "$ref": "#/definitions/FirewallRuleProperties",
- "description": "the properties of the firewall rule.",
- "x-ms-client-flatten": true
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataLakeStoreAccountProperties",
+ "description": "The Data Lake Store account properties."
}
},
- "description": "Data Lake Store firewall rule information"
+ "description": "Data Lake Store account information."
},
- "UpdateTrustedIdProviderProperties": {
- "properties": {
- "idProvider": {
- "type": "string",
- "description": "The URL of this trusted identity provider"
+ "DataLakeStoreAccountBasic": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
}
- },
- "description": "Data Lake Store trusted identity provider property update information"
- },
- "UpdateTrustedIdProviderParameters": {
+ ],
"properties": {
"properties": {
- "$ref": "#/definitions/UpdateTrustedIdProviderProperties",
- "description": "the properties of the trusted identity provider to update.",
- "x-ms-client-flatten": true
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataLakeStoreAccountPropertiesBasic",
+ "description": "The basic Data Lake Store account properties."
}
},
- "description": "Data Lake Store Trusted Identity Provider update parameters"
+ "description": "Basic Data Lake Store account information, returned on list calls."
},
- "TrustedIdProviderProperties": {
- "required": [
- "idProvider"
+ "DataLakeStoreAccountProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataLakeStoreAccountPropertiesBasic"
+ }
],
"properties": {
- "idProvider": {
+ "defaultGroup": {
+ "readOnly": true,
"type": "string",
- "description": "The URL of this trusted identity provider"
- }
- },
- "description": "Data Lake Store trusted identity provider properties information"
- },
- "TrustedIdProvider": {
- "required": [
- "properties"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/SubResource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/TrustedIdProviderProperties",
- "description": "the properties of the trusted identity provider.",
- "x-ms-client-flatten": true
+ "description": "The default owner group for all new folders and files created in the Data Lake Store account."
+ },
+ "encryptionConfig": {
+ "readOnly": true,
+ "$ref": "#/definitions/EncryptionConfig",
+ "description": "The Key Vault encryption configuration."
+ },
+ "encryptionState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionState",
+ "modelAsString": false
+ },
+ "description": "The current state of encryption for this Data Lake Store account."
+ },
+ "encryptionProvisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionProvisioningState",
+ "modelAsString": false
+ },
+ "description": "The current state of encryption provisioning for this Data Lake Store account."
+ },
+ "firewallRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The list of firewall rules associated with this Data Lake Store account."
+ },
+ "firewallState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallState",
+ "modelAsString": false
+ },
+ "description": "The current state of the IP address firewall for this Data Lake Store account."
+ },
+ "firewallAllowAzureIps": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallAllowAzureIpsState",
+ "modelAsString": false
+ },
+ "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced."
+ },
+ "trustedIdProviders": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedIdProvider"
+ },
+ "description": "The list of trusted identity providers associated with this Data Lake Store account."
+ },
+ "trustedIdProviderState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "TrustedIdProviderState",
+ "modelAsString": false
+ },
+ "description": "The current state of the trusted identity provider feature for this Data Lake Store account."
+ },
+ "newTier": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Consumption",
+ "Commitment_1TB",
+ "Commitment_10TB",
+ "Commitment_100TB",
+ "Commitment_500TB",
+ "Commitment_1PB",
+ "Commitment_5PB"
+ ],
+ "x-ms-enum": {
+ "name": "TierType",
+ "modelAsString": false
+ },
+ "description": "The commitment tier to use for next month."
+ },
+ "currentTier": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Consumption",
+ "Commitment_1TB",
+ "Commitment_10TB",
+ "Commitment_100TB",
+ "Commitment_500TB",
+ "Commitment_1PB",
+ "Commitment_5PB"
+ ],
+ "x-ms-enum": {
+ "name": "TierType",
+ "modelAsString": false
+ },
+ "description": "The commitment tier in use for the current month."
}
},
- "description": "Data Lake Store Trusted Identity Provider information"
+ "description": "Data Lake Store account properties information."
},
- "DataLakeStoreTrustedIdProviderListResult": {
+ "DataLakeStoreAccountPropertiesBasic": {
"properties": {
- "value": {
- "type": "array",
+ "accountId": {
"readOnly": true,
- "items": {
- "$ref": "#/definitions/TrustedIdProvider"
+ "type": "string",
+ "format": "uuid",
+ "description": "The unique identifier associated with this Data Lake Store account."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Failed",
+ "Creating",
+ "Running",
+ "Succeeded",
+ "Patching",
+ "Suspending",
+ "Resuming",
+ "Deleting",
+ "Deleted",
+ "Undeleting",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "DataLakeStoreAccountStatus",
+ "modelAsString": false
},
- "description": "the results of the list operation"
+ "description": "The provisioning status of the Data Lake Store account."
},
- "nextLink": {
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Active",
+ "Suspended"
+ ],
+ "x-ms-enum": {
+ "name": "DataLakeStoreAccountState",
+ "modelAsString": false
+ },
+ "description": "The state of the Data Lake Store account."
+ },
+ "creationTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The account creation time."
+ },
+ "lastModifiedTime": {
+ "readOnly": true,
"type": "string",
+ "format": "date-time",
+ "description": "The account last modified time."
+ },
+ "endpoint": {
"readOnly": true,
- "description": "the link (url) to the next page of results."
+ "type": "string",
+ "description": "The full CName endpoint for this account."
}
},
- "description": "Data Lake Store trusted identity provider list information."
+ "description": "The basic account specific properties that are associated with an underlying Data Lake Store account."
},
- "DataLakeStoreFirewallRuleListResult": {
+ "DataLakeStoreAccountListResult": {
"properties": {
"value": {
- "type": "array",
"readOnly": true,
+ "type": "array",
"items": {
- "$ref": "#/definitions/FirewallRule"
+ "$ref": "#/definitions/DataLakeStoreAccountBasic"
},
- "description": "the results of the list operation"
+ "description": "The results of the list operation."
},
"nextLink": {
- "type": "string",
"readOnly": true,
- "description": "the link (url) to the next page of results."
+ "type": "string",
+ "description": "The link (url) to the next page of results."
}
},
- "description": "Data Lake Store firewall rule list information."
+ "description": "Data Lake Store account list information response."
},
"EncryptionIdentity": {
"required": [
@@ -1208,25 +1291,25 @@
"properties": {
"type": {
"type": "string",
- "description": "The type of encryption being used. Currently the only supported type is 'SystemAssigned'.",
"enum": [
"SystemAssigned"
],
"x-ms-enum": {
"name": "EncryptionIdentityType",
"modelAsString": false
- }
+ },
+ "description": "The type of encryption being used. Currently the only supported type is 'SystemAssigned'."
},
"principalId": {
+ "readOnly": true,
"type": "string",
"format": "uuid",
- "readOnly": true,
"description": "The principal identifier associated with the encryption."
},
"tenantId": {
+ "readOnly": true,
"type": "string",
"format": "uuid",
- "readOnly": true,
"description": "The tenant identifier associated with the encryption."
}
},
@@ -1239,7 +1322,6 @@
"properties": {
"type": {
"type": "string",
- "description": "The type of encryption configuration being used. Currently the only supported types are 'UserManaged' and 'ServiceManaged'.",
"enum": [
"UserManaged",
"ServiceManaged"
@@ -1247,7 +1329,8 @@
"x-ms-enum": {
"name": "EncryptionConfigType",
"modelAsString": false
- }
+ },
+ "description": "The type of encryption configuration being used. Currently the only supported types are 'UserManaged' and 'ServiceManaged'."
},
"keyVaultMetaInfo": {
"$ref": "#/definitions/KeyVaultMetaInfo",
@@ -1278,169 +1361,323 @@
},
"description": "Metadata information used by account encryption."
},
- "UpdateEncryptionConfig": {
+ "FirewallRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
"properties": {
- "keyVaultMetaInfo": {
- "$ref": "#/definitions/UpdateKeyVaultMetaInfo",
- "description": "The updated Key Vault key to use in user managed key rotation."
+ "properties": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FirewallRuleProperties",
+ "description": "The firewall rule properties."
}
},
- "description": "The encryption configuration used to update a user managed Key Vault key."
+ "description": "Data Lake Store firewall rule information."
},
- "UpdateKeyVaultMetaInfo": {
+ "FirewallRuleProperties": {
"properties": {
- "encryptionKeyVersion": {
+ "startIpAddress": {
+ "readOnly": true,
"type": "string",
- "description": "The version of the user managed encryption key to update through a key rotation."
+ "description": "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
+ },
+ "endIpAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
}
},
- "description": "The Key Vault update information used for user managed key rotation."
+ "description": "The firewall rule properties."
},
- "DataLakeStoreAccountProperties": {
+ "FirewallRuleListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The results of the list operation."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The link (url) to the next page of results."
+ }
+ },
+ "description": "Data Lake Store firewall rule list information."
+ },
+ "TrustedIdProvider": {
"allOf": [
{
- "$ref": "#/definitions/DataLakeStoreAccountPropertiesBasic"
+ "$ref": "#/definitions/SubResource"
}
],
"properties": {
- "encryptionState": {
- "type": "string",
- "description": "The current state of encryption for this Data Lake store account.",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "EncryptionState",
- "modelAsString": false
- }
+ "properties": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TrustedIdProviderProperties",
+ "description": "The trusted identity provider properties."
+ }
+ },
+ "description": "Data Lake Store trusted identity provider information."
+ },
+ "TrustedIdProviderProperties": {
+ "properties": {
+ "idProvider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL of this trusted identity provider."
+ }
+ },
+ "description": "The trusted identity provider properties."
+ },
+ "TrustedIdProviderListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedIdProvider"
+ },
+ "description": "The results of the list operation."
},
- "encryptionProvisioningState": {
+ "nextLink": {
"readOnly": true,
"type": "string",
- "description": "The current state of encryption provisioning for this Data Lake store account.",
- "enum": [
- "Creating",
- "Succeeded"
- ],
- "x-ms-enum": {
- "name": "EncryptionProvisioningState",
- "modelAsString": false
- }
+ "description": "The link (url) to the next page of results."
+ }
+ },
+ "description": "Data Lake Store trusted identity provider list information."
+ },
+ "Operation": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the operation."
},
- "encryptionConfig": {
- "$ref": "#/definitions/EncryptionConfig",
- "description": "The Key Vault encryption configuration."
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "The display information for the operation."
},
- "firewallState": {
+ "origin": {
+ "readOnly": true,
"type": "string",
- "description": "The current state of the IP address firewall for this Data Lake store account.",
"enum": [
- "Enabled",
- "Disabled"
+ "user",
+ "system",
+ "user,system"
],
"x-ms-enum": {
- "name": "FirewallState",
- "modelAsString": false
- }
+ "name": "OperationOrigin",
+ "modelAsString": true
+ },
+ "description": "The intended executor of the operation."
+ }
+ },
+ "description": "An available operation for Data Lake Store."
+ },
+ "OperationDisplay": {
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource provider of the operation."
},
- "firewallRules": {
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type of the operation."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A friendly name of the operation."
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A friendly description of the operation."
+ }
+ },
+ "description": "The display information for a particular operation."
+ },
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
"type": "array",
"items": {
- "$ref": "#/definitions/FirewallRule"
+ "$ref": "#/definitions/Operation"
},
- "description": "The list of firewall rules associated with this Data Lake store account."
+ "description": "The results of the list operation."
},
- "trustedIdProviderState": {
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The link (url) to the next page of results."
+ }
+ },
+ "description": "The list of available operations for Data Lake Store."
+ },
+ "CapabilityInformation": {
+ "properties": {
+ "subscriptionId": {
+ "readOnly": true,
+ "type": "string",
+ "format": "uuid",
+ "description": "The subscription credentials that uniquely identifies the subscription."
+ },
+ "state": {
+ "readOnly": true,
"type": "string",
- "description": "The current state of the trusted identity provider feature for this Data Lake store account.",
"enum": [
- "Enabled",
- "Disabled"
+ "Registered",
+ "Suspended",
+ "Deleted",
+ "Unregistered",
+ "Warned"
],
"x-ms-enum": {
- "name": "TrustedIdProviderState",
- "modelAsString": false
- }
+ "name": "SubscriptionState",
+ "modelAsString": true
+ },
+ "description": "The subscription state."
},
- "trustedIdProviders": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TrustedIdProvider"
+ "maxAccountCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum supported number of accounts under this subscription."
+ },
+ "accountCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The current number of accounts under this subscription."
+ },
+ "migrationState": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to indicate the maintenance state."
+ }
+ },
+ "description": "Subscription-level properties and limits for Data Lake Store."
+ },
+ "NameAvailabilityInformation": {
+ "properties": {
+ "nameAvailable": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "The Boolean value of true or false to indicate whether the Data Lake Store account name is available or not."
+ },
+ "reason": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The reason why the Data Lake Store account name is not available, if nameAvailable is false."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The message describing why the Data Lake Store account name is not available, if nameAvailable is false."
+ }
+ },
+ "description": "Data Lake Store account name availability result information."
+ },
+ "CreateDataLakeStoreAccountParameters": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
},
- "description": "The list of trusted identity providers associated with this Data Lake store account."
+ "description": "The resource tags."
+ },
+ "identity": {
+ "$ref": "#/definitions/EncryptionIdentity",
+ "description": "The Key Vault encryption identity, if any."
},
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateDataLakeStoreAccountProperties",
+ "description": "The Data Lake Store account properties to use for creating."
+ }
+ }
+ },
+ "CreateDataLakeStoreAccountProperties": {
+ "properties": {
"defaultGroup": {
"type": "string",
- "description": "the default owner group for all new folders and files created in the Data Lake Store account."
+ "description": "The default owner group for all new folders and files created in the Data Lake Store account."
},
- "newTier": {
+ "encryptionConfig": {
+ "$ref": "#/definitions/EncryptionConfig",
+ "description": "The Key Vault encryption configuration."
+ },
+ "encryptionState": {
"type": "string",
"enum": [
- "Consumption",
- "Commitment_1TB",
- "Commitment_10TB",
- "Commitment_100TB",
- "Commitment_500TB",
- "Commitment_1PB",
- "Commitment_5PB"
+ "Enabled",
+ "Disabled"
],
"x-ms-enum": {
- "name": "TierType",
+ "name": "EncryptionState",
"modelAsString": false
},
- "description": "the commitment tier to use for next month."
+ "description": "The current state of encryption for this Data Lake Store account."
},
- "currentTier": {
- "type": "string",
- "enum": [
- "Consumption",
- "Commitment_1TB",
- "Commitment_10TB",
- "Commitment_100TB",
- "Commitment_500TB",
- "Commitment_1PB",
- "Commitment_5PB"
- ],
- "x-ms-enum": {
- "name": "TierType",
- "modelAsString": false
+ "firewallRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateFirewallRuleWithAccountParameters"
},
- "readOnly": true,
- "description": "the commitment tier in use for the current month."
+ "description": "The list of firewall rules associated with this Data Lake Store account."
},
- "firewallAllowAzureIps": {
+ "firewallState": {
"type": "string",
- "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.",
"enum": [
"Enabled",
"Disabled"
],
"x-ms-enum": {
- "name": "FirewallAllowAzureIpsState",
+ "name": "FirewallState",
"modelAsString": false
- }
- }
- },
- "description": "Data Lake Store account properties information"
- },
- "UpdateDataLakeStoreAccountProperties": {
- "properties": {
- "firewallState": {
+ },
+ "description": "The current state of the IP address firewall for this Data Lake Store account."
+ },
+ "firewallAllowAzureIps": {
"type": "string",
- "description": "The current state of the IP address firewall for this Data Lake store account. Disabling the firewall does not remove existing rules, they will just be ignored until the firewall is re-enabled.",
"enum": [
"Enabled",
"Disabled"
],
"x-ms-enum": {
- "name": "FirewallState",
+ "name": "FirewallAllowAzureIpsState",
"modelAsString": false
- }
+ },
+ "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced."
+ },
+ "trustedIdProviders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateTrustedIdProviderWithAccountParameters"
+ },
+ "description": "The list of trusted identity providers associated with this Data Lake Store account."
},
"trustedIdProviderState": {
"type": "string",
- "description": "The current state of the trusted identity provider feature for this Data Lake store account. Disabling trusted identity provider functionality does not remove the providers, they will just be ignored until this feature is re-enabled.",
"enum": [
"Enabled",
"Disabled"
@@ -1448,15 +1685,12 @@
"x-ms-enum": {
"name": "TrustedIdProviderState",
"modelAsString": false
- }
- },
- "defaultGroup": {
- "type": "string",
- "description": "the default owner group for all new folders and files created in the Data Lake Store account."
+ },
+ "description": "The current state of the trusted identity provider feature for this Data Lake Store account."
},
"newTier": {
"type": "string",
- "enum": [
+ "enum": [
"Consumption",
"Commitment_1TB",
"Commitment_10TB",
@@ -1469,28 +1703,11 @@
"name": "TierType",
"modelAsString": false
},
- "description": "the commitment tier to use for next month."
- },
- "firewallAllowAzureIps": {
- "type": "string",
- "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "FirewallAllowAzureIpsState",
- "modelAsString": false
- }
- },
- "encryptionConfig": {
- "$ref": "#/definitions/UpdateEncryptionConfig",
- "description": "Used for rotation of user managed Key Vault keys. Can only be used to rotate a user managed encryption Key Vault key."
+ "description": "The commitment tier to use for next month."
}
- },
- "description": "Data Lake Store account properties information to be updated."
+ }
},
- "DataLakeStoreAccountUpdateParameters": {
+ "UpdateDataLakeStoreAccountParameters": {
"properties": {
"tags": {
"type": "object",
@@ -1500,356 +1717,297 @@
"description": "Resource tags"
},
"properties": {
+ "x-ms-client-flatten": true,
"$ref": "#/definitions/UpdateDataLakeStoreAccountProperties",
- "description": "the Data Lake Store account properties to update.",
- "x-ms-client-flatten": true
+ "description": "The Data Lake Store account properties to update."
}
},
- "description": "Data Lake Store account information to update"
+ "description": "Data Lake Store account information to update."
},
- "DataLakeStoreAccount": {
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
+ "UpdateDataLakeStoreAccountProperties": {
"properties": {
- "identity": {
- "$ref": "#/definitions/EncryptionIdentity",
- "description": "The Key Vault encryption identity, if any."
+ "defaultGroup": {
+ "type": "string",
+ "description": "The default owner group for all new folders and files created in the Data Lake Store account."
},
- "properties": {
- "$ref": "#/definitions/DataLakeStoreAccountProperties",
- "description": "the Data Lake Store account properties.",
- "x-ms-client-flatten": true
- }
- },
- "description": "Data Lake Store account information"
- },
- "DataLakeStoreAccountBasic": {
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/DataLakeStoreAccountPropertiesBasic",
- "description": "the basic Data Lake Store account properties.",
- "x-ms-client-flatten": true
- }
- },
- "description": "Basic Data Lake Store account information, returned on list calls."
- },
- "DataLakeStoreAccountPropertiesBasic": {
- "properties": {
- "provisioningState": {
- "readOnly": true,
+ "encryptionConfig": {
+ "$ref": "#/definitions/UpdateEncryptionConfig",
+ "description": "Used for rotation of user managed Key Vault keys. Can only be used to rotate a user managed encryption Key Vault key."
+ },
+ "firewallRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateFirewallRuleWithAccountParameters"
+ },
+ "description": "The list of firewall rules associated with this Data Lake Store account."
+ },
+ "firewallState": {
"type": "string",
- "description": "the provisioning status of the Data Lake Store account.",
"enum": [
- "Failed",
- "Creating",
- "Running",
- "Succeeded",
- "Patching",
- "Suspending",
- "Resuming",
- "Deleting",
- "Deleted",
- "Undeleting",
- "Canceled"
+ "Enabled",
+ "Disabled"
],
"x-ms-enum": {
- "name": "DataLakeStoreAccountStatus",
+ "name": "FirewallState",
"modelAsString": false
- }
+ },
+ "description": "The current state of the IP address firewall for this Data Lake Store account. Disabling the firewall does not remove existing rules, they will just be ignored until the firewall is re-enabled."
},
- "state": {
- "readOnly": true,
+ "firewallAllowAzureIps": {
"type": "string",
- "description": "the state of the Data Lake Store account.",
"enum": [
- "Active",
- "Suspended"
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "FirewallAllowAzureIpsState",
+ "modelAsString": false
+ },
+ "description": "The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced."
+ },
+ "trustedIdProviders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateTrustedIdProviderWithAccountParameters"
+ },
+ "description": "The list of trusted identity providers associated with this Data Lake Store account."
+ },
+ "trustedIdProviderState": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "TrustedIdProviderState",
+ "modelAsString": false
+ },
+ "description": "The current state of the trusted identity provider feature for this Data Lake Store account. Disabling trusted identity provider functionality does not remove the providers, they will just be ignored until this feature is re-enabled."
+ },
+ "newTier": {
+ "type": "string",
+ "enum": [
+ "Consumption",
+ "Commitment_1TB",
+ "Commitment_10TB",
+ "Commitment_100TB",
+ "Commitment_500TB",
+ "Commitment_1PB",
+ "Commitment_5PB"
],
"x-ms-enum": {
- "name": "DataLakeStoreAccountState",
+ "name": "TierType",
"modelAsString": false
- }
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "description": "the account creation time."
- },
- "lastModifiedTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "description": "the account last modified time."
- },
- "endpoint": {
- "type": "string",
- "readOnly": true,
- "description": "the full CName endpoint for this account."
- },
- "accountId": {
- "type": "string",
- "format": "uuid",
- "readOnly": true,
- "description": "The unique identifier associated with this Data Lake Store account."
+ },
+ "description": "The commitment tier to use for next month."
}
},
- "description": "The basic account specific properties that are associated with an underlying Data Lake Store account."
+ "description": "Data Lake Store account properties information to be updated."
},
- "DataLakeStoreAccountListResult": {
+ "UpdateEncryptionConfig": {
"properties": {
- "value": {
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/DataLakeStoreAccountBasic"
- },
- "description": "the results of the list operation"
- },
- "nextLink": {
- "type": "string",
- "readOnly": true,
- "description": "the link (url) to the next page of results."
+ "keyVaultMetaInfo": {
+ "$ref": "#/definitions/UpdateKeyVaultMetaInfo",
+ "description": "The updated Key Vault key to use in user managed key rotation."
}
},
- "description": "Data Lake Store account list information response."
+ "description": "The encryption configuration used to update a user managed Key Vault key."
},
- "NameAvailabilityInformation": {
+ "UpdateKeyVaultMetaInfo": {
"properties": {
- "nameAvailable": {
- "type": "boolean",
- "readOnly": true,
- "description": "the Boolean value of true or false to indicate whether the Data Lake Store account name is available or not."
- },
- "reason": {
- "type": "string",
- "readOnly": true,
- "description": "the reason why the Data Lake Store account name is not available, if nameAvailable is false."
- },
- "message": {
+ "encryptionKeyVersion": {
"type": "string",
- "readOnly": true,
- "description": "the message describing why the Data Lake Store account name is not available, if nameAvailable is false."
+ "description": "The version of the user managed encryption key to update through a key rotation."
}
},
- "description": "Data Lake Store account name availability result information"
+ "description": "The Key Vault update information used for user managed key rotation."
},
- "CheckNameAvailabilityParameters": {
+ "CreateOrUpdateFirewallRuleParameters": {
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when creating a new firewall rule."
+ }
+ },
+ "description": "The parameters used to create a new firewall rule."
+ },
+ "CreateFirewallRuleWithAccountParameters": {
+ "required": [
+ "name",
+ "properties"
+ ],
"properties": {
"name": {
"type": "string",
- "description": "the Data Lake Store name to check availability for."
+ "description": "The unique name of the firewall rule to create."
},
- "type": {
- "type": "string",
- "enum": [
- "Microsoft.DataLakeStore/accounts"
- ],
- "description": "the Resource type. Note: This should not be set by the user, as the constant value is Microsoft.DataLakeStore/accounts"
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when creating a new firewall rule."
}
},
+ "description": "The parameters used to create a new firewall rule while creating a new Data Lake Store account."
+ },
+ "CreateOrUpdateFirewallRuleProperties": {
"required": [
- "name",
- "type"
+ "startIpAddress",
+ "endIpAddress"
],
- "description": "Data Lake Store account name availability check parameters"
- },
- "CapabilityInformation": {
"properties": {
- "subscriptionId": {
+ "startIpAddress": {
"type": "string",
- "format": "uuid",
- "readOnly": true,
- "description": "the subscription credentials that uniquely identifies the subscription."
+ "description": "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
},
- "state": {
+ "endIpAddress": {
"type": "string",
- "enum": [
- "Registered",
- "Suspended",
- "Deleted",
- "Unregistered",
- "Warned"
- ],
- "x-ms-enum": {
- "name": "SubscriptionState",
- "modelAsString": true
- },
- "readOnly": true,
- "description": "the subscription state."
- },
- "maxAccountCount": {
- "type": "integer",
- "format": "int32",
- "readOnly": true,
- "description": "the maximum supported number of accounts under this subscription."
- },
- "accountCount": {
- "type": "integer",
- "format": "int32",
- "readOnly": true,
- "description": "the current number of accounts under this subscription."
- },
- "migrationState": {
- "type": "boolean",
- "readOnly": true,
- "description": "the Boolean value of true or false to indicate the maintenance state."
+ "description": "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
}
},
- "description": "Subscription-level properties and limits for Data Lake Store"
+ "description": "The firewall rule properties to use when creating a new firewall rule."
},
- "OperationDisplay": {
+ "UpdateFirewallRuleParameters": {
"properties": {
- "provider": {
- "type": "string",
- "readOnly": true,
- "description": "the Resource provider of the operation."
- },
- "resource": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when updating a firewall rule."
+ }
+ },
+ "description": "The parameters used to update a firewall rule."
+ },
+ "UpdateFirewallRuleWithAccountParameters": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
"type": "string",
- "readOnly": true,
- "description": "the Resource type of the operation."
+ "description": "The unique name of the firewall rule to update."
},
- "operation": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateFirewallRuleProperties",
+ "description": "The firewall rule properties to use when updating a firewall rule."
+ }
+ },
+ "description": "The parameters used to update a firewall rule while updating a Data Lake Store account."
+ },
+ "UpdateFirewallRuleProperties": {
+ "properties": {
+ "startIpAddress": {
"type": "string",
- "readOnly": true,
- "description": "a friendly name of the operation."
+ "description": "The start IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
},
- "description": {
+ "endIpAddress": {
"type": "string",
- "readOnly": true,
- "description": "a friendly description of the operation."
+ "description": "The end IP address for the firewall rule. This can be either ipv4 or ipv6. Start and End should be in the same protocol."
}
},
- "description": "The display information for a particular operation"
+ "description": "The firewall rule properties to use when updating a firewall rule."
},
- "Operation": {
+ "CreateOrUpdateTrustedIdProviderParameters": {
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateTrustedIdProviderProperties",
+ "description": "The trusted identity provider properties to use when creating a new trusted identity provider."
+ }
+ },
+ "description": "The parameters used to create a new trusted identity provider."
+ },
+ "CreateTrustedIdProviderWithAccountParameters": {
+ "required": [
+ "name",
+ "properties"
+ ],
"properties": {
"name": {
"type": "string",
- "readOnly": true,
- "description": "the name of the operation."
- },
- "display": {
- "$ref": "#/definitions/OperationDisplay",
- "description": "the display information for the operation."
+ "description": "The unique name of the trusted identity provider to create."
},
- "origin": {
- "type": "string",
- "enum": [
- "user",
- "system",
- "user,system"
- ],
- "x-ms-enum": {
- "name": "OperationOrigin",
- "modelAsString": true
- },
- "readOnly": true,
- "description": "the intended executor of the operation."
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateOrUpdateTrustedIdProviderProperties",
+ "description": "The trusted identity provider properties to use when creating a new trusted identity provider."
}
},
- "description": "An available operation for Data Lake Store"
+ "description": "The parameters used to create a new trusted identity provider while creating a new Data Lake Store account."
},
- "OperationListResult": {
+ "CreateOrUpdateTrustedIdProviderProperties": {
+ "required": [
+ "idProvider"
+ ],
"properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- },
- "readOnly": true,
- "description": "the results of the list operation."
- },
- "nextLink": {
+ "idProvider": {
"type": "string",
- "readOnly": true,
- "description": "the link (url) to the next page of results."
+ "description": "The URL of this trusted identity provider."
}
},
- "description": "The list of available operations for Data Lake Store"
+ "description": "The trusted identity provider properties to use when creating a new trusted identity provider."
},
- "ErrorDetails": {
+ "UpdateTrustedIdProviderParameters": {
"properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "the HTTP status code or error code associated with this error"
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "the error message localized based on Accept-Language"
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "the target of the particular error (for example, the name of the property in error)."
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateTrustedIdProviderProperties",
+ "description": "The trusted identity provider properties to use when updating a trusted identity provider."
}
},
- "description": "Data Lake Store error details information"
+ "description": "The parameters used to update a trusted identity provider."
},
- "Resource": {
- "description": "The Resource model definition.",
+ "UpdateTrustedIdProviderWithAccountParameters": {
+ "required": [
+ "name"
+ ],
"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"
+ "description": "The unique name of the trusted identity provider to update."
},
- "location": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UpdateTrustedIdProviderProperties",
+ "description": "The trusted identity provider properties to use when updating a trusted identity provider."
+ }
+ },
+ "description": "The parameters used to update a trusted identity provider while updating a Data Lake Store account."
+ },
+ "UpdateTrustedIdProviderProperties": {
+ "properties": {
+ "idProvider": {
"type": "string",
- "description": "Resource location"
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Resource tags"
+ "description": "The URL of this trusted identity provider."
}
},
+ "description": "The trusted identity provider properties to use when updating a trusted identity provider."
+ },
+ "CheckNameAvailabilityParameters": {
"required": [
- "location"
+ "name",
+ "type"
],
- "x-ms-azure-resource": true
- },
- "SubResource": {
- "description": "The Resource model definition for a nested resource.",
"properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Resource Id"
- },
"name": {
"type": "string",
- "description": "Resource name"
+ "description": "The Data Lake Store name to check availability for."
},
"type": {
- "readOnly": true,
"type": "string",
- "description": "Resource type"
+ "enum": [
+ "Microsoft.DataLakeStore/accounts"
+ ],
+ "description": "The resource type. Note: This should not be set by the user, as the constant value is Microsoft.DataLakeStore/accounts"
}
- }
+ },
+ "description": "Data Lake Store account name availability check parameters."
}
},
"parameters": {
@@ -1866,6 +2024,22 @@
"required": true,
"type": "string",
"description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Azure resource group."
+ },
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Data Lake Store account."
}
}
}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_CheckNameAvailability.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_CheckNameAvailability.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_CheckNameAvailability.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_CheckNameAvailability.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Create.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Create.json
new file mode 100644
index 000000000000..3e47bad9601f
--- /dev/null
+++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Create.json
@@ -0,0 +1,162 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "parameters": {
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "encryptionState": "Enabled",
+ "encryptionConfig": {
+ "type": "UserManaged",
+ "keyVaultMetaInfo": {
+ "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "encryptionKeyName": "test_encryption_key_name",
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ },
+ "firewallState": "Enabled",
+ "firewallRules": [{
+ "name": "test_rule",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "trustedIdProviderState": "Enabled",
+ "trustedIdProviders": [{
+ "name": "test_trusted_id_provider_name",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }],
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "contosoadla",
+ "type": "test_type",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "testadlfs17607.azuredatalakestore.net",
+ "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
+ "encryptionState": "Enabled",
+ "encryptionProvisioningState": "Succeeded",
+ "encryptionConfig": {
+ "type": "UserManaged",
+ "keyVaultMetaInfo": {
+ "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "encryptionKeyName": "test_encryption_key_name",
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ },
+ "firewallState": "Enabled",
+ "firewallRules": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "trustedIdProviderState": "Enabled",
+ "trustedIdProviders": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_trusted_id_provider_name",
+ "type": "test_type",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }],
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "contosoadla",
+ "type": "test_type",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "testadlfs17607.azuredatalakestore.net",
+ "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
+ "encryptionState": "Enabled",
+ "encryptionProvisioningState": "Succeeded",
+ "encryptionConfig": {
+ "type": "UserManaged",
+ "keyVaultMetaInfo": {
+ "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "encryptionKeyName": "test_encryption_key_name",
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ },
+ "firewallState": "Enabled",
+ "firewallRules": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "trustedIdProviderState": "Enabled",
+ "trustedIdProviders": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_trusted_id_provider_name",
+ "type": "test_type",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }],
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Delete.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Delete.json
new file mode 100644
index 000000000000..324b2630a98a
--- /dev/null
+++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla"
+ },
+ "responses": {
+ "200": {
+ },
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_EnableKeyVault.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_EnableKeyVault.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_EnableKeyVault.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_EnableKeyVault.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Get.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Get.json
new file mode 100644
index 000000000000..1164abb7ffcb
--- /dev/null
+++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Get.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "contosoadla",
+ "type": "test_type",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "testadlfs17607.azuredatalakestore.net",
+ "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
+ "encryptionState": "Enabled",
+ "encryptionProvisioningState": "Succeeded",
+ "encryptionConfig": {
+ "type": "UserManaged",
+ "keyVaultMetaInfo": {
+ "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "encryptionKeyName": "test_encryption_key_name",
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ },
+ "firewallState": "Enabled",
+ "firewallRules": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "trustedIdProviderState": "Enabled",
+ "trustedIdProviders": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_trusted_id_provider_name",
+ "type": "test_type",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }],
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_List.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_List.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_List.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_List.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_ListByResourceGroup.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_ListByResourceGroup.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_ListByResourceGroup.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_ListByResourceGroup.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Update.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Update.json
new file mode 100644
index 000000000000..fa44341218d0
--- /dev/null
+++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Accounts_Update.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "parameters": {
+ "tags": {
+ "test_key": "test_value"
+ },
+ "properties": {
+ "firewallState": "Enabled",
+ "trustedIdProviderState": "Enabled",
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled",
+ "encryptionConfig": {
+ "keyVaultMetaInfo": {
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "contosoadla",
+ "type": "test_type",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "testadlfs17607.azuredatalakestore.net",
+ "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
+ "encryptionState": "Enabled",
+ "encryptionProvisioningState": "Succeeded",
+ "encryptionConfig": {
+ "type": "UserManaged",
+ "keyVaultMetaInfo": {
+ "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "encryptionKeyName": "test_encryption_key_name",
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ },
+ "firewallState": "Enabled",
+ "firewallRules": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "trustedIdProviderState": "Enabled",
+ "trustedIdProviders": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_trusted_id_provider_name",
+ "type": "test_type",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }],
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "contosoadla",
+ "type": "test_type",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "testadlfs17607.azuredatalakestore.net",
+ "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
+ "encryptionState": "Enabled",
+ "encryptionProvisioningState": "Succeeded",
+ "encryptionConfig": {
+ "type": "UserManaged",
+ "keyVaultMetaInfo": {
+ "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "encryptionKeyName": "test_encryption_key_name",
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ },
+ "firewallState": "Enabled",
+ "firewallRules": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "trustedIdProviderState": "Enabled",
+ "trustedIdProviders": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_trusted_id_provider_name",
+ "type": "test_type",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }],
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "contosoadla",
+ "type": "test_type",
+ "location": "test_location",
+ "tags": {
+ "test_key": "test_value"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Active",
+ "creationTime": "2017-04-14T13:21:56.6819037-07:00",
+ "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
+ "endpoint": "testadlfs17607.azuredatalakestore.net",
+ "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
+ "encryptionState": "Enabled",
+ "encryptionProvisioningState": "Succeeded",
+ "encryptionConfig": {
+ "type": "UserManaged",
+ "keyVaultMetaInfo": {
+ "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "encryptionKeyName": "test_encryption_key_name",
+ "encryptionKeyVersion": "encryption_key_version"
+ }
+ },
+ "firewallState": "Enabled",
+ "firewallRules": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }],
+ "trustedIdProviderState": "Enabled",
+ "trustedIdProviders": [{
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_trusted_id_provider_name",
+ "type": "test_type",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }],
+ "defaultGroup": "test_default_group",
+ "newTier": "Consumption",
+ "currentTier": "Consumption",
+ "firewallAllowAzureIps": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Create.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Create.json
deleted file mode 100644
index dd6c63323890..000000000000
--- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Create.json
+++ /dev/null
@@ -1,162 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "name": "contosoadla",
- "parameters": {
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "identity": {
- "type": "SystemAssigned"
- },
- "properties": {
- "encryptionState": "Enabled",
- "encryptionConfig": {
- "type": "UserManaged",
- "keyVaultMetaInfo": {
- "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "encryptionKeyName": "test_encryption_key_name",
- "encryptionKeyVersion": "encryption_key_version"
- }
- },
- "firewallState": "Enabled",
- "firewallRules": [{
- "name": "test_rule",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "trustedIdProviderState": "Enabled",
- "trustedIdProviders": [{
- "name": "test_trusted_id_provider_name",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }],
- "defaultGroup": "test_default_group",
- "newTier": "Consumption",
- "firewallAllowAzureIps": "Enabled"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "contosoadla",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "identity": {
- "type": "SystemAssigned",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "testadlfs17607.azuredatalakestore.net",
- "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
- "encryptionState": "Enabled",
- "encryptionProvisioningState": "Succeeded",
- "encryptionConfig": {
- "type": "UserManaged",
- "keyVaultMetaInfo": {
- "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "encryptionKeyName": "test_encryption_key_name",
- "encryptionKeyVersion": "encryption_key_version"
- }
- },
- "firewallState": "Enabled",
- "firewallRules": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "trustedIdProviderState": "Enabled",
- "trustedIdProviders": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_trusted_id_provider_name",
- "type": "test_type",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }],
- "defaultGroup": "test_default_group",
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallAllowAzureIps": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "contosoadla",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "identity": {
- "type": "SystemAssigned",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "testadlfs17607.azuredatalakestore.net",
- "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
- "encryptionState": "Enabled",
- "encryptionProvisioningState": "Succeeded",
- "encryptionConfig": {
- "type": "UserManaged",
- "keyVaultMetaInfo": {
- "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "encryptionKeyName": "test_encryption_key_name",
- "encryptionKeyVersion": "encryption_key_version"
- }
- },
- "firewallState": "Enabled",
- "firewallRules": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "trustedIdProviderState": "Enabled",
- "trustedIdProviders": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_trusted_id_provider_name",
- "type": "test_type",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }],
- "defaultGroup": "test_default_group",
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallAllowAzureIps": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Delete.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Delete.json
deleted file mode 100644
index 99089c2a8b59..000000000000
--- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Delete.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "name": "contosoadla"
- },
- "responses": {
- "200": {
- },
- "204": {
- },
- "202": {
- }
- }
-}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Get.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Get.json
deleted file mode 100644
index 552dfd61bd95..000000000000
--- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Get.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "name": "contosoadla"
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "contosoadla",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "identity": {
- "type": "SystemAssigned",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "testadlfs17607.azuredatalakestore.net",
- "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
- "encryptionState": "Enabled",
- "encryptionProvisioningState": "Succeeded",
- "encryptionConfig": {
- "type": "UserManaged",
- "keyVaultMetaInfo": {
- "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "encryptionKeyName": "test_encryption_key_name",
- "encryptionKeyVersion": "encryption_key_version"
- }
- },
- "firewallState": "Enabled",
- "firewallRules": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "trustedIdProviderState": "Enabled",
- "trustedIdProviders": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_trusted_id_provider_name",
- "type": "test_type",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }],
- "defaultGroup": "test_default_group",
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallAllowAzureIps": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Update.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Update.json
deleted file mode 100644
index d66e6d45dd64..000000000000
--- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Account_Update.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "name": "contosoadla",
- "parameters": {
- "tags": {
- "test_key": "test_value"
- },
- "properties": {
- "firewallState": "Enabled",
- "trustedIdProviderState": "Enabled",
- "defaultGroup": "test_default_group",
- "newTier": "Consumption",
- "firewallAllowAzureIps": "Enabled",
- "encryptionConfig": {
- "keyVaultMetaInfo": {
- "encryptionKeyVersion": "encryption_key_version"
- }
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "contosoadla",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "identity": {
- "type": "SystemAssigned",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "testadlfs17607.azuredatalakestore.net",
- "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
- "encryptionState": "Enabled",
- "encryptionProvisioningState": "Succeeded",
- "encryptionConfig": {
- "type": "UserManaged",
- "keyVaultMetaInfo": {
- "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "encryptionKeyName": "test_encryption_key_name",
- "encryptionKeyVersion": "encryption_key_version"
- }
- },
- "firewallState": "Enabled",
- "firewallRules": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "trustedIdProviderState": "Enabled",
- "trustedIdProviders": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_trusted_id_provider_name",
- "type": "test_type",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }],
- "defaultGroup": "test_default_group",
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallAllowAzureIps": "Enabled"
- }
- }
- },
- "201": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "contosoadla",
- "type": "test_type",
- "location": "test_location",
- "tags": {
- "test_key": "test_value"
- },
- "identity": {
- "type": "SystemAssigned",
- "principalId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "tenantId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346"
- },
- "properties": {
- "provisioningState": "Succeeded",
- "state": "Active",
- "creationTime": "2017-04-14T13:21:56.6819037-07:00",
- "lastModifiedTime": "2017-04-14T13:21:56.6819037-07:00",
- "endpoint": "testadlfs17607.azuredatalakestore.net",
- "accountId": "94f4bf5d-78a9-4c31-8aa7-b34d07bad898",
- "encryptionState": "Enabled",
- "encryptionProvisioningState": "Succeeded",
- "encryptionConfig": {
- "type": "UserManaged",
- "keyVaultMetaInfo": {
- "keyVaultResourceId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "encryptionKeyName": "test_encryption_key_name",
- "encryptionKeyVersion": "encryption_key_version"
- }
- },
- "firewallState": "Enabled",
- "firewallRules": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }],
- "trustedIdProviderState": "Enabled",
- "trustedIdProviders": [{
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_trusted_id_provider_name",
- "type": "test_type",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }],
- "defaultGroup": "test_default_group",
- "newTier": "Consumption",
- "currentTier": "Consumption",
- "firewallAllowAzureIps": "Enabled"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_CreateOrUpdate.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_CreateOrUpdate.json
deleted file mode 100644
index ffa9d125c693..000000000000
--- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_CreateOrUpdate.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "firewallRuleName": "test_rule",
- "parameters": {
- "name": "test_rule",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_rule",
- "type": "test_type",
- "properties": {
- "startIpAddress": "1.1.1.1",
- "endIpAddress": "2.2.2.2"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_CreateOrUpdate.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_CreateOrUpdate.json
deleted file mode 100644
index 7e3aba836067..000000000000
--- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_CreateOrUpdate.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "api-version": "2016-11-01",
- "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "resourceGroupName": "contosorg",
- "accountName": "contosoadla",
- "trustedIdProviderName": "test_trusted_id_provider_name",
- "parameters": {
- "name": "test_trusted_id_provider_name",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
- "name": "test_trusted_id_provider_name",
- "type": "test_type",
- "properties": {
- "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
- }
- }
- }
- }
-}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_CreateOrUpdate.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..80e20e0cff4a
--- /dev/null
+++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_CreateOrUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "firewallRuleName": "test_rule",
+ "parameters": {
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_rule",
+ "type": "test_type",
+ "properties": {
+ "startIpAddress": "1.1.1.1",
+ "endIpAddress": "2.2.2.2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_Delete.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_Delete.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_Delete.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_Delete.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_Get.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_Get.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_Get.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_Get.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_ListByAccount.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_ListByAccount.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_ListByAccount.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_ListByAccount.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_Update.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_Update.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_FirewallRules_Update.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/FirewallRules_Update.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Locations_GetCapability.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Locations_GetCapability.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Locations_GetCapability.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Locations_GetCapability.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Operations_List.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Operations_List.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_Operations_List.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Operations_List.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_Update.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_CreateOrUpdate.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_Update.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_CreateOrUpdate.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_Delete.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_Delete.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_Delete.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_Delete.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_Get.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_Get.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_Get.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_Get.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_ListByAccount.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_ListByAccount.json
similarity index 100%
rename from specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/Adls_TrustedIdProviders_ListByAccount.json
rename to specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_ListByAccount.json
diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_Update.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_Update.json
new file mode 100644
index 000000000000..5ee5b38f12c9
--- /dev/null
+++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/examples/TrustedIdProviders_Update.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2016-11-01",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "contosorg",
+ "accountName": "contosoadla",
+ "trustedIdProviderName": "test_trusted_id_provider_name",
+ "parameters": {
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "name": "test_trusted_id_provider_name",
+ "type": "test_type",
+ "properties": {
+ "idProvider": "https://sts.windows.net/ea9ec534-a3e3-4e45-ad36-3afc5bb291c1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datalake-store/resource-manager/readme.md b/specification/datalake-store/resource-manager/readme.md
index 59731563d318..ca5de9dbc498 100644
--- a/specification/datalake-store/resource-manager/readme.md
+++ b/specification/datalake-store/resource-manager/readme.md
@@ -50,10 +50,37 @@ input-file:
- Microsoft.DataLakeStore/preview/2015-10-01-preview/account.json
```
+## Suppression
+``` yaml
+directive:
+ - suppress: TrackedResourceGetOperation
+ reason: This is by design in that we return DataLakeStoreAccountBasic only for Account_List
+ #where:
+ # - $.definitions.DataLakeStoreAccountBasic
+
+ - suppress: TrackedResourcePatchOperation
+ reason: DataLakeStoreAccountBasic is not independent and its purpose is for Account_List only. PATCH is for DataLakeStoreAccount, which will effectively update DataLakeStoreAccountBasic
+ #where:
+ # - $.definitions.DataLakeStoreAccountBasic
+```
+
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -107,6 +134,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-11
+ - tag: package-2015-10-preview
+```
+
### Tag: package-2016-11 and go
These settings apply only when `--tag=package-2016-11 --go` is specified on the command line.
@@ -124,3 +159,17 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.management.datalake.store
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datalake/store
+```
diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md
index 0869f53a1545..e28ae0f50614 100644
--- a/specification/datamigration/resource-manager/readme.md
+++ b/specification/datamigration/resource-manager/readme.md
@@ -53,6 +53,17 @@ input-file:
# 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-go
+```
+
## C#
These settings apply only when --csharp is specified on the command line.
@@ -78,4 +89,48 @@ python:
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
namespace: azure.mgmt.datamigration
-```
\ No newline at end of file
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: datamigration
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-11-15-preview
+```
+
+
+### Tag: package-2017-11-15-preview and go
+
+These settings apply only when `--tag=package-2017-11-15-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-11-15-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/datamigration/mgmt/2017-11-15-preview/datamigration
+```
+
+
+## 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.datamigration
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datamigration
+```
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCertificateCreateOrUpdate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCertificateCreateOrUpdate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCertificateCreateOrUpdate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCheckNameAvailability.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCheckNameAvailability.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCheckNameAvailability.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCreate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCreate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSCreate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDelete.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDelete.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDelete.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDeleteCertificate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDeleteCertificate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSDeleteCertificate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGenerateVerificationCode.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGenerateVerificationCode.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGenerateVerificationCode.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGet.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGet.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGet.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificates.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificates.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetCertificates.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetKey.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetKey.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetKey.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetOperationResult.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetOperationResult.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetOperationResult.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetValidSku.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetValidSku.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSGetValidSku.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListByResourceGroup.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListByResourceGroup.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListByResourceGroup.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListBySubscription.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListBySubscription.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListBySubscription.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListKeys.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListKeys.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSListKeys.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSOperations.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSOperations.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSOperations.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSUpdate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSUpdate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSUpdate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSVerifyCertificate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSVerifyCertificate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/examples/DPSVerifyCertificate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/iotdps.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/iotdps.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2017-08-21-preview/iotdps.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCertificateCreateOrUpdate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCertificateCreateOrUpdate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCertificateCreateOrUpdate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCheckNameAvailability.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCheckNameAvailability.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCheckNameAvailability.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCreate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCreate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSCreate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDelete.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDelete.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDelete.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDeleteCertificate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDeleteCertificate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSDeleteCertificate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGenerateVerificationCode.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGenerateVerificationCode.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGenerateVerificationCode.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGet.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGet.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGet.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificates.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificates.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetCertificates.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetKey.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetKey.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetKey.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetOperationResult.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetOperationResult.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetOperationResult.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetValidSku.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetValidSku.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSGetValidSku.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListByResourceGroup.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListByResourceGroup.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListByResourceGroup.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListBySubscription.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListBySubscription.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListBySubscription.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListKeys.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListKeys.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSListKeys.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSOperations.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSOperations.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSOperations.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSPatch.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSPatch.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSPatch.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSUpdate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSUpdate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSUpdate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSVerifyCertificate.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSVerifyCertificate.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/examples/DPSVerifyCertificate.json
diff --git a/specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/iotdps.json
similarity index 100%
rename from specification/provisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/iotdps.json
rename to specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2017-11-15/iotdps.json
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md
new file mode 100644
index 000000000000..31141f083874
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/readme.md
@@ -0,0 +1,156 @@
+# Device Provisioning Services
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Device Provisioning Services.
+
+
+
+---
+## Getting Started
+To build the SDK for DeviceProvisioningServices, 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 API.
+
+``` yaml
+openapi-type: arm
+tag: package-2017-11
+```
+
+### Tag: package-2017-08
+
+These settings apply only when `--tag=package-2017-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-08'
+input-file:
+- Microsoft.Devices/preview/2017-08-21-preview/iotdps.json
+```
+
+### Tag: package-2017-11
+
+These settings apply only when `--tag=package-2017-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-11'
+input-file:
+- Microsoft.Devices/stable/2017-11-15/iotdps.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
+## 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.DeviceProvisioningServices
+ output-folder: $(csharp-sdks-folder)/DeviceProvisioningServices/Management.DeviceProvisioningServices/Generated
+ clear-output-folder: true
+```
+
+## 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.iothubprovisioningservices
+ package-name: azure-mgmt-iothubprovisioningservices
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-iothubprovisioningservices/azure/mgmt/iothubprovisioningservices
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-iothubprovisioningservices
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: iothub
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-11
+ - tag: package-2017-08
+```
+
+### Tag: package-2017-11 and go
+
+These settings apply only when `--tag=package-2017-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-11' && $(go)
+output-folder: $(go-sdk-folder)/services/provisioningservices/mgmt/2017-11-15/iothub
+```
+
+### Tag: package-2017-08 and go
+
+These settings apply only when `--tag=package-2017-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-08' && $(go)
+output-folder: $(go-sdk-folder)/services/provisioningservices/mgmt/2017-08-21-preview/iothub
+```
+
+## 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.provisioningservices
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-provisioningservices
+```
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2016-05-15/DTL.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2016-05-15/DTL.json
index 755b3558f10f..8da36e97e6e9 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2016-05-15/DTL.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2016-05-15/DTL.json
@@ -10,6 +10,22 @@
"consumes": [ "application/json" ],
"produces": [ "application/json" ],
"paths": {
+ "/providers/Microsoft.DevTestLab/operations": {
+ "get": {
+ "tags": [ "ProviderOperations" ],
+ "description": "Result of the request to list REST API operations",
+ "operationId": "ProviderOperations_List",
+ "parameters": [ { "$ref": "#/parameters/api-version" } ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": { "$ref": "#/definitions/ProviderOperationResult" }
+ }
+ },
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
+ "x-ms-pageable": { "nextLinkName": "nextLink" }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs": {
"get": {
"tags": [ "Labs" ],
@@ -58,7 +74,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Lab"
}
@@ -90,7 +106,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules": {
@@ -141,7 +157,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Schedule"
}
@@ -195,7 +211,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Lab"
}
@@ -256,7 +272,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/ArtifactSource"
}
@@ -324,7 +340,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/ArmTemplate"
}
@@ -377,7 +393,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts": {
@@ -443,7 +459,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Artifact"
}
@@ -496,7 +512,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate": {
@@ -547,7 +563,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}": {
@@ -591,7 +607,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "ArtifactSources" ],
@@ -637,7 +653,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "ArtifactSources" ],
@@ -670,7 +686,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"patch": {
"tags": [ "ArtifactSources" ],
@@ -712,7 +728,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}": {
@@ -756,7 +772,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Costs" ],
@@ -802,7 +818,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages": {
@@ -861,7 +877,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/CustomImage"
}
@@ -907,7 +923,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "CustomImages" ],
@@ -953,7 +969,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"delete": {
@@ -987,7 +1003,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -1047,7 +1063,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Formula"
}
@@ -1093,7 +1109,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Formulas" ],
@@ -1139,7 +1155,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"delete": {
@@ -1173,7 +1189,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages": {
@@ -1232,7 +1248,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/GalleryImage"
}
@@ -1293,7 +1309,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/NotificationChannel"
}
@@ -1339,7 +1355,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "NotificationChannels" ],
@@ -1385,7 +1401,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "NotificationChannels" ],
@@ -1418,7 +1434,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"patch": {
"tags": [ "NotificationChannels" ],
@@ -1460,7 +1476,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify": {
@@ -1501,7 +1517,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies": {
@@ -1545,7 +1561,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies": {
@@ -1611,7 +1627,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Policy"
}
@@ -1664,7 +1680,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Policies" ],
@@ -1717,7 +1733,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "Policies" ],
@@ -1757,7 +1773,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"patch": {
"tags": [ "Policies" ],
@@ -1806,7 +1822,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules": {
@@ -1865,7 +1881,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Schedule"
}
@@ -1911,7 +1927,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Schedules" ],
@@ -1957,7 +1973,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "Schedules" ],
@@ -1990,7 +2006,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"patch": {
"tags": [ "Schedules" ],
@@ -2032,7 +2048,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute": {
@@ -2067,7 +2083,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -2105,7 +2121,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" }
}
},
@@ -2158,7 +2174,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/ServiceRunner"
}
@@ -2197,7 +2213,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "ServiceRunners" ],
@@ -2243,7 +2259,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "ServiceRunners" ],
@@ -2276,7 +2292,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users": {
@@ -2335,7 +2351,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/User"
}
@@ -2381,7 +2397,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Users" ],
@@ -2427,7 +2443,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "Users" ],
@@ -2460,7 +2476,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"patch": {
@@ -2503,7 +2519,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks": {
@@ -2569,7 +2585,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Disk"
}
@@ -2622,7 +2638,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Disks" ],
@@ -2675,7 +2691,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"delete": {
@@ -2716,7 +2732,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -2766,7 +2782,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -2816,7 +2832,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -2883,7 +2899,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/DtlEnvironment"
}
@@ -2936,7 +2952,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Environments" ],
@@ -2989,7 +3005,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"delete": {
@@ -3030,7 +3046,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -3097,7 +3113,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Secret"
}
@@ -3150,7 +3166,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Secrets" ],
@@ -3203,7 +3219,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "Secrets" ],
@@ -3243,7 +3259,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines": {
@@ -3302,7 +3318,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/LabVirtualMachine"
}
@@ -3348,7 +3364,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "VirtualMachines" ],
@@ -3394,7 +3410,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"delete": {
@@ -3428,7 +3444,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"patch": {
@@ -3471,7 +3487,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk": {
@@ -3513,7 +3529,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -3556,7 +3572,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -3592,7 +3608,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -3635,7 +3651,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -3673,7 +3689,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start": {
@@ -3708,7 +3724,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -3744,7 +3760,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -3811,7 +3827,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Schedule"
}
@@ -3864,7 +3880,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "VirtualMachineSchedules" ],
@@ -3917,7 +3933,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "VirtualMachineSchedules" ],
@@ -3957,7 +3973,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"patch": {
"tags": [ "VirtualMachineSchedules" ],
@@ -4006,7 +4022,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute": {
@@ -4048,7 +4064,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -4108,7 +4124,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/VirtualNetwork"
}
@@ -4154,7 +4170,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "VirtualNetworks" ],
@@ -4200,7 +4216,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"delete": {
@@ -4234,7 +4250,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"patch": {
@@ -4277,7 +4293,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}": {
@@ -4314,7 +4330,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "Labs" ],
@@ -4353,7 +4369,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"delete": {
@@ -4380,7 +4396,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
},
"patch": {
@@ -4416,7 +4432,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm": {
@@ -4444,7 +4460,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -4480,7 +4496,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -4516,7 +4532,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -4554,7 +4570,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds": {
@@ -4584,7 +4600,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" }
}
},
@@ -4637,7 +4653,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-pageable": { "nextLinkName": "nextLink" },
"x-ms-odata": "#/definitions/Schedule"
}
@@ -4676,7 +4692,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"put": {
"tags": [ "GlobalSchedules" ],
@@ -4715,7 +4731,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"delete": {
"tags": [ "GlobalSchedules" ],
@@ -4741,7 +4757,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
},
"patch": {
"tags": [ "GlobalSchedules" ],
@@ -4776,7 +4792,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute": {
@@ -4804,7 +4820,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
},
@@ -4840,7 +4856,7 @@
"schema": { "$ref": "#/definitions/CloudError" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ],
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ],
"x-ms-long-running-operation": true
}
}
@@ -5581,7 +5597,7 @@
"modelAsString": true
}
},
- "NotificationSent": {
+ "notificationSent": {
"description": "Indicates the datetime when notifications were last sent for this threshold.",
"type": "string"
}
@@ -6216,7 +6232,7 @@
}
},
"IdentityProperties": {
- "description": "IdentityProperties",
+ "description": "Properties of a managed identity",
"type": "object",
"properties": {
"type": {
@@ -7287,6 +7303,42 @@
}
}
},
+ "OperationMetadata": {
+ "description": "The REST API operation supported by DevTestLab ResourceProvider.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationMetadataDisplay",
+ "description": "The object that describes the operations"
+ }
+ }
+ },
+ "OperationMetadataDisplay": {
+ "description": "The object that describes the operations",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Friendly name of the resource provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: read, write, delete, listKeys/action, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Friendly name of the operation",
+ "type": "string"
+ }
+ }
+ },
"OperationResult": {
"description": "An Operation Result",
"type": "object",
@@ -7555,6 +7607,22 @@
}
}
},
+ "ProviderOperationResult": {
+ "description": "Result of the request to list REST API operations",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the resource provider.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/OperationMetadata" }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"Resource": {
"description": "An Azure resource.",
"type": "object",
@@ -8647,7 +8715,7 @@
}
},
"securityDefinitions": {
- "oauth2": {
+ "azure_auth": {
"type": "oauth2",
"description": "OAuth2 Implicit Grant",
"flow": "implicit",
@@ -8655,5 +8723,5 @@
"scopes": { "user_impersonation": "Access Microsoft Azure" }
}
},
- "security": [ { "oauth2": [ "user_impersonation" ] } ]
+ "security": [ { "azure_auth": [ "user_impersonation" ] } ]
}
diff --git a/specification/devtestlabs/resource-manager/readme.md b/specification/devtestlabs/resource-manager/readme.md
index 4bb98b5f02db..210a23937570 100644
--- a/specification/devtestlabs/resource-manager/readme.md
+++ b/specification/devtestlabs/resource-manager/readme.md
@@ -53,6 +53,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -106,6 +119,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-05
+ - tag: package-2015-05-preview
+```
+
+
### Tag: package-2016-05 and go
These settings apply only when `--tag=package-2016-05 --go` is specified on the command line.
@@ -123,3 +145,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.devtestlabs
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-devtestlabs
+```
diff --git a/specification/dns/resource-manager/readme.md b/specification/dns/resource-manager/readme.md
index c2373248df0e..89151db23dc8 100644
--- a/specification/dns/resource-manager/readme.md
+++ b/specification/dns/resource-manager/readme.md
@@ -61,6 +61,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -115,6 +128,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-09
+ - tag: package-2016-04
+ - tag: package-2015-05-preview
+```
+
### Tag: package-2017-09 and go
These settings apply only when `--tag=package-2017-09 --go` is specified on the command line.
@@ -141,3 +163,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.dns
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-dns
+```
diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md
index 14f613efa9df..21f75be42f81 100644
--- a/specification/domainservices/resource-manager/readme.md
+++ b/specification/domainservices/resource-manager/readme.md
@@ -50,6 +50,17 @@ input-file:
---
# 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-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -77,6 +88,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-01
+ - tag: package-2017-06
+```
+
### Tag: package-2017-01 and go
These settings apply only when `--tag=package-2017-01 --go` is specified on the command line.
@@ -85,3 +104,27 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-06' && $(go)
+output-folder: $(go-sdk-folder)/services/domainservices/mgmt/2017-06-01/aad
+```
+
+## 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.domainservices
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices
+```
diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json
new file mode 100644
index 000000000000..5e30c7fbdde9
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json
@@ -0,0 +1,145 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure Container Registry events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure Container Registry events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "ContainerRegistryImagePushedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImagePushed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ContainerRegistryEventData"
+ }
+ ],
+ "properties": {}
+ },
+ "ContainerRegistryImageDeletedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ImageDeleted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ContainerRegistryEventData"
+ }
+ ],
+ "properties": {}
+ },
+ "ContainerRegistryEventData": {
+ "description": "The content of the event request message.",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The time at which the event occurred.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The action that encompasses the provided event.",
+ "type": "string"
+ },
+ "target": {
+ "$ref": "#/definitions/ContainerRegistryEventTarget",
+ "description": "The target of the event."
+ },
+ "request": {
+ "$ref": "#/definitions/ContainerRegistryEventRequest",
+ "description": "The request that generated the event."
+ },
+ "actor": {
+ "$ref": "#/definitions/ContainerRegistryEventActor",
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request."
+ },
+ "source": {
+ "$ref": "#/definitions/ContainerRegistryEventSource",
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it."
+ }
+ }
+ },
+ "ContainerRegistryEventTarget": {
+ "description": "The target of the event.",
+ "properties": {
+ "mediaType": {
+ "description": "The MIME type of the referenced object.",
+ "type": "string"
+ },
+ "size": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Length field.",
+ "type": "integer"
+ },
+ "digest": {
+ "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.",
+ "type": "string"
+ },
+ "length": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Size field.",
+ "type": "integer"
+ },
+ "repository": {
+ "description": "The repository name.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The direct URL to the content.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "The tag name.",
+ "type": "string"
+ }
+ }
+ },
+ "ContainerRegistryEventRequest": {
+ "description": "The request that generated the event.",
+ "properties": {
+ "id": {
+ "description": "The ID of the request that initiated the event.",
+ "type": "string"
+ },
+ "addr": {
+ "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.",
+ "type": "string"
+ },
+ "method": {
+ "description": "The request method that generated the event.",
+ "type": "string"
+ },
+ "useragent": {
+ "description": "The user agent header of the request.",
+ "type": "string"
+ }
+ }
+ },
+ "ContainerRegistryEventActor": {
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.",
+ "properties": {
+ "name": {
+ "description": "The subject or username associated with the request context that generated the event.",
+ "type": "string"
+ }
+ }
+ },
+ "ContainerRegistryEventSource": {
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.",
+ "properties": {
+ "addr": {
+ "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.",
+ "type": "string"
+ },
+ "instanceID": {
+ "description": "The running instance of an application. Changes after each restart.",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/IotHub.json b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/IotHub.json
new file mode 100644
index 000000000000..2c2b4efc8351
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/IotHub.json
@@ -0,0 +1,153 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure IoT Hub events published to Azure Event Grid",
+ "description":
+ "Describes the schema of the Azure IoT Hub events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "IotHubDeviceCreatedEventData": {
+ "description": "Event data for Microsoft.Devices.DeviceCreated event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeviceLifeCycleEventProperties"
+ }
+ ],
+ "properties": {}
+ },
+ "IotHubDeviceDeletedEventData": {
+ "description": "Event data for Microsoft.Devices.DeviceDeleted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeviceLifeCycleEventProperties"
+ }
+ ],
+ "properties": {}
+ },
+ "DeviceLifeCycleEventProperties": {
+ "type": "object",
+ "description": "Schema of the Data property of an EventGridEvent for a device life cycle event (DeviceCreated, DeviceDeleted).",
+ "properties": {
+ "deviceId": {
+ "type": "string",
+ "description": "The unique identifier of the device. This case-sensitive string can be up to 128 characters long, and supports ASCII 7-bit alphanumeric characters plus the following special characters: - : . + % _ # * ? ! ( ) , = @ ; $ '."
+ },
+ "hubName": {
+ "type": "string",
+ "description": "Name of the IoT Hub where the device was created or deleted."
+ },
+ "opType": {
+ "type": "string",
+ "description": "The event type specified for this operation by the IoT Hub."
+ },
+ "operationTimestamp": {
+ "type": "string",
+ "description": "The ISO8601 timestamp of the operation."
+ },
+ "twin": {
+ "description": "Information about the device twin, which is the cloud represenation of application device metadata.",
+ "$ref" : "#/definitions/DeviceTwinInfo"
+ }
+ }
+ },
+ "DeviceTwinInfo": {
+ "type": "object",
+ "description": "Information about the device twin, which is the cloud represenation of application device metadata.",
+ "properties": {
+ "authenticationType": {
+ "type": "string",
+ "description": "Authentication type used for this device: either SAS, SelfSigned, or CertificateAuthority."
+ },
+ "cloudToDeviceMessageCount": {
+ "type": "number",
+ "description": "Count of cloud to device messages sent to this device."
+ },
+ "connectionState": {
+ "type": "string",
+ "description": "Whether the device is connected or disconnected."
+ },
+ "deviceId": {
+ "type": "string",
+ "description": "The unique identifier of the device twin."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A piece of information that describes the content of the device twin. Each etag is guaranteed to be unique per device twin."
+ },
+ "lastActivityTime": {
+ "type": "string",
+ "description": "The ISO8601 timestamp of the last activity."
+ },
+ "properties": {
+ "type": "object",
+ "description": "Properties JSON element.",
+ "properties": {
+ "desired": {
+ "description": "A portion of the properties that can be written only by the application back-end, and read by the device.",
+ "$ref" : "#/definitions/DeviceTwinProperties"
+ },
+ "reported": {
+ "description": "A portion of the properties that can be written only by the device, and read by the application back-end.",
+ "$ref" : "#/definitions/DeviceTwinProperties"
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "description": "Whether the device twin is enabled or disabled."
+ },
+ "statusUpdateTime": {
+ "type": "string",
+ "description": "The ISO8601 timestamp of the last device twin status update."
+ },
+ "version": {
+ "type": "number",
+ "description": "An integer that is incremented by one each time the device twin is updated."
+ },
+ "x509Thumbprint": {
+ "type": "object",
+ "description": "The thumbprint is a unique value for the x509 certificate, commonly used to find a particular certificate in a certificate store. The thumbprint is dynamically generated using the SHA1 algorithm, and does not physically exist in the certificate.",
+ "properties": {
+ "primaryThumbprint": {
+ "type": "string",
+ "description": "Primary thumbprint for the x509 certificate."
+ },
+ "secondaryThumbprint": {
+ "type": "string",
+ "description": "Secondary thumbprint for the x509 certificate."
+ }
+ }
+ }
+ }
+ },
+ "DeviceTwinProperties": {
+ "type": "object",
+ "description": "A portion of the properties that can be written only by the application back-end, and read by the device.",
+ "properties": {
+ "metadata": {
+ "description": "Metadata information for the properties JSON document.",
+ "$ref" : "#/definitions/DeviceTwinMetadata",
+ "x-ms-client-name" : "$metadata"
+ },
+ "version": {
+ "type": "number",
+ "description": "Version of device twin properties.",
+ "x-ms-client-name" : "$version"
+ }
+ }
+ },
+ "DeviceTwinMetadata" : {
+ "type": "object",
+ "description": "Metadata information for the properties JSON document.",
+ "properties": {
+ "lastUpdated": {
+ "type": "string",
+ "description": "The ISO8601 timestamp of the last time the properties were updated.",
+ "x-ms-client-name" : "$lastUpdated"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json
new file mode 100644
index 000000000000..1be4650e3699
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json
@@ -0,0 +1,55 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure EventHub events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure EventHub events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "EventHubCaptureFileCreatedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.EventHub.CaptureFileCreated event.",
+ "type": "object",
+ "properties": {
+ "fileurl": {
+ "description": "The path to the capture file.",
+ "type": "string"
+ },
+ "fileType": {
+ "description": "The file type of the capture file.",
+ "type": "string"
+ },
+ "partitionId": {
+ "description": "The shard ID.",
+ "type": "string"
+ },
+ "sizeInBytes": {
+ "description": "The file size.",
+ "type": "integer"
+ },
+ "eventCount": {
+ "description": "The number of events in the file.",
+ "type": "integer"
+ },
+ "firstSequenceNumber": {
+ "description": "The smallest sequence number from the queue.",
+ "type": "integer"
+ },
+ "lastSequenceNumber": {
+ "description": "The last sequence number from the queue.",
+ "type": "integer"
+ },
+ "firstEnqueueTime": {
+ "description": "The first time from the queue.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "lastEnqueueTime": {
+ "description": "The last time from the queue.",
+ "format": "date-time",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json
new file mode 100644
index 000000000000..34ebbf945954
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json
@@ -0,0 +1,311 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure resource events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure resource events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "ResourceWriteSuccessData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteSuccess event. This is raised when a resource create or update operation succeeds.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant ID of the resource.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The resource group of the resource.",
+ "type": "string"
+ },
+ "resourceProvider": {
+ "description": "The resource provider performing the operation.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The URI of the resource in the operation.",
+ "type": "string"
+ },
+ "operationName": {
+ "description": "The operation that was performed.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation.",
+ "type": "string"
+ },
+ "authorization": {
+ "description": "The requested authorization for the operation.",
+ "type": "string"
+ },
+ "claims": {
+ "description": "The properties of the claims.",
+ "type": "string"
+ },
+ "correlationId": {
+ "description": "An operation ID used for troubleshooting.",
+ "type": "string"
+ },
+ "httpRequest": {
+ "description": "The details of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceWriteFailureData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteFailure event. This is raised when a resource create or update operation fails.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant ID of the resource.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The resource group of the resource.",
+ "type": "string"
+ },
+ "resourceProvider": {
+ "description": "The resource provider performing the operation.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The URI of the resource in the operation.",
+ "type": "string"
+ },
+ "operationName": {
+ "description": "The operation that was performed.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation.",
+ "type": "string"
+ },
+ "authorization": {
+ "description": "The requested authorization for the operation.",
+ "type": "string"
+ },
+ "claims": {
+ "description": "The properties of the claims.",
+ "type": "string"
+ },
+ "correlationId": {
+ "description": "An operation ID used for troubleshooting.",
+ "type": "string"
+ },
+ "httpRequest": {
+ "description": "The details of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceWriteCancelData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceWriteCancel event. This is raised when a resource create or update operation is canceled.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant ID of the resource.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The resource group of the resource.",
+ "type": "string"
+ },
+ "resourceProvider": {
+ "description": "The resource provider performing the operation.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The URI of the resource in the operation.",
+ "type": "string"
+ },
+ "operationName": {
+ "description": "The operation that was performed.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation.",
+ "type": "string"
+ },
+ "authorization": {
+ "description": "The requested authorization for the operation.",
+ "type": "string"
+ },
+ "claims": {
+ "description": "The properties of the claims.",
+ "type": "string"
+ },
+ "correlationId": {
+ "description": "An operation ID used for troubleshooting.",
+ "type": "string"
+ },
+ "httpRequest": {
+ "description": "The details of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceDeleteSuccessData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteSuccess event. This is raised when a resource delete operation succeeds.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant ID of the resource.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The resource group of the resource.",
+ "type": "string"
+ },
+ "resourceProvider": {
+ "description": "The resource provider performing the operation.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The URI of the resource in the operation.",
+ "type": "string"
+ },
+ "operationName": {
+ "description": "The operation that was performed.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation.",
+ "type": "string"
+ },
+ "authorization": {
+ "description": "The requested authorization for the operation.",
+ "type": "string"
+ },
+ "claims": {
+ "description": "The properties of the claims.",
+ "type": "string"
+ },
+ "correlationId": {
+ "description": "An operation ID used for troubleshooting.",
+ "type": "string"
+ },
+ "httpRequest": {
+ "description": "The details of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceDeleteFailureData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteFailure event. This is raised when a resource delete operation fails.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant ID of the resource.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The resource group of the resource.",
+ "type": "string"
+ },
+ "resourceProvider": {
+ "description": "The resource provider performing the operation.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The URI of the resource in the operation.",
+ "type": "string"
+ },
+ "operationName": {
+ "description": "The operation that was performed.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation.",
+ "type": "string"
+ },
+ "authorization": {
+ "description": "The requested authorization for the operation.",
+ "type": "string"
+ },
+ "claims": {
+ "description": "The properties of the claims.",
+ "type": "string"
+ },
+ "correlationId": {
+ "description": "An operation ID used for troubleshooting.",
+ "type": "string"
+ },
+ "httpRequest": {
+ "description": "The details of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceDeleteCancelData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Resources.ResourceDeleteCancel event. This is raised when a resource delete operation is canceled.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant ID of the resource.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The resource group of the resource.",
+ "type": "string"
+ },
+ "resourceProvider": {
+ "description": "The resource provider performing the operation.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "The URI of the resource in the operation.",
+ "type": "string"
+ },
+ "operationName": {
+ "description": "The operation that was performed.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation.",
+ "type": "string"
+ },
+ "authorization": {
+ "description": "The requested authorization for the operation.",
+ "type": "string"
+ },
+ "claims": {
+ "description": "The properties of the claims.",
+ "type": "string"
+ },
+ "correlationId": {
+ "description": "An operation ID used for troubleshooting.",
+ "type": "string"
+ },
+ "httpRequest": {
+ "description": "The details of the operation.",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
new file mode 100644
index 000000000000..02619144dfc7
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
@@ -0,0 +1,95 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure Storage events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure Storage events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "StorageBlobCreatedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobCreated event.",
+ "type": "object",
+ "properties": {
+ "api": {
+ "description": "The name of the API/operation that triggered this event.",
+ "type": "string"
+ },
+ "clientRequestId": {
+ "description": "A request id provided by the client of the storage API operation that triggered this event.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "The request id generated by the Storage service for the storage API operation that triggered this event.",
+ "type": "string"
+ },
+ "eTag": {
+ "description": "The etag of the object at the time this event was triggered.",
+ "type": "string"
+ },
+ "contentType": {
+ "description": "The content type of the blob. This is the same as what would be returned in the Content-Type header from the blob.",
+ "type": "string"
+ },
+ "contentLength": {
+ "description": "The size of the blob in bytes. This is the same as what would be returned in the Content-Length header from the blob.",
+ "type": "integer"
+ },
+ "blobType": {
+ "description": "The type of blob.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The path to the blob.",
+ "type": "string"
+ },
+ "sequencer": {
+ "description": "An opaque string value representing the logical sequence of events for any particular blob name. Users can use standard string comparison to understand the relative sequence of two events on the same blob name.",
+ "type": "string"
+ },
+ "storageDiagnostics": {
+ "description": "For service use only. Diagnostic data occasionally included by the Azure Storage service. This property should be ignored by event consumers.",
+ "type": "object"
+ }
+ }
+ },
+ "StorageBlobDeletedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobDeleted event.",
+ "type": "object",
+ "properties": {
+ "api": {
+ "description": "The name of the API/operation that triggered this event.",
+ "type": "string"
+ },
+ "clientRequestId": {
+ "description": "A request id provided by the client of the storage API operation that triggered this event.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "The request id generated by the Storage service for the storage API operation that triggered this event.",
+ "type": "string"
+ },
+ "contentType": {
+ "description": "The content type of the blob. This is the same as what would be returned in the Content-Type header from the blob.",
+ "type": "string"
+ },
+ "blobType": {
+ "description": "The type of blob.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The path to the blob.",
+ "type": "string"
+ },
+ "sequencer": {
+ "description": "An opaque string value representing the logical sequence of events for any particular blob name. Users can use standard string comparison to understand the relative sequence of two events on the same blob name.",
+ "type": "string"
+ },
+ "storageDiagnostics": {
+ "description": "For service use only. Diagnostic data occasionally included by the Azure Storage service. This property should be ignored by event consumers.",
+ "type": "object"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md
index e4a486974ef0..df4be6a141f0 100644
--- a/specification/eventgrid/data-plane/readme.md
+++ b/specification/eventgrid/data-plane/readme.md
@@ -5,6 +5,13 @@
This is the AutoRest configuration file for EventGrid.
+Multiple Azure services publish events to Azure Event Grid. This is the configuration file for generating
+the Publish API and the schemas for those events. Each Azure service publishing to Azure Event Grid has its own tag OpenAPI specification
+that describes the schemas for its events.
+
+This configuration enables packaging all of the above as one EventGrid data plane library.
+This enables customers to download one EventGrid data plane library instead of having to install separate packages to get the event schemas for each service.
+
---
## Getting Started
@@ -25,21 +32,41 @@ To see additional help and options, run:
These are the global settings for the EventGrid API.
``` yaml
+title: EventGridClient
+description: EventGrid Client
openapi-type: data-plane
tag: package-2018-01
```
-
### Tag: package-2018-01
These settings apply only when `--tag=package-2018-01` is specified on the command line.
``` yaml $(tag) == 'package-2018-01'
input-file:
+- Microsoft.Storage/stable/2018-01-01/Storage.json
+- Microsoft.EventHub/stable/2018-01-01/EventHub.json
+- Microsoft.Resources/stable/2018-01-01/Resources.json
- Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
+- Microsoft.Devices/stable/2018-01-01/IotHub.json
+- Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.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-go
+ - repo: azure-sdk-for-python
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -55,6 +82,7 @@ csharp:
clear-output-folder: true
```
+
## Python
These settings apply only when `--python` is specified on the command line.
@@ -64,11 +92,12 @@ 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
payload-flattening-threshold: 2
+ add-credentials: true
namespace: azure.eventgrid
package-name: azure-eventgrid
+ package-version: 0.1.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
@@ -93,6 +122,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-01
+```
+
### Tag: package-2018-01 and go
These settings apply only when `--tag=package-2018-01 --go` is specified on the command line.
@@ -102,3 +138,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.eventgrid
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-eventgrid
+```
+
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
new file mode 100644
index 000000000000..67cc383daf85
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
@@ -0,0 +1,2055 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "EventGridManagementClient",
+ "description": "Azure EventGrid Management Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an event subscription",
+ "description": "Get properties of an event subscription",
+ "operationId": "EventSubscriptions_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetForSubscription": {
+ "$ref": "./examples/EventSubscriptions_GetForSubscription.json"
+ },
+ "EventSubscriptions_GetForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_GetForResourceGroup.json"
+ },
+ "EventSubscriptions_GetForResource": {
+ "$ref": "./examples/EventSubscriptions_GetForResource.json"
+ },
+ "EventSubscriptions_GetForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_GetForCustomTopic.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Create or update an event subscription",
+ "description": "Asynchronously creates a new event subscription or updates an existing event subscription based on the specified scope.",
+ "operationId": "EventSubscriptions_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The identifier of the resource to which the event subscription needs to be created or updated. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription. Event subscription names must be between 3 and 64 characters in length and should use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionInfo",
+ "in": "body",
+ "description": "Event subscription properties containing the destination and filter information",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "EventSubscription CreateOrUpdate request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_CreateOrUpdateForSubscription": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForSubscription.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForResource": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResource.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Delete an event subscription",
+ "description": "Delete an existing event subscription",
+ "operationId": "EventSubscriptions_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_DeleteForSubscription": {
+ "$ref": "./examples/EventSubscriptions_DeleteForSubscription.json"
+ },
+ "EventSubscriptions_DeleteForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_DeleteForResourceGroup.json"
+ },
+ "EventSubscriptions_DeleteForResource": {
+ "$ref": "./examples/EventSubscriptions_DeleteForResource.json"
+ },
+ "EventSubscriptions_DeleteForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_DeleteForCustomTopic.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Update an event subscription",
+ "description": "Asynchronously updates an existing event subscription.",
+ "operationId": "EventSubscriptions_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of existing event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionUpdateParameters",
+ "in": "body",
+ "description": "Updated event subscription information",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "EventSubscription update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_UpdateForSubscription": {
+ "$ref": "./examples/EventSubscriptions_UpdateForSubscription.json"
+ },
+ "EventSubscriptions_UpdateForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_UpdateForResourceGroup.json"
+ },
+ "EventSubscriptions_UpdateForResource": {
+ "$ref": "./examples/EventSubscriptions_UpdateForResource.json"
+ },
+ "EventSubscriptions_UpdateForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get full URL of an event subscription",
+ "description": "Get the full endpoint URL for an event subscription",
+ "operationId": "EventSubscriptions_GetFullUrl",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionFullUrl"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetFullUrlForSubscription": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForSubscription.json"
+ },
+ "EventSubscriptions_GetFullUrlForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForResourceGroup.json"
+ },
+ "EventSubscriptions_GetFullUrlForResource": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForResource.json"
+ },
+ "EventSubscriptions_GetFullUrlForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForCustomTopic.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an aggregated list of all global event subscriptions under an Azure subscription",
+ "description": "List all aggregated global event subscriptions under a specific Azure subscription",
+ "operationId": "EventSubscriptions_ListGlobalBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions for a topic type",
+ "description": "List all global event subscriptions under an Azure subscription for a topic type.",
+ "operationId": "EventSubscriptions_ListGlobalBySubscriptionForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions under an Azure subscription and resource group",
+ "description": "List all global event subscriptions under a specific Azure subscription and resource group",
+ "operationId": "EventSubscriptions_ListGlobalByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions under a resource group for a topic type",
+ "description": "List all global event subscriptions under a resource group for a specific topic type.",
+ "operationId": "EventSubscriptions_ListGlobalByResourceGroupForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription",
+ "operationId": "EventSubscriptions_ListRegionalBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription and resource group",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group",
+ "operationId": "EventSubscriptions_ListRegionalByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription for a topic type",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and topic type.",
+ "operationId": "EventSubscriptions_ListRegionalBySubscriptionForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription and resource group for a topic type",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type",
+ "operationId": "EventSubscriptions_ListRegionalByResourceGroupForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all event subscriptions for a specific topic",
+ "description": "List all event subscriptions that have been created for a specific topic",
+ "operationId": "EventSubscriptions_ListByResource",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerNamespace",
+ "in": "path",
+ "description": "Namespace of the provider of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "Name of the resource type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Name of the resource",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListByResource": {
+ "$ref": "./examples/EventSubscriptions_ListByResource.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List available operations",
+ "description": "List the available operations supported by the Microsoft.EventGrid resource provider",
+ "operationId": "Operations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Get a topic",
+ "description": "Get properties of a topic",
+ "operationId": "Topics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Get": {
+ "$ref": "./examples/Topics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Create a topic",
+ "description": "Asynchronously creates a new topic with the specified parameters.",
+ "operationId": "Topics_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicInfo",
+ "in": "body",
+ "description": "Topic information",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_CreateOrUpdate": {
+ "$ref": "./examples/Topics_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Delete a topic",
+ "description": "Delete existing topic",
+ "operationId": "Topics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Delete": {
+ "$ref": "./examples/Topics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Update a topic",
+ "description": "Asynchronously updates a topic with the specified parameters.",
+ "operationId": "Topics_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicUpdateParameters",
+ "in": "body",
+ "description": "Topic update information",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopicUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Update": {
+ "$ref": "./examples/Topics_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topics under an Azure subscription",
+ "description": "List all the topics under an Azure subscription",
+ "operationId": "Topics_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Topics_ListBySubscription": {
+ "$ref": "./examples/Topics_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topics under a resource group",
+ "description": "List all the topics under a resource group",
+ "operationId": "Topics_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Topics_ListByResourceGroup": {
+ "$ref": "./examples/Topics_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys": {
+ "post": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List keys for a topic",
+ "description": "List the two keys used to publish to a topic",
+ "operationId": "Topics_ListSharedAccessKeys",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_ListSharedAccessKeys": {
+ "$ref": "./examples/Topics_ListSharedAccessKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Regenerate key for a topic",
+ "description": "Regenerate a shared access key for a topic",
+ "operationId": "Topics_RegenerateKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "regenerateKeyRequest",
+ "in": "body",
+ "description": "Request body to regenerate key",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopicRegenerateKeyRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_RegenerateKey": {
+ "$ref": "./examples/Topics_RegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topic event types",
+ "description": "List event types for a topic",
+ "operationId": "Topics_ListEventTypes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerNamespace",
+ "in": "path",
+ "description": "Namespace of the provider of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "Name of the topic type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Topics_ListEventTypes": {
+ "$ref": "./examples/Topics_ListEventTypes.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "List topic types",
+ "description": "List all registered topic types",
+ "operationId": "TopicTypes_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "TopicTypes_List": {
+ "$ref": "./examples/TopicTypes_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "Get a topic type",
+ "description": "Get information about a topic type",
+ "operationId": "TopicTypes_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicTypeInfo"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "TopicTypes_Get": {
+ "$ref": "./examples/TopicTypes_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "List event types",
+ "description": "List event types for a topic type",
+ "operationId": "TopicTypes_ListEventTypes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "TopicTypes_ListEventTypes": {
+ "$ref": "./examples/TopicTypes_ListEventTypes.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EventSubscriptionProperties": {
+ "description": "Properties of the Event Subscription",
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Name of the topic of the event subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the event subscription.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EventSubscriptionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription."
+ },
+ "filter": {
+ "$ref": "#/definitions/EventSubscriptionFilter",
+ "description": "Information about the filter for the event subscription."
+ },
+ "labels": {
+ "description": "List of user defined labels.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "Definition of a Resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified identifier of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the resource",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "EventSubscriptionFilter": {
+ "description": "Filter for the Event Subscription",
+ "type": "object",
+ "properties": {
+ "subjectBeginsWith": {
+ "description": "An optional string to filter events for an event subscription based on a resource path prefix.\r\nThe format of this depends on the publisher of the events. \r\nWildcard characters are not supported in this path.",
+ "type": "string"
+ },
+ "subjectEndsWith": {
+ "description": "An optional string to filter events for an event subscription based on a resource path suffix.\r\nWildcard characters are not supported in this path.",
+ "type": "string"
+ },
+ "includedEventTypes": {
+ "description": "A list of applicable event types that need to be part of the event subscription. \r\nIf it is desired to subscribe to all event types, the string \"all\" needs to be specified as an element in this list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isSubjectCaseSensitive": {
+ "description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter \r\nshould be compared in a case sensitive manner.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "WebHookEventSubscriptionDestinationProperties": {
+ "description": "Information about the webhook destination properties for an event subscription.",
+ "type": "object",
+ "properties": {
+ "endpointUrl": {
+ "description": "The URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string"
+ },
+ "endpointBaseUrl": {
+ "description": "The base URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "WebHookEventSubscriptionDestination": {
+ "description": "Information about the webhook destination for an event subscription",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebHookEventSubscriptionDestinationProperties",
+ "description": "WebHook Properties of the event subscription destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "WebHook"
+ },
+ "EventHubEventSubscriptionDestinationProperties": {
+ "description": "The properties for a event hub destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "EventHubEventSubscriptionDestination": {
+ "description": "Information about the event hub destination for an event subscription",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventHubEventSubscriptionDestinationProperties",
+ "description": "Event Hub Properties of the event subscription destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "EventHub"
+ },
+ "EventSubscriptionDestination": {
+ "description": "Information about the destination for an event subscription",
+ "type": "object",
+ "required": [
+ "endpointType"
+ ],
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the event subscription destination",
+ "enum": [
+ "WebHook",
+ "EventHub"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "endpointType"
+ },
+ "EventSubscription": {
+ "description": "Event Subscription",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventSubscriptionProperties",
+ "description": "Properties of the event subscription",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EventSubscriptionUpdateParameters": {
+ "description": "Properties of the Event Subscription update",
+ "type": "object",
+ "properties": {
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription."
+ },
+ "filter": {
+ "$ref": "#/definitions/EventSubscriptionFilter",
+ "description": "Information about the filter for the event subscription."
+ },
+ "labels": {
+ "description": "List of user defined labels.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EventSubscriptionFullUrl": {
+ "description": "Full endpoint url of an event subscription",
+ "type": "object",
+ "properties": {
+ "endpointUrl": {
+ "description": "The URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "EventSubscriptionsListResult": {
+ "description": "Result of the List EventSubscriptions operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of EventSubscriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ }
+ }
+ },
+ "OperationsListResult": {
+ "description": "Result of the List Operations operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ },
+ "Operation": {
+ "description": "Represents an operation returned by the GetOperations request",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationInfo",
+ "description": "Display name of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationInfo": {
+ "description": "Information about an operation",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "TopicProperties": {
+ "description": "Properties of the Topic",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TopicProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "description": "Endpoint for the topic.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "Definition of a Tracked Resource",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "Location of the resource",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "Tags of the resource",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Topic": {
+ "description": "EventGrid Topic",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TopicProperties",
+ "description": "Properties of the topic",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TopicUpdateParameters": {
+ "description": "Properties of the Topic update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the resource",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TopicsListResult": {
+ "description": "Result of the List Topics operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Topics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Topic"
+ }
+ }
+ }
+ },
+ "TopicSharedAccessKeys": {
+ "description": "Shared access keys of the Topic",
+ "type": "object",
+ "properties": {
+ "key1": {
+ "description": "Shared access key1 for the topic.",
+ "type": "string"
+ },
+ "key2": {
+ "description": "Shared access key2 for the topic.",
+ "type": "string"
+ }
+ }
+ },
+ "TopicRegenerateKeyRequest": {
+ "description": "Topic regenerate share access key key request",
+ "required": [
+ "keyName"
+ ],
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "Key name to regenerate key1 or key2",
+ "type": "string"
+ }
+ }
+ },
+ "EventTypesListResult": {
+ "description": "Result of the List Event Types operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of event types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventType"
+ }
+ }
+ }
+ },
+ "EventTypeProperties": {
+ "description": "Properties of the event type",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "Display name of the event type.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the event type.",
+ "type": "string"
+ },
+ "schemaUrl": {
+ "description": "Url of the schema for this event type.",
+ "type": "string"
+ }
+ }
+ },
+ "EventType": {
+ "description": "Event Type for a subject under a topic",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventTypeProperties",
+ "description": "Properties of the event type.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TopicTypesListResult": {
+ "description": "Result of the List Topic Types operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of topic types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TopicTypeInfo"
+ }
+ }
+ }
+ },
+ "TopicTypeProperties": {
+ "description": "Properties of a topic type.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Namespace of the provider of the topic type.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display Name for the topic type.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the topic type.",
+ "type": "string"
+ },
+ "resourceRegionType": {
+ "description": "Region type of the resource.",
+ "enum": [
+ "RegionalResource",
+ "GlobalResource"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceRegionType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the topic type",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TopicTypeProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "supportedLocations": {
+ "description": "List of locations supported by this topic type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TopicTypeInfo": {
+ "description": "Properties of a topic type info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TopicTypeProperties",
+ "description": "Properties of the topic type info",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "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"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json
new file mode 100644
index 000000000000..26484f3fc1ff
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "EventHub",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForResource.json
new file mode 100644
index 000000000000..9d375b0a2faa
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForResource.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription10",
+ "api-version": "2018-01-01",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
new file mode 100644
index 000000000000..ce22a540e086
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2018-01-01",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
new file mode 100644
index 000000000000..bf03148dd249
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2018-01-01",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForCustomTopic.json
new file mode 100644
index 000000000000..8724f0cd01a3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForCustomTopic.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForResource.json
new file mode 100644
index 000000000000..199b44db5775
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForResource.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription10",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForResourceGroup.json
new file mode 100644
index 000000000000..6ce3f72acb8c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForSubscription.json
new file mode 100644
index 000000000000..4b077c86bbed
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_DeleteForSubscription.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForCustomTopic.json
new file mode 100644
index 000000000000..71321f127abf
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForCustomTopic.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForResource.json
new file mode 100644
index 000000000000..0d252ea74e50
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForResource.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForResourceGroup.json
new file mode 100644
index 000000000000..999dedf422f6
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForSubscription.json
new file mode 100644
index 000000000000..f3b19def5e79
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetForSubscription.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
new file mode 100644
index 000000000000..f865b8c97216
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForResource.json
new file mode 100644
index 000000000000..c5629b0eaec9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForResource.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
new file mode 100644
index 000000000000..0e001eae80b9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForSubscription.json
new file mode 100644
index 000000000000..f23e0e5c83a0
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_GetFullUrlForSubscription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListByResource.json
new file mode 100644
index 000000000000..40f4bb622dc7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListByResource.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "Microsoft.EventGrid",
+ "resourceTypeName": "topics",
+ "resourceName": "exampletopic2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json
new file mode 100644
index 000000000000..0ec49757c19f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4",
+ "name": "examplesubscription4",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..7df69ec2cf68
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicTypeName": "Microsoft.Resources.ResourceGroups",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalBySubscription.json
new file mode 100644
index 000000000000..1f3b12d7a555
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalBySubscription.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4",
+ "name": "examplesubscription4",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..377270261453
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "topicTypeName": "Microsoft.Resources.Subscriptions",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json
new file mode 100644
index 000000000000..48f7ea68671c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..e4d96d2db138
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "topicTypeName": "Microsoft.EventHub.namespaces",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalBySubscription.json
new file mode 100644
index 000000000000..417070b8a395
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalBySubscription.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..7e9517a3ff1c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "topicTypeName": "Microsoft.EventHub.namespaces",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForCustomTopic.json
new file mode 100644
index 000000000000..21d796f914f2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForCustomTopic.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2018-01-01",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForResource.json
new file mode 100644
index 000000000000..353e4701ab61
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForResource.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2018-01-01",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForResourceGroup.json
new file mode 100644
index 000000000000..cafb99de96ce
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForResourceGroup.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2018-01-01",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "EventHub",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForSubscription.json
new file mode 100644
index 000000000000..54eb97786368
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/EventSubscriptions_UpdateForSubscription.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2018-01-01",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Operations_List.json
new file mode 100644
index 000000000000..b9b8c15744cc
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Operations_List.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EventGrid/register/action",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "EventGrid Resource Provider",
+ "operation": "Registers the EventGrid Resource Provider",
+ "description": "Registers the eventSubscription for the EventGrid resource provider and enables the creation of Event Grid subscriptions."
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/write",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Write EventSubscription",
+ "description": "Create or update a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/read",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Read EventSubscription",
+ "description": "Read a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/delete",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Delete EventSubscription",
+ "description": "Delete a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/write",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Write Topic",
+ "description": "Create or update a topic"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/read",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Read Topic",
+ "description": "Read a topic"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/delete",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Delete Topic",
+ "description": "Delete a topic"
+ },
+ "origin": "UserAndSystem"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_Get.json
new file mode 100644
index 000000000000..a3a6750c1f80
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Microsoft Storage service events.",
+ "displayName": "Storage Accounts",
+ "provider": "Microsoft.Storage",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts",
+ "name": "Microsoft.Storage.StorageAccounts",
+ "type": "Microsoft.EventGrid/topicTypes"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_List.json
new file mode 100644
index 000000000000..8b51622958d8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Microsoft EventHubs service events.",
+ "displayName": "EventHubs Namespace",
+ "provider": "Microsoft.Eventhub",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Eventhub.Namespaces",
+ "name": "Microsoft.Eventhub.Namespaces",
+ "type": "Microsoft.EventGrid/topicTypes"
+ },
+ {
+ "properties": {
+ "description": "Microsoft Storage service events.",
+ "displayName": "Storage Accounts",
+ "provider": "Microsoft.Storage",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts",
+ "name": "Microsoft.Storage.StorageAccounts",
+ "type": "Microsoft.EventGrid/topicTypes"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_ListEventTypes.json
new file mode 100644
index 000000000000..c10a69f7aa1e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/TopicTypes_ListEventTypes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "displayName": "Blob Created",
+ "description": "Raised when a blob is created.",
+ "schemaUrl": "tbd"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated",
+ "name": "Microsoft.Storage.BlobCreated",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ },
+ {
+ "properties": {
+ "description": "Raised when a blob is deleted.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Deleted"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted",
+ "name": "Microsoft.Storage.BlobDeleted",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_CreateOrUpdate.json
new file mode 100644
index 000000000000..334a368e1408
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_CreateOrUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2018-01-01",
+ "topicInfo": {
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Delete.json
new file mode 100644
index 000000000000..4cb87a6856df
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Get.json
new file mode 100644
index 000000000000..1383fe2db6d3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListByResourceGroup.json
new file mode 100644
index 000000000000..96fffdccdbcd
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListBySubscription.json
new file mode 100644
index 000000000000..eedf23ff2f7b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListEventTypes.json
new file mode 100644
index 000000000000..d5e63160b5f3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListEventTypes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "Microsoft.Storage",
+ "resourceTypeName": "storageAccounts",
+ "resourceName": "ExampleStorageAccount",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Raised when a blob is created.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Created"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated",
+ "name": "Microsoft.Storage.BlobCreated",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ },
+ {
+ "properties": {
+ "description": "Raised when a blob is deleted.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Deleted"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted",
+ "name": "Microsoft.Storage.BlobDeleted",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..0ade8acd1a23
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic2",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=",
+ "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA="
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_RegenerateKey.json
new file mode 100644
index 000000000000..7ad133ed64a3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic2",
+ "api-version": "2018-01-01",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=",
+ "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA="
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Update.json
new file mode 100644
index 000000000000..9bb88eb519c4
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2018-01-01/examples/Topics_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2018-01-01",
+ "topicUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md
index ceab6b8c525a..450687ef8e51 100644
--- a/specification/eventgrid/resource-manager/readme.md
+++ b/specification/eventgrid/resource-manager/readme.md
@@ -26,7 +26,17 @@ These are the global settings for the Azure EventGrid API.
``` yaml
openapi-type: arm
-tag: package-2017-09-preview
+tag: package-2018-01
+```
+
+
+### Tag: package-2018-01
+
+These settings apply only when `--tag=package-2018-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-01'
+input-file:
+- Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
```
@@ -53,6 +63,20 @@ input-file:
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -106,6 +130,24 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-01
+ - tag: package-2017-09-preview
+ - tag: package-2017-06-preview
+```
+
+### Tag: package-2018-01 and go
+
+These settings apply only when `--tag=package-2018-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(go)
+output-folder: $(go-sdk-folder)/services/eventgrid/mgmt/2018-01-01/eventgrid
+```
+
### Tag: package-2017-09-preview and go
These settings apply only when `--tag=package-2017-09-preview --go` is specified on the command line.
@@ -123,3 +165,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.eventgrid
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventgrid
+```
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 c3447f85c494..4147aea27e52 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
@@ -664,7 +664,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability": {
"post": {
"tags": [
"DisasterRecoveryConfigs"
@@ -675,7 +675,7 @@
},
"description": "Check the give Namespace name availability.",
"parameters": [
- {
+ {
"$ref": "#/parameters/ApiVersionParameter"
},
{
@@ -970,7 +970,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules": {
"get": {
"tags": [
"DisasterRecoveryConfigs"
@@ -987,7 +987,7 @@
{
"$ref": "#/parameters/namespaceNameParameter"
},
- {
+ {
"$ref": "#/parameters/aliasNameParameter"
},
{
@@ -1016,7 +1016,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}": {
"get": {
"tags": [
"DisasterRecoveryConfigs"
@@ -1032,8 +1032,8 @@
},
{
"$ref": "#/parameters/namespaceNameParameter"
- },
- {
+ },
+ {
"$ref": "#/parameters/aliasNameParameter"
},
{
@@ -1062,7 +1062,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys": {
"post": {
"tags": [
"DisasterRecoveryConfigs"
@@ -1078,8 +1078,8 @@
},
{
"$ref": "#/parameters/namespaceNameParameter"
- },
- {
+ },
+ {
"$ref": "#/parameters/aliasNameParameter"
},
{
@@ -2126,7 +2126,7 @@
},
"encoding": {
"type": "string",
- "description": "Enumerates the possible values for the encoding format of capture description.",
+ "description": "Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version",
"enum": [
"Avro",
"AvroDeflate"
@@ -2380,7 +2380,7 @@
"type": "string",
"description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairning"
},
- "alternateName": {
+ "alternateName": {
"type": "string",
"description": "Alternate name specified when alias and namespace names are same."
},
diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md
index 79bb29d9f496..33eb3b93f677 100644
--- a/specification/eventhub/resource-manager/readme.md
+++ b/specification/eventhub/resource-manager/readme.md
@@ -54,6 +54,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -107,6 +120,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04
+ - tag: package-2015-08
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
@@ -124,3 +145,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.eventhub
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventhub
+```
diff --git a/specification/graphrbac/data-plane/readme.md b/specification/graphrbac/data-plane/readme.md
index 16895b8e5ee3..a5ed70bdb608 100644
--- a/specification/graphrbac/data-plane/readme.md
+++ b/specification/graphrbac/data-plane/readme.md
@@ -43,6 +43,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -97,6 +110,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: "1.6"
+```
+
### Tag: 1.6 and go
These settings apply only when `--tag=1.6 --go` is specified on the command line.
@@ -106,7 +126,6 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.graphrbac
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-graphrbac
+```
diff --git a/specification/graphrbac/data-plane/stable/1.6/graphrbac.json b/specification/graphrbac/data-plane/stable/1.6/graphrbac.json
index 5cb476f6013d..b9006f6ef695 100644
--- a/specification/graphrbac/data-plane/stable/1.6/graphrbac.json
+++ b/specification/graphrbac/data-plane/stable/1.6/graphrbac.json
@@ -1909,6 +1909,9 @@
"readOnly": true
}
},
+ "additionalProperties": {
+ "type": "object"
+ },
"description": "Represents an Azure Active Directory object."
},
"KeyCredential": {
@@ -1939,6 +1942,11 @@
"type": {
"type": "string",
"description": "Type. Acceptable values are 'AsymmetricX509Cert' and 'Symmetric'."
+ },
+ "customKeyIdentifier": {
+ "type":"string",
+ "format": "byte",
+ "description": "Custom Key Identifier"
}
},
"additionalProperties": {
@@ -2191,9 +2199,6 @@
"description": "Whether to allow implicit grant flow for OAuth2"
}
},
- "additionalProperties": {
- "type": "object"
- },
"description": "Active Directory application information."
},
"ApplicationListResult": {
@@ -2488,9 +2493,6 @@
"description": "The primary email address of the group."
}
},
- "additionalProperties": {
- "type": "object"
- },
"x-ms-discriminator-value": "Group",
"description": "Active Directory group information."
},
@@ -2633,9 +2635,6 @@
"description": "A collection of service principal names."
}
},
- "additionalProperties": {
- "type": "object"
- },
"description": "Active Directory service principal information."
},
"ServicePrincipalListResult": {
@@ -2744,9 +2743,6 @@
"description": "The primary email address of the user."
}
},
- "additionalProperties": {
- "type": "object"
- },
"required": [
"accountEnabled",
"displayName",
@@ -2785,9 +2781,6 @@
"description": "The mail alias for the user."
}
},
- "additionalProperties": {
- "type": "object"
- },
"description": "Request parameters for updating an existing work or school account user."
},
"User": {
@@ -2854,9 +2847,6 @@
"description": "The sign-in names of the user."
}
},
- "additionalProperties": {
- "type": "object"
- },
"description": "Active Directory user information."
},
"SignInName": {
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_Get.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_Get.json
new file mode 100644
index 000000000000..09db97420a75
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2017-06-15-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "hanaInstanceName": "myHanaInstance"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance",
+ "name": "myHanaInstance",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceGenericProperties": {
+ "key_1": "value_1",
+ "key_2": "value_2",
+ "key_n": "value_n"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_List.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_List.json
new file mode 100644
index 000000000000..39307ccf8d5a
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_List.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2017-06-15-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup1/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance1",
+ "name": "myHanaInstance1",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceGenericProperties": {
+ "key_1": "value_1",
+ "key_2": "value_2",
+ "key_n": "value_n"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup2/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance2",
+ "name": "myHanaInstance2",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceGenericProperties": {
+ "key_1": "value_1",
+ "key_2": "value_2",
+ "key_n": "value_n"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_ListByResourceGroup.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_ListByResourceGroup.json
new file mode 100644
index 000000000000..d20fba5a023e
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaInstances_ListByResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2017-06-15-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance1",
+ "name": "myHanaInstance1",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceGenericProperties": {
+ "key_1": "value_1",
+ "key_2": "value_2",
+ "key_n": "value_n"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance2",
+ "name": "myHanaInstance2",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceGenericProperties": {
+ "key_1": "value_1",
+ "key_2": "value_2",
+ "key_n": "value_n"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaOperations_List.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaOperations_List.json
new file mode 100644
index 000000000000..9e641780564a
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/examples/HanaOperations_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2017-06-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "HanaOp1",
+ "display": {
+ "provider": "HanaOp1ProviderName",
+ "resource": "HanaOp1ResourceName",
+ "operation": "HanaOp1OperationName",
+ "description": "HanaOp1Description",
+ "origin": "HanaOp1Origin"
+ }
+ },
+ {
+ "name": "HanaOp2",
+ "display": {
+ "provider": "HanaOp2ProviderName",
+ "resource": "HanaOp2ResourceName",
+ "operation": "HanaOp2OperationName",
+ "description": "HanaOp2Description",
+ "origin": "HanaOp2Origin"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/hanaonazure.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/hanaonazure.json
new file mode 100644
index 000000000000..c3e62c3a3240
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-06-15-preview/hanaonazure.json
@@ -0,0 +1,392 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HanaManagementClient",
+ "description": "The SAP HANA on Azure Management Client.",
+ "version": "2017-06-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "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.HanaOnAzure/operations": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of SAP HANA management operations.",
+ "x-ms-examples": {
+ "List all HANA management operations supported by HANA RP": {
+ "$ref": "./examples/HanaOperations_List.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "HanaInstances_List",
+ "summary": "Gets a list of SAP HANA instances in the specified subscription.",
+ "description": "Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.",
+ "x-ms-examples": {
+ "List all HANA instances in a subscription": {
+ "$ref": "./examples/HanaInstances_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HanaInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "HanaInstances_ListByResourceGroup",
+ "summary": "Gets a list of SAP HANA instances in the specified subscription and the resource group.",
+ "description": "Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.",
+ "x-ms-examples": {
+ "List all HANA instances in a resource group": {
+ "$ref": "./examples/HanaInstances_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HanaInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "HanaInstances_Get",
+ "summary": "Gets properties of a SAP HANA instance.",
+ "description": "Gets properties of a SAP HANA instance for the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Get properties of a HANA instance": {
+ "$ref": "./examples/HanaInstances_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HanaInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HanaInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "HanaInstancesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HanaInstance"
+ },
+ "description": "The list of SAP HANA on Azure instances."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of HANA instances."
+ }
+ },
+ "description": "The response from the List HANA Instances operation."
+ },
+ "HanaInstance": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HanaInstanceProperties",
+ "description": "HANA instance properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "HANA instance info on Azure (ARM properties and HANA properties)"
+ },
+ "HanaInstanceProperties": {
+ "properties": {
+ "hardwareType" : {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Cisco_UCS"
+ ],
+ "x-ms-enum": {
+ "name": "HanaHardwareTypeNamesEnum",
+ "modelAsString": true
+ },
+ "description": "Name of the hardware type (vendor and/or thrie product name)"
+ },
+ "hanaInstanceGenericProperties": {
+ "type": "object",
+ "description": "Properties of an SAP HANA on Azure instance. Currently an arbitrary JSON object because the RP is currently in active design and development."
+ }
+ },
+ "description": "HANA instance properties"
+ },
+ "OperationList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of HANA operations"
+ }
+ },
+ "description": "List of HANA operations"
+ },
+ "Operation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service."
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Displayed HANA operation information"
+ }
+ },
+ "description": "HANA operation information"
+ },
+ "Display": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with “Microsoft” for 1st party services."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies."
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views."
+ },
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'"
+ }
+ },
+ "description": "Detailed HANA operation information"
+ },
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "HanaInstanceNameParameter": {
+ "name": "hanaInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the SAP HANA on Azure instance.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_Get.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_Get.json
new file mode 100644
index 000000000000..1652bc2c74be
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "hanaInstanceName": "myHanaInstance"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance",
+ "name": "myHanaInstance",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SUSE",
+ "version": "12 SP1"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_List.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_List.json
new file mode 100644
index 000000000000..aecbf871f74f
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_List.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance1",
+ "name": "myHanaInstance1",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName1",
+ "osType": "SUSE",
+ "version": "12 SP1"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance2",
+ "name": "myHanaInstance2",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.101"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.201"
+ },
+ "osProfile": {
+ "computerName": "myComputerName2",
+ "osType": "SUSE",
+ "version": "12 SP1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_ListByResourceGroup.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_ListByResourceGroup.json
new file mode 100644
index 000000000000..4d2454cbc8b8
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_ListByResourceGroup.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance1",
+ "name": "myHanaInstance1",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName1",
+ "osType": "SUSE",
+ "version": "12 SP1"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.HanaOnAzure/hanaInstances/myHanaInstance2",
+ "name": "myHanaInstance2",
+ "type": "Microsoft.HanaOnAzure/hanaInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "hanaInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.101"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.201"
+ },
+ "osProfile": {
+ "computerName": "myComputerName2",
+ "osType": "SUSE",
+ "version": "12 SP1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaOperations_List.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaOperations_List.json
new file mode 100644
index 000000000000..6bb5caa4f038
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaOperations_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "HanaOp1",
+ "display": {
+ "provider": "HanaOp1ProviderName",
+ "resource": "HanaOp1ResourceName",
+ "operation": "HanaOp1OperationName",
+ "description": "HanaOp1Description",
+ "origin": "HanaOp1Origin"
+ }
+ },
+ {
+ "name": "HanaOp2",
+ "display": {
+ "provider": "HanaOp2ProviderName",
+ "resource": "HanaOp2ResourceName",
+ "operation": "HanaOp2OperationName",
+ "description": "HanaOp2Description",
+ "origin": "HanaOp2Origin"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json
new file mode 100644
index 000000000000..047a9853698e
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json
@@ -0,0 +1,515 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HanaManagementClient",
+ "description": "The SAP HANA on Azure Management Client.",
+ "version": "2017-11-03-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "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.HanaOnAzure/operations": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of SAP HANA management operations.",
+ "x-ms-examples": {
+ "List all HANA management operations supported by HANA RP": {
+ "$ref": "./examples/HanaOperations_List.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "HanaInstances_List",
+ "summary": "Gets a list of SAP HANA instances in the specified subscription.",
+ "description": "Gets a list of SAP HANA instances in the specified subscription. The operations returns various properties of each SAP HANA on Azure instance.",
+ "x-ms-examples": {
+ "List all HANA instances in a subscription": {
+ "$ref": "./examples/HanaInstances_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HanaInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "HanaInstances_ListByResourceGroup",
+ "summary": "Gets a list of SAP HANA instances in the specified subscription and the resource group.",
+ "description": "Gets a list of SAP HANA instances in the specified subscription and the resource group. The operations returns various properties of each SAP HANA on Azure instance.",
+ "x-ms-examples": {
+ "List all HANA instances in a resource group": {
+ "$ref": "./examples/HanaInstances_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HanaInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}": {
+ "get": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "HanaInstances_Get",
+ "summary": "Gets properties of a SAP HANA instance.",
+ "description": "Gets properties of a SAP HANA instance for the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Get properties of a HANA instance": {
+ "$ref": "./examples/HanaInstances_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HanaInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HanaInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "HanaInstancesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HanaInstance"
+ },
+ "description": "The list of SAP HANA on Azure instances."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of HANA instances."
+ }
+ },
+ "description": "The response from the List HANA Instances operation."
+ },
+ "HanaInstance": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HanaInstanceProperties",
+ "description": "HANA instance properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "HANA instance info on Azure (ARM properties and HANA properties)"
+ },
+ "HanaInstanceProperties": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the HANA instance."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the HANA instance disks."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings for the HANA instance."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network settings for the HANA instance."
+ },
+ "hanaInstanceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the HANA instance unique ID."
+ }
+ },
+ "description": "Describes the properties of a HANA instance."
+ },
+ "HardwareProfile": {
+ "properties": {
+ "hardwareType": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Cisco_UCS"
+ ],
+ "x-ms-enum": {
+ "name": "HanaHardwareTypeNamesEnum",
+ "modelAsString": true
+ },
+ "description": "Name of the hardware type (vendor and/or thrie product name)"
+ },
+ "hanaInstanceSize": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "S72m",
+ "S144m",
+ "S72",
+ "S144",
+ "S192",
+ "S192m"
+ ],
+ "x-ms-enum": {
+ "name": "HanaInstanceSizeNamesEnum",
+ "modelAsString": true
+ },
+ "description": "Specifies the HANA instance SKU."
+ }
+ },
+ "description": "Specifies the hardware settings for the HANA instance."
+ },
+ "Disk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes."
+ },
+ "lun": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "description": "Specifies the disk information fo the HANA instance"
+ },
+ "StorageProfile": {
+ "properties": {
+ "nfsIpAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "IP Address to connect to storage."
+ },
+ "osDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Specifies information about the operating system disk used by the hana instance."
+ }
+ },
+ "description": "Specifies the storage settings for the HANA instance disks."
+ },
+ "OSProfile": {
+ "properties": {
+ "computerName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the host OS name of the HANA instance."
+ },
+ "osType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS."
+ },
+ "version": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies version of operating system."
+ }
+ },
+ "description": "Specifies the operating system settings for the HANA instance."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpAddress"
+ },
+ "description": "Specifies the network interfaces for the HANA instance."
+ },
+ "circuitId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the circuit id for connecting to express route."
+ }
+ },
+ "description": "Specifies the network settings for the HANA instance disks."
+ },
+ "IpAddress": {
+ "properties": {
+ "ipAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the IP address of the network interface."
+ }
+ },
+ "description": "Specifies the IP address of the network interaface."
+ },
+ "OperationList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of HANA operations"
+ }
+ },
+ "description": "List of HANA operations"
+ },
+ "Operation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service."
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Displayed HANA operation information"
+ }
+ },
+ "description": "HANA operation information"
+ },
+ "Display": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with “Microsoft” for 1st party services."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies."
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views."
+ },
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'"
+ }
+ },
+ "description": "Detailed HANA operation information"
+ },
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription ID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "HanaInstanceNameParameter": {
+ "name": "hanaInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the SAP HANA on Azure instance.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/hanaonazure/resource-manager/readme.md b/specification/hanaonazure/resource-manager/readme.md
new file mode 100644
index 000000000000..4ab32c50b839
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/readme.md
@@ -0,0 +1,149 @@
+# HanaOnAzure
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for HanaOnAzure.
+
+
+
+---
+## Getting Started
+To build the SDK for HanaOnAzure, 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: HanaManagementClient
+description: HANA on Azure Client
+openapi-type: arm
+tag: package-2017-11
+azure-arm: true
+```
+
+
+### Tag: package-2017-11
+
+These settings apply only when `--tag=package-2017-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-11'
+input-file:
+- Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json
+```
+
+### Tag: package-2017-06
+
+These settings apply only when `--tag=package-2017-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-06'
+input-file:
+- Microsoft.HanaOnAzure/preview/2017-06-15-preview/hanaonazure.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+## 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.hanaonazure
+ package-name: azure-mgmt-hanaonazure
+ 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-hanaonazure/azure/mgmt/hanaonazure
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-hanaonazure
+```
+
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: hanaonazure
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-06
+ - tag: package-2017-11
+```
+
+### Tag: package-2017-11
+
+These settings apply only when `--tag=package-2017-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-11' && $(go)
+output-folder: $(go-sdk-folder)/services/hanaonazure/mgmt/2017-11-03-preview/hanaonazure
+```
+
+### Tag: package-2017-06
+
+These settings apply only when `--tag=package-2017-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-06' && $(go)
+output-folder: $(go-sdk-folder)/services/hanaonazure/mgmt/2017-06-15-preview/hanaonazure
+```
+
+
+## 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.hanaonazure
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hanaonazure
+```
diff --git a/specification/hdinsight/resource-manager/readme.md b/specification/hdinsight/resource-manager/readme.md
index c29b6c6d4154..d412ee64a2fe 100644
--- a/specification/hdinsight/resource-manager/readme.md
+++ b/specification/hdinsight/resource-manager/readme.md
@@ -53,17 +53,40 @@ input-file:
# 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-go
+ - repo: azure-libraries-for-java
+ - repo: azure-sdk-for-python
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Go
These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_MIT_NO_VERSION
+ license-header: MICROSOFT_APACHE_NO_VERSION
namespace: hdinsight
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-03-preview
+```
+
### Tag: package-2015-03-preview and go
These settings apply only when `--tag=package-2015-03-preview --go` is specified on the command line.
@@ -85,3 +108,19 @@ csharp:
output-folder: $(csharp-sdks-folder)/HDInsight/Management.HDInsight/Generated
clear-output-folder: true
```
+
+
+## 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.hdinsight
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hdinsight
+```
diff --git a/specification/hdinsight/resource-manager/readme.python.md b/specification/hdinsight/resource-manager/readme.python.md
new file mode 100644
index 000000000000..bc7a30bce8ba
--- /dev/null
+++ b/specification/hdinsight/resource-manager/readme.python.md
@@ -0,0 +1,27 @@
+## 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.hdinsight
+ package-name: azure-mgmt-hdinsight
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-hdinsight/azure/mgmt/hdinsight
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-hdinsight
+```
diff --git a/specification/intune/resource-manager/readme.md b/specification/intune/resource-manager/readme.md
index 93e674287ac8..4fd68e92276f 100644
--- a/specification/intune/resource-manager/readme.md
+++ b/specification/intune/resource-manager/readme.md
@@ -52,6 +52,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -78,11 +89,34 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-01-preview
+```
+
### Tag: package-2015-01-preview and go
These settings apply only when `--tag=package-2015-01-preview --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
-``` yaml $(tag) == 'package-2017-04' && $(go)
+``` yaml $(tag) == 'package-2015-01-preview' && $(go)
output-folder: $(go-sdk-folder)/services/intune/mgmt/2015-01-14-preview/intune
```
+
+
+## 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.intune
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-intune
+```
diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md
index 100cf83f3253..be8deca8947d 100644
--- a/specification/iothub/resource-manager/readme.md
+++ b/specification/iothub/resource-manager/readme.md
@@ -60,6 +60,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -113,6 +126,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-07
+ - tag: package-2017-01
+ - tag: package-2016-02
+```
+
### Tag: package-2017-07 and go
These settings apply only when `--tag=package-2017-07 --go` is specified on the command line.
@@ -139,3 +161,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.iothub
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-iothub
+```
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/backupStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/backupStorageAccount.json
new file mode 100644
index 000000000000..0936219ea52a
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/backupStorageAccount.json
@@ -0,0 +1,17 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"backupStrg01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/deleteStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/deleteStorageAccount.json
new file mode 100644
index 000000000000..8647591592f3
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/deleteStorageAccount.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"deleteStrg01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/deleteStrg01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key1",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P30D",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deleteStrg01",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/deleteStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/deleteStorageSasDefinition.json
new file mode 100644
index 000000000000..c7427e36c895
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/deleteStorageSasDefinition.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"deletesas01",
+ "sas-definition-name":"deleteStrgSasDef01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/deletesas01/sas/deleteStrgSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/deletesas01-deleteStrgSasDef01",
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getDeletedStorageAccount.json
new file mode 100644
index 000000000000..56d0ee259118
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getDeletedStorageAccount.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"deleteStrg01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/deleteStrg01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key1",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P30D",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deleteStrg01",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getDeletedStorageSasDefinition.json
new file mode 100644
index 000000000000..c7427e36c895
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getDeletedStorageSasDefinition.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"deletesas01",
+ "sas-definition-name":"deleteStrgSasDef01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/deletesas01/sas/deleteStrgSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/deletesas01-deleteStrgSasDef01",
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getStorageAccount.json
new file mode 100644
index 000000000000..c6a4f4d7cbe6
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getStorageAccount.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"readStrg01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/readStrg01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key1",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P30D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getStorageSasDefinition.json
new file mode 100644
index 000000000000..4fd73a2468d1
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/getStorageSasDefinition.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"getsas01",
+ "sas-definition-name":"getStrgSasDef01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/getsas01/sas/getStrgSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/getsas01-getStrgSasDef01",
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listDeletedStorageAccount.json
new file mode 100644
index 000000000000..858f518c1ca5
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listDeletedStorageAccount.json
@@ -0,0 +1,46 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "value":[
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listDeletedStorage01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listDeletedStorage01",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ },
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listDeletedStorage02",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listDeletedStorage02",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag3":"val3", "tag4":"val4"}
+ }
+ ],
+ "nextLink":"https://{BaseUri}/storage?api-version=7.0-preview&%24skiptoken="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listDeletedStorageSasDefinition.json
new file mode 100644
index 000000000000..6d315cd5b491
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listDeletedStorageSasDefinition.json
@@ -0,0 +1,45 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"listsas01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "value":[
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listDeletedSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listDeletedSasDef01",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listsas01/sas/listDeletedSasDef01",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ },
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listDeletedSasDef02",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listDeletedSasDef02",
+ "recoveryId":"https://storage-sdk-test.vault-int.azure-int.net/deletedstorage/listsas01/sas/listDeletedSasDef02",
+ "scheduledPurgeDate":1490790000,
+ "deletedDate":1490760000,
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ ],
+ "nextLink":"https://{BaseUri}/deletedstorage/listsas01/sas?api-version=7.0-preview&%24skiptoken="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listStorageAccount.json
new file mode 100644
index 000000000000..3ea8dcd18115
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listStorageAccount.json
@@ -0,0 +1,40 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "value":[
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listStorage01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ },
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listStorage02",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag3":"val3", "tag4":"val4"}
+ }
+ ],
+ "nextLink":"https://{BaseUri}/storage?api-version=7.0-preview&%24skiptoken="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listStorageSasDefinition.json
new file mode 100644
index 000000000000..756773ad0bed
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/listStorageSasDefinition.json
@@ -0,0 +1,39 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"listsas01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "value":[
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listStrgSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listStrgSasDef01",
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ },
+ {
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/listsas01/sas/listStrgSasDef02",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/listsas01-listStrgSasDef02",
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ ],
+ "nextLink":"https://{BaseUri}/storage/listsas01/sas?api-version=7.0-preview&%24skiptoken="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/purgeStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/purgeStorageAccount.json
new file mode 100644
index 000000000000..e3af7e54313f
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/purgeStorageAccount.json
@@ -0,0 +1,17 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"purgeStrg01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "204":{
+ "headers":{
+
+ },
+ "body":{
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/recoverStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/recoverStorageAccount.json
new file mode 100644
index 000000000000..56e4fcbe323f
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/recoverStorageAccount.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"recoverStrg01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/recoverStrg01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key1",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P30D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/recoverStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/recoverStorageSasDefinition.json
new file mode 100644
index 000000000000..d8d4391c2851
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/recoverStorageSasDefinition.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"recoversas01",
+ "sas-definition-name":"recoverStrgSasDef01",
+ "api-version":"7.0-preview"
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/recoversas01/sas/recoverStrgSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/recoversas01-recoverStrgSasDef01",
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/regenerateStorageAccountKey.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/regenerateStorageAccountKey.json
new file mode 100644
index 000000000000..07b58beb9c3e
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/regenerateStorageAccountKey.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"regenerateKey01",
+ "api-version":"7.0-preview",
+ "parameters":{
+ "keyName":"key2"
+ }
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/regenerateKey01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key2",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P10D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/restoreStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/restoreStorageAccount.json
new file mode 100644
index 000000000000..e46fdefc35a1
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/restoreStorageAccount.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"readStrg01",
+ "api-version":"7.0-preview",
+ "parameters":{
+ "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc"
+ }
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/restoreStrg01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key1",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P30D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/setStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/setStorageAccount.json
new file mode 100644
index 000000000000..267186679e5e
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/setStorageAccount.json
@@ -0,0 +1,38 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"setStrg01",
+ "api-version":"7.0-preview",
+ "parameters":{
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key2",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P15D",
+ "attributes":{
+ "enabled":true
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/setStrg01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key2",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P15D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/setStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/setStorageSasDefinition.json
new file mode 100644
index 000000000000..05945ac2998f
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/setStorageSasDefinition.json
@@ -0,0 +1,36 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"setsas01",
+ "sas-definition-name":"setStrgSasDef01",
+ "api-version":"7.0-preview",
+ "parameters":{
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "attributes":{
+ "enabled":true
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/setsas01/sas/setStrgSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/setsas01-setStrgSasDef01",
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/updateStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/updateStorageAccount.json
new file mode 100644
index 000000000000..9de2cca8d48a
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/updateStorageAccount.json
@@ -0,0 +1,32 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"patchStrg01",
+ "api-version":"7.0-preview",
+ "parameters":{
+ "activeKeyName":"key1",
+ "regenerationPeriod":"P10D"
+ }
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/patchStrg01",
+ "resourceId":"/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc",
+ "activeKeyName":"key1",
+ "autoRegenerateKey":true,
+ "regenerationPeriod":"P10D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738386,
+ "updated":1490738386,
+ "recoveryLevel": "Recoverable+Purgeable"
+ },
+ "tags":{"tag1":"val1", "tag2":"val2"}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/updateStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/updateStorageSasDefinition.json
new file mode 100644
index 000000000000..5a956a43b51e
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/examples/updateStorageSasDefinition.json
@@ -0,0 +1,36 @@
+{
+ "parameters":{
+ "vaultBaseUrl":"https://storage-sdk-test.vault-int.azure-int.net/",
+ "storage-account-name":"patchsas01",
+ "sas-definition-name":"patchStrgSasDef01",
+ "api-version":"7.0-preview",
+ "parameters":{
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "attributes":{
+ "enabled":true
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "headers":{
+
+ },
+ "body":{
+ "id":"https://storage-sdk-test.vault-int.azure-int.net/storage/patchsas01/sas/patchStrgSasDef01",
+ "sid":"https://storage-sdk-test.vault-int.azure-int.net/secrets/patchsas01-patchStrgSasDef01",
+ "templateUri":"se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D",
+ "sasType":"service",
+ "validityPeriod":"P15D",
+ "attributes":{
+ "enabled":true,
+ "created":1490738438,
+ "updated":1490738438,
+ "recoveryLevel": "Recoverable"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/index.md b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/index.md
new file mode 100644
index 000000000000..d65bfa10917e
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/index.md
@@ -0,0 +1,30 @@
+---
+ms.assetid: 357c9947-1098-4a03-9f1e-7b27e5aa75bf
+ms.title: Azure Key Vault REST Reference
+ms.prod:
+ms.service: azure-keyvault
+author: BrucePerlerMS
+ms.author: bruceper
+ms.manager: mbaldwin
+---
+
+
+# Azure Key Vault
+
+Azure Key Vault enables users to store and use cryptographic keys within the Microsoft Azure environment. Azure Key Vault supports multiple key types and algorithms, and enables the use of Hardware Security Modules (HSM) for high value customer keys. Key Vault also supports storage of secrets, limited size octet objects. Certificate management is also available through Key Vault including support for renewal processing and workign with a range of certificate authorities.
+
+
+## REST Operation Groups
+
+| Operation Group | Description |
+|-----------------|-------------|
+|Keys | Operations for interacting with keys including create, import, update, and delete.|
+|Secrets | Operations for interacting with secrets including create, update, and delete.|
+|Certificates | Operations for interacting with certificates including create, import, update, delete and a set of contact and renawal management tasks.|
+|Storage | Operations for interacting with storage accounts including create, read, update, delete, list, regeneratekey and a set of sas definition related tasks.|
+
+## See Also
+
+- [About keys, secrets, certificates and storage](link)
+
+
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/keyvault.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/keyvault.json
new file mode 100644
index 000000000000..34179af4101f
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.0/keyvault.json
@@ -0,0 +1,5427 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KeyVaultClient",
+ "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.",
+ "version": "7.0-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{vaultBaseUrl}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "vaultBaseUrl",
+ "description": "The vault name, for example https://myvault.vault.azure.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/keys/{key-name}/create": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "CreateKey",
+ "summary": "Creates a new key, stores it, then returns key parameters and attributes to the client.",
+ "description": "The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z-]+$",
+ "description": "The name for the new key. The system will generate the version name for the new key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyCreateParameters"
+ },
+ "description": "The parameters to create a key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A key bundle containing the result of the create key request.",
+ "schema": {
+ "$ref": "#/definitions/KeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}": {
+ "put": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "ImportKey",
+ "summary": "Imports an externally created key, stores it, and returns key parameters and attributes to the client.",
+ "description": "The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z-]+$",
+ "description": "Name for the imported key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyImportParameters"
+ },
+ "description": "The parameters to import a key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Imported key bundle to the vault.",
+ "schema": {
+ "$ref": "#/definitions/KeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "DeleteKey",
+ "summary": "Deletes a key of any type from storage in Azure Key Vault.",
+ "description": "The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the keys/delete permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The public part of the deleted key and deletion information on when the key will be purged.",
+ "schema": {
+ "$ref": "#/definitions/DeletedKeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/{key-version}": {
+ "patch": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "UpdateKey",
+ "summary": "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Azure Key Vault.",
+ "description": "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed. This operation requires the keys/update permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of key to update."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the key to update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyUpdateParameters"
+ },
+ "description": "The parameters of the key to update."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated key.",
+ "schema": {
+ "$ref": "#/definitions/KeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "GetKey",
+ "summary": "Gets the public part of a stored key.",
+ "description": "The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response. This operation requires the keys/get permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key to get."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Adding the version parameter retrieves a specific version of a key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A key bundle containing the key and its attributes.",
+ "schema": {
+ "$ref": "#/definitions/KeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/versions": {
+ "get": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "GetKeyVersions",
+ "summary": "Retrieves a list of individual key versions with the same key name.",
+ "description": "The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of keys along with a link to the next page of keys.",
+ "schema": {
+ "$ref": "#/definitions/KeyListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/keys": {
+ "get": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "GetKeys",
+ "summary": "List keys in the specified vault.",
+ "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of keys in the vault along with a link to the next page of keys.",
+ "schema": {
+ "$ref": "#/definitions/KeyListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/keys/{key-name}/backup": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "BackupKey",
+ "summary": "Requests that a backup of the specified key be downloaded to the client.",
+ "description": "The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This operation requires the key/backup permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The backup blob containing the backed up key.",
+ "schema": {
+ "$ref": "#/definitions/BackupKeyResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/restore": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "RestoreKey",
+ "summary": "Restores a backed up key to a vault.",
+ "description": "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault. This operation requires the keys/restore permission.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyRestoreParameters"
+ },
+ "description": "The parameters to restore the key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Restored key bundle in the vault.",
+ "schema": {
+ "$ref": "#/definitions/KeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/{key-version}/encrypt": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "encrypt",
+ "summary": "Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.",
+ "description": "The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/encypt permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyOperationsParameters"
+ },
+ "description": "The parameters for the encryption operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The encryption result.",
+ "schema": {
+ "$ref": "#/definitions/KeyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/{key-version}/decrypt": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "decrypt",
+ "summary": "Decrypts a single block of encrypted data.",
+ "description": "The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/decrypt permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyOperationsParameters"
+ },
+ "description": "The parameters for the decryption operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The decryption result.",
+ "schema": {
+ "$ref": "#/definitions/KeyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/{key-version}/sign": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "sign",
+ "summary": "Creates a signature from a digest using the specified key.",
+ "description": "The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key. This operation requires the keys/sign permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeySignParameters"
+ },
+ "description": "The parameters for the signing operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The signature value.",
+ "schema": {
+ "$ref": "#/definitions/KeyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/{key-version}/verify": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "verify",
+ "summary": "Verifies a signature using a specified key.",
+ "description": "The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key. This operation requires the keys/verify permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyVerifyParameters"
+ },
+ "description": "The parameters for verify operations."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The verification result.",
+ "schema": {
+ "$ref": "#/definitions/KeyVerifyResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/{key-version}/wrapkey": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "wrapKey",
+ "summary": "Wraps a symmetric key using a specified key.",
+ "description": "The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/wrapKey permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyOperationsParameters"
+ },
+ "description": "The parameters for wrap operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The wrapped symmetric key.",
+ "schema": {
+ "$ref": "#/definitions/KeyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/keys/{key-name}/{key-version}/unwrapkey": {
+ "post": {
+ "tags": [
+ "Keys"
+ ],
+ "operationId": "unwrapKey",
+ "summary": "Unwraps a symmetric key using the specified key that was initially used for wrapping that key.",
+ "description": "The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/unwrapKey permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "name": "key-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/KeyOperationsParameters"
+ },
+ "description": "The parameters for the key operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The unwrapped symmetric key.",
+ "schema": {
+ "$ref": "#/definitions/KeyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/deletedkeys": {
+ "get": {
+ "tags": [
+ "DeletedKeys"
+ ],
+ "operationId": "GetDeletedKeys",
+ "summary": "Lists the deleted keys in the specified vault.",
+ "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. This operation includes deletion-specific information. The Get Deleted Keys operation is applicable for vaults enabled for soft-delete. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/list permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys.",
+ "schema": {
+ "$ref": "#/definitions/DeletedKeyListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/deletedkeys/{key-name}": {
+ "get": {
+ "tags": [
+ "DeletedKeys"
+ ],
+ "operationId": "GetDeletedKey",
+ "summary": "Gets the public part of a deleted key.",
+ "description": "The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/get permission. ",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion information.",
+ "schema": {
+ "$ref": "#/definitions/DeletedKeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeletedKeys"
+ ],
+ "operationId": "PurgeDeletedKey",
+ "summary": "Permanently deletes the specified key.",
+ "description": "The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/purge permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the key"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No content, signaling that the key was permanently purged."
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/deletedkeys/{key-name}/recover": {
+ "post": {
+ "tags": [
+ "DeletedKeys"
+ ],
+ "operationId": "RecoverDeletedKey",
+ "summary": "Recovers the deleted key to its latest version.",
+ "description": "The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation requires the keys/recover permission.",
+ "parameters": [
+ {
+ "name": "key-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the deleted key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Key bundle of the original key and its attributes",
+ "schema": {
+ "$ref": "#/definitions/KeyBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/secrets/{secret-name}": {
+ "put": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "SetSecret",
+ "summary": "Sets a secret in a specified key vault.",
+ "description": " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret. This operation requires the secrets/set permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z-]+$",
+ "description": "The name of the secret."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/SecretSetParameters"
+ },
+ "description": "The parameters for setting the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A secret bundle containing the result of the set secret request.",
+ "schema": {
+ "$ref": "#/definitions/SecretBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "DeleteSecret",
+ "summary": "Deletes a secret from a specified key vault.",
+ "description": "The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret. This operation requires the secrets/delete permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted secret and information on when the secret will be deleted, and how to recover the deleted secret.",
+ "schema": {
+ "$ref": "#/definitions/DeletedSecretBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/secrets/{secret-name}/{secret-version}": {
+ "patch": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "UpdateSecret",
+ "summary": "Updates the attributes associated with a specified secret in a given key vault.",
+ "description": "The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed. This operation requires the secrets/set permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "name": "secret-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the secret."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/SecretUpdateParameters"
+ },
+ "description": "The parameters for update secret operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated secret.",
+ "schema": {
+ "$ref": "#/definitions/SecretBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "GetSecret",
+ "summary": "Get a specified secret from a given key vault.",
+ "description": "The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "name": "secret-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved secret.",
+ "schema": {
+ "$ref": "#/definitions/SecretBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/secrets": {
+ "get": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "GetSecrets",
+ "summary": "List secrets in a specified key vault.",
+ "description": "The Get Secrets operation is applicable to the entire vault. However, only the base secret identifier and its attributes are provided in the response. Individual secret versions are not listed in the response. This operation requires the secrets/list permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of secrets in the vault along with a link to the next page of secrets.",
+ "schema": {
+ "$ref": "#/definitions/SecretListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/secrets/{secret-name}/versions": {
+ "get": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "GetSecretVersions",
+ "summary": "List all versions of the specified secret.",
+ "description": "The full secret identifier and attributes are provided in the response. No values are returned for the secrets. This operations requires the secrets/list permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of secrets along with a link to the next page of secrets.",
+ "schema": {
+ "$ref": "#/definitions/SecretListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/deletedsecrets": {
+ "get": {
+ "tags": [
+ "DeletedSecrets"
+ ],
+ "operationId": "GetDeletedSecrets",
+ "summary": "Lists deleted secrets for the specified vault.",
+ "description": "The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of deleted secrets in the vault, along with a link to the next page of deleted secrets.",
+ "schema": {
+ "$ref": "#/definitions/DeletedSecretListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/deletedsecrets/{secret-name}": {
+ "get": {
+ "tags": [
+ "DeletedSecrets"
+ ],
+ "operationId": "GetDeletedSecret",
+ "summary": "Gets the specified deleted secret.",
+ "description": "The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A secret bundle of the secret and its attributes.",
+ "schema": {
+ "$ref": "#/definitions/DeletedSecretBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeletedSecrets"
+ ],
+ "operationId": "PurgeDeletedSecret",
+ "summary": "Permanently deletes the specified secret.",
+ "description": "The purge deleted secret operation removes the secret permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the secrets/purge permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No content signaling that the secret was purged forever."
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/deletedsecrets/{secret-name}/recover": {
+ "post": {
+ "tags": [
+ "DeletedSecrets"
+ ],
+ "operationId": "RecoverDeletedSecret",
+ "summary": "Recovers the deleted secret to the latest version.",
+ "description": "Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the secrets/recover permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the deleted secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Secret bundle of the original secret and its attributes.",
+ "schema": {
+ "$ref": "#/definitions/SecretBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/secrets/{secret-name}/backup": {
+ "post": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "BackupSecret",
+ "summary": "Backs up the specified secret.",
+ "description": "Requests that a backup of the specified secret be downloaded to the client. All versions of the secret will be downloaded. This operation requires the secrets/backup permission.",
+ "parameters": [
+ {
+ "name": "secret-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The backup blob containing the backed up secret.",
+ "schema": {
+ "$ref": "#/definitions/BackupSecretResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/secrets/restore": {
+ "post": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "RestoreSecret",
+ "summary": "Restores a backed up secret to a vault.",
+ "description": "Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/SecretRestoreParameters"
+ },
+ "description": "The parameters to restore the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Restored secret bundle in the vault.",
+ "schema": {
+ "$ref": "#/definitions/SecretBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificates",
+ "summary": "List certificates in a specified key vault",
+ "description": "The GetCertificates operation returns the set of certificates resources in the specified key vault. This operation requires the certificates/list permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of certificates along with a link to the next page of certificates.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/certificates/{certificate-name}": {
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "DeleteCertificate",
+ "summary": "Deletes a certificate from a specified key vault.",
+ "description": "Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object. This operation requires the certificates/delete permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted certificate.",
+ "schema": {
+ "$ref": "#/definitions/DeletedCertificateBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/contacts": {
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "SetCertificateContacts",
+ "description": "Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission.",
+ "summary": "Sets the certificate contacts for the specified key vault.",
+ "parameters": [
+ {
+ "name": "contacts",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Contacts"
+ },
+ "description": "The contacts for the key vault certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The contacts for the key vault certificate.",
+ "schema": {
+ "$ref": "#/definitions/Contacts"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificateContacts",
+ "summary": "Lists the certificate contacts for a specified key vault.",
+ "description": "The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The contacts for the key vault certificate.",
+ "schema": {
+ "$ref": "#/definitions/Contacts"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "DeleteCertificateContacts",
+ "description": "Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission.",
+ "summary": "Deletes the certificate contacts for a specified key vault.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The contacts for the key vault certificate.",
+ "schema": {
+ "$ref": "#/definitions/Contacts"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/issuers": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificateIssuers",
+ "summary": "List certificate issuers for a specified key vault.",
+ "description": "The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of certificate issuers in a key vault along with a link to the next page of certificate issuers.",
+ "schema": {
+ "$ref": "#/definitions/CertificateIssuerListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/certificates/issuers/{issuer-name}": {
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "SetCertificateIssuer",
+ "summary": "Sets the specified certificate issuer.",
+ "description": "The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission.",
+ "parameters": [
+ {
+ "name": "issuer-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the issuer."
+ },
+ {
+ "name": "parameter",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateIssuerSetParameters"
+ },
+ "description": "Certificate issuer set parameter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The issuer for the key vault certificate.",
+ "schema": {
+ "$ref": "#/definitions/IssuerBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "UpdateCertificateIssuer",
+ "summary": "Updates the specified certificate issuer.",
+ "description": "The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission.",
+ "parameters": [
+ {
+ "name": "issuer-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the issuer."
+ },
+ {
+ "name": "parameter",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateIssuerUpdateParameters"
+ },
+ "description": "Certificate issuer update parameter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The issuer for the key vault certificate.",
+ "schema": {
+ "$ref": "#/definitions/IssuerBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificateIssuer",
+ "summary": "Lists the specified certificate issuer.",
+ "description": "The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.",
+ "parameters": [
+ {
+ "name": "issuer-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the issuer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The issuer for the key vault certificate.",
+ "schema": {
+ "$ref": "#/definitions/IssuerBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "DeleteCertificateIssuer",
+ "summary": "Deletes the specified certificate issuer.",
+ "description": "The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission.",
+ "parameters": [
+ {
+ "name": "issuer-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the issuer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The issuer for the key vault certificate.",
+ "schema": {
+ "$ref": "#/definitions/IssuerBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/{certificate-name}/create": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "CreateCertificate",
+ "summary": "Creates a new certificate.",
+ "description": "If this is the first version, the certificate resource is created. This operation requires the certificates/create permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z-]+$",
+ "description": "The name of the certificate."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateCreateParameters"
+ },
+ "description": "The parameters to create a certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Created certificate bundle.",
+ "schema": {
+ "$ref": "#/definitions/CertificateOperation"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/{certificate-name}/import": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "ImportCertificate",
+ "summary": "Imports a certificate into a specified key vault.",
+ "description": "Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z-]+$",
+ "description": "The name of the certificate."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateImportParameters"
+ },
+ "description": "The parameters to import the certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Imported certificate bundle to the vault.",
+ "schema": {
+ "$ref": "#/definitions/CertificateBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/{certificate-name}/versions": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificateVersions",
+ "summary": "List the versions of a certificate.",
+ "description": "The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate."
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of certificates in the key vault along with a link to the next page of keys.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/certificates/{certificate-name}/policy": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificatePolicy",
+ "summary": "Lists the policy for a certificate.",
+ "description": "The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate in a given key vault."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The certificate policy.",
+ "schema": {
+ "$ref": "#/definitions/CertificatePolicy"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "UpdateCertificatePolicy",
+ "summary": "Updates the policy for a certificate.",
+ "description": "Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate in the given vault."
+ },
+ {
+ "name": "certificatePolicy",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificatePolicy"
+ },
+ "description": "The policy for the certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The certificate policy",
+ "schema": {
+ "$ref": "#/definitions/CertificatePolicy"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/{certificate-name}/{certificate-version}": {
+ "patch": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "UpdateCertificate",
+ "summary": "Updates the specified attributes associated with the given certificate.",
+ "description": "The UpdateCertificate operation applies the specified update on the given certificate; the only elements updated are the certificate's attributes. This operation requires the certificates/update permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate in the given key vault."
+ },
+ {
+ "name": "certificate-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the certificate."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateUpdateParameters"
+ },
+ "description": "The parameters for certificate update."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificate",
+ "summary": "Gets information about a certificate.",
+ "description": "Gets information about a specific certificate. This operation requires the certificates/get permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate in the given vault."
+ },
+ {
+ "name": "certificate-version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version of the certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/{certificate-name}/pending": {
+ "patch": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "UpdateCertificateOperation",
+ "summary": "Updates a certificate operation.",
+ "description": "Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate."
+ },
+ {
+ "name": "certificateOperation",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateOperationUpdateParameter"
+ },
+ "description": "The certificate operation response."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A message containing the certificate operation response.",
+ "schema": {
+ "$ref": "#/definitions/CertificateOperation"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "GetCertificateOperation",
+ "summary": "Gets the creation operation of a certificate.",
+ "description": "Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The certificate operation response.",
+ "schema": {
+ "$ref": "#/definitions/CertificateOperation"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "DeleteCertificateOperation",
+ "summary": "Deletes the creation operation for a specific certificate.",
+ "description": "Deletes the creation operation for a specified certificate that is in the process of being created. The certificate is no longer created. This operation requires the certificates/update permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A message containing the certificate operation response.",
+ "schema": {
+ "$ref": "#/definitions/CertificateOperation"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates/{certificate-name}/pending/merge": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "MergeCertificate",
+ "summary": "Merges a certificate or a certificate chain with a key pair existing on the server.",
+ "description": "The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateMergeParameters"
+ },
+ "description": "The parameters to merge certificate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Merged certificate bundle to the vault.",
+ "schema": {
+ "$ref": "#/definitions/CertificateBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/deletedcertificates": {
+ "get": {
+ "tags": [
+ "DeletedCertificates"
+ ],
+ "operationId": "GetDeletedCertificates",
+ "summary": "Lists the deleted certificates in the specified vault currently available for recovery.",
+ "description": "The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates",
+ "schema": {
+ "$ref": "#/definitions/DeletedCertificateListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/deletedcertificates/{certificate-name}": {
+ "get": {
+ "tags": [
+ "DeletedCertificates"
+ ],
+ "operationId": "GetDeletedCertificate",
+ "summary": "Retrieves information about the specified deleted certificate.",
+ "description": "The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. This operation requires the certificates/get permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Certificate bundle of the certificate and its attributes",
+ "schema": {
+ "$ref": "#/definitions/DeletedCertificateBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeletedCertificates"
+ ],
+ "operationId": "PurgeDeletedCertificate",
+ "summary": "Permanently deletes the specified deleted certificate.",
+ "description": "The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the certificate"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No content signaling that the certificate was purged forever."
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/deletedcertificates/{certificate-name}/recover": {
+ "post": {
+ "tags": [
+ "DeletedCertificates"
+ ],
+ "operationId": "RecoverDeletedCertificate",
+ "summary": "Recovers the deleted certificate back to its current version under /certificates.",
+ "description": "The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes). This operation requires the certificates/recover permission.",
+ "parameters": [
+ {
+ "name": "certificate-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the deleted certificate"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Certificate bundle of the original certificate and its attributes",
+ "schema": {
+ "$ref": "#/definitions/CertificateBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ }
+ }
+ },
+ "/storage": {
+ "get": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "GetStorageAccounts",
+ "description": "List storage accounts managed by the specified key vault. This operation requires the storage/list permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of storage accounts along with a link to the next page of storage accounts.",
+ "schema": {
+ "$ref": "#/definitions/StorageListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Storage account": {
+ "$ref": "./examples//listStorageAccount.json"
+ }
+ }
+ }
+ },
+ "/deletedstorage": {
+ "get": {
+ "tags": [
+ "DeletedStorage"
+ ],
+ "operationId": "GetDeletedStorageAccounts",
+ "summary": "Lists deleted storage accounts for the specified vault.",
+ "description": "The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission.",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of deleted storage accounts in the vault, along with a link to the next page of deleted storage accounts.",
+ "schema": {
+ "$ref": "#/definitions/DeletedStorageListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Deleted Storage Accounts": {
+ "$ref": "./examples//listDeletedStorageAccount.json"
+ }
+ }
+ }
+ },
+ "/deletedstorage/{storage-account-name}": {
+ "get": {
+ "tags": [
+ "DeletedStorage"
+ ],
+ "operationId": "GetDeletedStorageAccount",
+ "summary": "Gets the specified deleted storage account.",
+ "description": "The Get Deleted Storage Account operation returns the specified deleted storage account along with its attributes. This operation requires the storage/get permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted storage account and information on when it will be purged, and how to recover the deleted storage account.",
+ "schema": {
+ "$ref": "#/definitions/DeletedStorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Deleted Storage": {
+ "$ref": "./examples//getDeletedStorageAccount.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeletedStorage"
+ ],
+ "operationId": "PurgeDeletedStorgeAccount",
+ "summary": "Permanently deletes the specified storage account.",
+ "description": "The purge deleted storage account operation removes the secret permanently, without the possibility of recovery. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/purge permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No content signaling that the storage account was purged forever."
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Purge Deleted Storage Account": {
+ "$ref": "./examples//purgeStorageAccount.json"
+ }
+ }
+ }
+ },
+ "/deletedstorage/{storage-account-name}/recover": {
+ "post": {
+ "tags": [
+ "DeletedStorage"
+ ],
+ "operationId": "RecoverDeletedStorageAccount",
+ "summary": "Recovers the deleted storage account.",
+ "description": "Recovers the deleted storage account in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A storage bundle of the original storage account and its attributes.",
+ "schema": {
+ "$ref": "#/definitions/StorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Recover Deleted Storage Account": {
+ "$ref": "./examples//recoverStorageAccount.json"
+ }
+ }
+ }
+ },
+ "/storage/{storage-account-name}/backup": {
+ "post": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "BackupStorageAccount",
+ "summary": "Backs up the specified storage account.",
+ "description": "Requests that a backup of the specified storage account be downloaded to the client. This operation requires the storage/backup permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The backup blob containing the backed up storage account.",
+ "schema": {
+ "$ref": "#/definitions/BackupStorageResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Backup Storage Account": {
+ "$ref": "./examples//backupStorageAccount.json"
+ }
+ }
+ }
+ },
+ "/storage/restore": {
+ "post": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "RestoreStorageAccount",
+ "summary": "Restores a backed up storage account to a vault.",
+ "description": "Restores a backed up storage account to a vault. This operation requires the storage/restore permission.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/StorageRestoreParameters"
+ },
+ "description": "The parameters to restore the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Restored storage account bundle in the vault.",
+ "schema": {
+ "$ref": "#/definitions/StorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Restore Storage Account": {
+ "$ref": "./examples//restoreStorageAccount.json"
+ }
+ }
+ }
+ },
+ "/storage/{storage-account-name}": {
+ "delete": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "DeleteStorageAccount",
+ "description": "Deletes a storage account. This operation requires the storage/delete permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted storage account and information on when the storage account will be deleted, and how to recover the deleted storage account.",
+ "schema": {
+ "$ref": "#/definitions/DeletedStorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Storage account": {
+ "$ref": "./examples//deleteStorageAccount.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "GetStorageAccount",
+ "description": "Gets information about a specified storage account. This operation requires the storage/get permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved storage account.",
+ "schema": {
+ "$ref": "#/definitions/StorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Storage account": {
+ "$ref": "./examples//getStorageAccount.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "SetStorageAccount",
+ "description": "Creates or updates a new storage account. This operation requires the storage/set permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCreateParameters"
+ },
+ "description": "The parameters to create a storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The created storage account.",
+ "schema": {
+ "$ref": "#/definitions/StorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Set Storage account": {
+ "$ref": "./examples//setStorageAccount.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "UpdateStorageAccount",
+ "description": "Updates the specified attributes associated with the given storage account. This operation requires the storage/set/update permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccountUpdateParameters"
+ },
+ "description": "The parameters to update a storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated storage account.",
+ "schema": {
+ "$ref": "#/definitions/StorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Storage account": {
+ "$ref": "./examples//updateStorageAccount.json"
+ }
+ }
+ }
+ },
+ "/storage/{storage-account-name}/regeneratekey": {
+ "post": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "RegenerateStorageAccountKey",
+ "description": "Regenerates the specified key value for the given storage account. This operation requires the storage/regeneratekey permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccountRegenerteKeyParameters"
+ },
+ "description": "The parameters to regenerate storage account key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated storage account.",
+ "schema": {
+ "$ref": "#/definitions/StorageBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Regenerate Storage account key": {
+ "$ref": "./examples//regenerateStorageAccountKey.json"
+ }
+ }
+ }
+ },
+ "/storage/{storage-account-name}/sas": {
+ "get": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "GetSasDefinitions",
+ "description": "List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions.",
+ "schema": {
+ "$ref": "#/definitions/SasDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Storage Sas Definition": {
+ "$ref": "./examples//listStorageSasDefinition.json"
+ }
+ }
+ }
+ },
+ "/deletedstorage/{storage-account-name}/sas": {
+ "get": {
+ "tags": [
+ "DeletedStorage"
+ ],
+ "operationId": "GetDeletedSasDefinitions",
+ "summary": "Lists deleted SAS definitions for the specified vault and storage account.",
+ "description": "The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 25,
+ "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A response message containing a list of deleted SAS definitions for the storage account, along with a link to the next page of deleted SAS definitions.",
+ "schema": {
+ "$ref": "#/definitions/DeletedSasDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Deleted Storage Sas Definitions": {
+ "$ref": "./examples//listDeletedStorageSasDefinition.json"
+ }
+ }
+ }
+ },
+ "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}": {
+ "get": {
+ "tags": [
+ "DeletedStorage"
+ ],
+ "operationId": "GetDeletedSasDefinition",
+ "summary": "Gets the specified deleted sas definition.",
+ "description": "The Get Deleted SAS Definition operation returns the specified deleted SAS definition along with its attributes. This operation requires the storage/getsas permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "sas-definition-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the SAS definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted SAS definition and information on when the it will be purged, and how to recover the deleted SAS definition.",
+ "schema": {
+ "$ref": "#/definitions/DeletedSasDefinitionBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Deleted Storage Sas Definition": {
+ "$ref": "./examples//getDeletedStorageSasDefinition.json"
+ }
+ }
+ }
+ },
+ "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover": {
+ "post": {
+ "tags": [
+ "DeletedStorage"
+ ],
+ "operationId": "RecoverDeletedSasDefinition",
+ "summary": "Recovers the deleted SAS definition.",
+ "description": "Recovers the deleted SAS definition for the specified storage account. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "sas-definition-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the SAS definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A SAS definition bundle of the original SAS definition and its attributes.",
+ "schema": {
+ "$ref": "#/definitions/SasDefinitionBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Recover Deleted Storage Sas Definition": {
+ "$ref": "./examples//recoverStorageSasDefinition.json"
+ }
+ }
+ }
+ },
+ "/storage/{storage-account-name}/sas/{sas-definition-name}": {
+ "delete": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "DeleteSasDefinition",
+ "description": "Deletes a SAS definition from a specified storage account. This operation requires the storage/deletesas permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "sas-definition-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the SAS definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The deleted SAS definition and information on when the SAS definition will be deleted, and how to recover the deleted SAS definition.",
+ "schema": {
+ "$ref": "#/definitions/DeletedSasDefinitionBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Storage Sas Definition": {
+ "$ref": "./examples//deleteStorageSasDefinition.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "GetSasDefinition",
+ "description": "Gets information about a SAS definition for the specified storage account. This operation requires the storage/getsas permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "sas-definition-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the SAS definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The retrieved SAS definition.",
+ "schema": {
+ "$ref": "#/definitions/SasDefinitionBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Storage Sas Definition": {
+ "$ref": "./examples//getStorageSasDefinition.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "SetSasDefinition",
+ "description": "Creates or updates a new SAS definition for the specified storage account. This operation requires the storage/setsas permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "sas-definition-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the SAS definition."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/SasDefinitionCreateParameters"
+ },
+ "description": "The parameters to create a SAS definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The created SAS definition.",
+ "schema": {
+ "$ref": "#/definitions/SasDefinitionBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Set Storage Sas definition": {
+ "$ref": "./examples//setStorageSasDefinition.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Storage"
+ ],
+ "operationId": "UpdateSasDefinition",
+ "description": "Updates the specified attributes associated with the given SAS definition. This operation requires the storage/setsas permission.",
+ "parameters": [
+ {
+ "name": "storage-account-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the storage account."
+ },
+ {
+ "name": "sas-definition-name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z]+$",
+ "description": "The name of the SAS definition."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/SasDefinitionUpdateParameters"
+ },
+ "description": "The parameters to update a SAS definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The updated SAS definition.",
+ "schema": {
+ "$ref": "#/definitions/SasDefinitionBundle"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Storage Sas definition": {
+ "$ref": "./examples//updateStorageSasDefinition.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Attributes": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether the object is enabled."
+ },
+ "nbf": {
+ "x-ms-client-name": "NotBefore",
+ "type": "integer",
+ "format": "unixtime",
+ "description": "Not before date in UTC."
+ },
+ "exp": {
+ "x-ms-client-name": "Expires",
+ "type": "integer",
+ "format": "unixtime",
+ "description": "Expiry date in UTC."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Creation time in UTC."
+ },
+ "updated": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Last updated time in UTC."
+ }
+ },
+ "description": "The object attributes managed by the KeyVault service."
+ },
+ "JsonWebKey": {
+ "properties": {
+ "kid": {
+ "type": "string",
+ "description": "Key identifier."
+ },
+ "kty": {
+ "type": "string",
+ "description": "JsonWebKey key type (kty).",
+ "enum": [ "EC", "EC-HSM", "RSA", "RSA-HSM", "oct" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeyType",
+ "modelAsString": true
+ }
+ },
+ "key_ops": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Supported key operations."
+ }
+ },
+ "n": {
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA modulus."
+ },
+ "e": {
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA public exponent."
+ },
+ "d": {
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA private exponent, or the D component of an EC private key."
+ },
+ "dp": {
+ "x-ms-client-name": "DP",
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA private key parameter."
+ },
+ "dq": {
+ "x-ms-client-name": "DQ",
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA private key parameter."
+ },
+ "qi": {
+ "x-ms-client-name": "QI",
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA private key parameter."
+ },
+ "p": {
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA secret prime."
+ },
+ "q": {
+ "type": "string",
+ "format": "base64url",
+ "description": "RSA secret prime, with p < q."
+ },
+ "k": {
+ "type": "string",
+ "format": "base64url",
+ "description": "Symmetric key."
+ },
+ "key_hsm": {
+ "x-ms-client-name": "t",
+ "type": "string",
+ "format": "base64url",
+ "description": "HSM Token, used with 'Bring Your Own Key'."
+ },
+ "crv": {
+ "type": "string",
+ "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.",
+ "enum": [ "P-256", "P-384", "P-521", "SECP256K1" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeyCurveName",
+ "modelAsString": true
+ }
+ },
+ "x": {
+ "type": "string",
+ "format": "base64url",
+ "description": "X component of an EC public key."
+ },
+ "y": {
+ "type": "string",
+ "format": "base64url",
+ "description": "Y component of an EC public key."
+ }
+ },
+ "description": "As of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18"
+ },
+ "KeyAttributes": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Attributes"
+ }
+ ],
+ "properties": {
+ "recoveryLevel": {
+ "type": "string",
+ "description": "Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval.",
+ "enum": [ "Purgeable", "Recoverable+Purgeable", "Recoverable", "Recoverable+ProtectedSubscription" ],
+ "x-ms-enum": {
+ "name": "DeletionRecoveryLevel",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "description": "The attributes of a key managed by the key vault service."
+ },
+ "KeyBundle": {
+ "properties": {
+ "key": {
+ "$ref": "#/definitions/JsonWebKey",
+ "description": "The Json web key."
+ },
+ "attributes": {
+ "$ref": "#/definitions/KeyAttributes",
+ "description": "The key management attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ },
+ "managed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true."
+ }
+ },
+ "description": "A KeyBundle consisting of a WebKey plus its attributes."
+ },
+ "KeyItem": {
+ "properties": {
+ "kid": {
+ "type": "string",
+ "description": "Key identifier."
+ },
+ "attributes": {
+ "$ref": "#/definitions/KeyAttributes",
+ "description": "The key management attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ },
+ "managed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true."
+ }
+ },
+ "description": "The key item containing key metadata."
+ },
+ "DeletedKeyBundle": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/KeyBundle"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted key."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the key is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the key was deleted, in UTC"
+ }
+ },
+ "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion info"
+ },
+ "DeletedKeyItem": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/KeyItem"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted key."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the key is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the key was deleted, in UTC"
+ }
+ },
+ "description": "The deleted key item containing the deleted key metadata and information about deletion."
+ },
+ "SecretBundle": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The secret value."
+ },
+ "id": {
+ "type": "string",
+ "description": "The secret id."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type of the secret."
+ },
+ "attributes": {
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The secret management attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ },
+ "kid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "If this is a secret backing a KV certificate, then this field specifies the corresponding key backing the KV certificate."
+ },
+ "managed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "True if the secret's lifetime is managed by key vault. If this is a secret backing a certificate, then managed will be true."
+ }
+ },
+ "description": "A secret consisting of a value, id and its attributes."
+ },
+ "SecretItem": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Secret identifier."
+ },
+ "attributes": {
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The secret management attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Type of the secret value such as a password."
+ },
+ "managed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "True if the secret's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true."
+ }
+ },
+ "description": "The secret item containing secret metadata."
+ },
+ "DeletedSecretBundle": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretBundle"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted secret."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the secret is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the secret was deleted, in UTC"
+ }
+ },
+ "description": "A Deleted Secret consisting of its previous id, attributes and its tags, as well as information on when it will be purged."
+ },
+ "DeletedSecretItem": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretItem"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted secret."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the secret is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the secret was deleted, in UTC"
+ }
+ },
+ "description": "The deleted secret item containing metadata about the deleted secret."
+ },
+ "SecretAttributes": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Attributes"
+ }
+ ],
+ "properties": {
+ "recoveryLevel": {
+ "type": "string",
+ "description": "Reflects the deletion recovery level currently in effect for secrets in the current vault. If it contains 'Purgeable', the secret can be permanently deleted by a privileged user; otherwise, only the system can purge the secret, at the end of the retention interval.",
+ "enum": [ "Purgeable", "Recoverable+Purgeable", "Recoverable", "Recoverable+ProtectedSubscription" ],
+ "x-ms-enum": {
+ "name": "DeletionRecoveryLevel",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "description": "The secret management attributes."
+ },
+ "SecretRestoreParameters": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "x-ms-client-name": "secretBundleBackup",
+ "format": "base64url",
+ "description": "The backup blob associated with a secret bundle."
+ }
+ },
+ "description": "The secret restore parameters.",
+ "required": [ "value" ]
+ },
+ "StorageRestoreParameters": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "x-ms-client-name": "storageBundleBackup",
+ "format": "base64url",
+ "description": "The backup blob associated with a storage account."
+ }
+ },
+ "description": "The secret restore parameters.",
+ "required": [ "value" ]
+ },
+ "CertificateAttributes": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Attributes"
+ }
+ ],
+ "properties": {
+ "recoveryLevel": {
+ "type": "string",
+ "description": "Reflects the deletion recovery level currently in effect for certificates in the current vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged user; otherwise, only the system can purge the certificate, at the end of the retention interval.",
+ "enum": [ "Purgeable", "Recoverable+Purgeable", "Recoverable", "Recoverable+ProtectedSubscription" ],
+ "x-ms-enum": {
+ "name": "DeletionRecoveryLevel",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "description": "The certificate management attributes."
+ },
+ "CertificateItem": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Certificate identifier."
+ },
+ "attributes": {
+ "$ref": "#/definitions/CertificateAttributes",
+ "description": "The certificate management attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ },
+ "x5t": {
+ "x-ms-client-name": "X509Thumbprint",
+ "type": "string",
+ "format": "base64url",
+ "description": "Thumbprint of the certificate."
+ }
+ },
+ "description": "The certificate item containing certificate metadata."
+ },
+ "CertificateIssuerItem": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Certificate Identifier."
+ },
+ "provider": {
+ "type": "string",
+ "description": "The issuer provider."
+ }
+ },
+ "description": "The certificate issuer item containing certificate issuer metadata."
+ },
+ "CertificateBundle": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The certificate id.",
+ "readOnly": true
+ },
+ "kid": {
+ "type": "string",
+ "description": "The key id.",
+ "readOnly": true
+ },
+ "sid": {
+ "type": "string",
+ "description": "The secret id.",
+ "readOnly": true
+ },
+ "x5t": {
+ "x-ms-client-name": "X509Thumbprint",
+ "type": "string",
+ "format": "base64url",
+ "description": "Thumbprint of the certificate.",
+ "readOnly": true
+ },
+ "policy": {
+ "$ref": "#/definitions/CertificatePolicy",
+ "description": "The management policy.",
+ "readOnly": true
+ },
+ "cer": {
+ "type": "string",
+ "format": "byte",
+ "description": "CER contents of x509 certificate."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type of the secret."
+ },
+ "attributes": {
+ "$ref": "#/definitions/CertificateAttributes",
+ "description": "The certificate attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs"
+ }
+ },
+ "description": "A certificate bundle consists of a certificate (X509) plus its attributes."
+ },
+ "DeletedCertificateBundle": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateBundle"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted certificate."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the certificate is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the certificate was deleted, in UTC"
+ }
+ },
+ "description": "A Deleted Certificate consisting of its previous id, attributes and its tags, as well as information on when it will be purged."
+ },
+ "DeletedCertificateItem": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateItem"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted certificate."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the certificate is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the certificate was deleted, in UTC"
+ }
+ },
+ "description": "The deleted certificate item containing metadata about the deleted certificate."
+ },
+ "CertificateOperation": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The certificate id.",
+ "readOnly": true
+ },
+ "issuer": {
+ "x-ms-client-name": "IssuerParameters",
+ "$ref": "#/definitions/IssuerParameters",
+ "description": "Parameters for the issuer of the X509 component of a certificate."
+ },
+ "csr": {
+ "type": "string",
+ "format": "byte",
+ "description": "The certificate signing request (CSR) that is being used in the certificate operation."
+ },
+ "cancellation_requested": {
+ "type": "boolean",
+ "description": "Indicates if cancellation was requested on the certificate operation."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the certificate operation."
+ },
+ "status_details": {
+ "type": "string",
+ "description": "The status details of the certificate operation."
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Error encountered, if any, during the certificate operation."
+ },
+ "target": {
+ "type": "string",
+ "description": "Location which contains the result of the certificate operation."
+ },
+ "request_id": {
+ "type": "string",
+ "description": "Identifier for the certificate operation."
+ }
+ },
+ "description": "A certificate operation is returned in case of asynchronous requests."
+ },
+ "CertificatePolicy": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The certificate id.",
+ "readOnly": true
+ },
+ "key_props": {
+ "x-ms-client-name": "KeyProperties",
+ "$ref": "#/definitions/KeyProperties",
+ "description": "Properties of the key backing a certificate."
+ },
+ "secret_props": {
+ "x-ms-client-name": "SecretProperties",
+ "$ref": "#/definitions/SecretProperties",
+ "description": "Properties of the secret backing a certificate."
+ },
+ "x509_props": {
+ "x-ms-client-name": "X509CertificateProperties",
+ "$ref": "#/definitions/X509CertificateProperties",
+ "description": "Properties of the X509 component of a certificate."
+ },
+ "lifetime_actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LifetimeAction"
+ },
+ "description": "Actions that will be performed by Key Vault over the lifetime of a certificate."
+ },
+ "issuer": {
+ "x-ms-client-name": "IssuerParameters",
+ "$ref": "#/definitions/IssuerParameters",
+ "description": "Parameters for the issuer of the X509 component of a certificate."
+ },
+ "attributes": {
+ "$ref": "#/definitions/CertificateAttributes",
+ "description": "The certificate attributes."
+ }
+ },
+ "description": "Management policy for a certificate."
+ },
+ "KeyProperties": {
+ "properties": {
+ "exportable": {
+ "type": "boolean",
+ "description": "Indicates if the private key can be exported."
+ },
+ "kty": {
+ "x-ms-client-name": "keyType",
+ "type": "string",
+ "description": "The key type."
+ },
+ "key_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The key size in bytes. For example; 1024 or 2048."
+ },
+ "reuse_key": {
+ "type": "boolean",
+ "description": "Indicates if the same key pair will be used on certificate renewal."
+ }
+ },
+ "description": "Properties of the key pair backing a certificate."
+ },
+ "SecretProperties": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "The media type (MIME type)."
+ }
+ },
+ "description": "Properties of the key backing a certificate."
+ },
+ "X509CertificateProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "The subject name. Should be a valid X509 distinguished Name."
+ },
+ "ekus": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The enhanced key usage."
+ },
+ "sans": {
+ "x-ms-client-name": "SubjectAlternativeNames",
+ "$ref": "#/definitions/SubjectAlternativeNames",
+ "description": "The subject alternative names."
+ },
+ "key_usage": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [ "digitalSignature", "nonRepudiation", "keyEncipherment", "dataEncipherment", "keyAgreement", "keyCertSign", "cRLSign", "encipherOnly", "decipherOnly" ],
+ "x-ms-enum": {
+ "name": "KeyUsageType",
+ "modelAsString": true
+ }
+ },
+ "description": "List of key usages."
+ },
+ "validity_months": {
+ "x-ms-client-name": "ValidityInMonths",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The duration that the ceritifcate is valid in months."
+ }
+ },
+ "description": "Properties of the X509 component of a certificate."
+ },
+ "IssuerParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'."
+ },
+ "cty": {
+ "x-ms-client-name": "CertificateType",
+ "type": "string",
+ "description": "Type of certificate to be requested from the issuer provider."
+ }
+ },
+ "description": "Parameters for the issuer of the X509 component of a certificate."
+ },
+ "LifetimeAction": {
+ "properties": {
+ "trigger": {
+ "$ref": "#/definitions/Trigger",
+ "description": "The condition that will execute the action."
+ },
+ "action": {
+ "$ref": "#/definitions/Action",
+ "description": "The action that will be executed."
+ }
+ },
+ "description": "Action and its trigger that will be performed by Key Vault over the lifetime of a certificate."
+ },
+ "Action": {
+ "properties": {
+ "action_type": {
+ "type": "string",
+ "description": "The type of the action.",
+ "enum": [ "EmailContacts", "AutoRenew" ],
+ "x-ms-enum": {
+ "name": "ActionType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "The action that will be executed."
+ },
+ "Trigger": {
+ "properties": {
+ "lifetime_percentage": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 99,
+ "description": "Percentage of lifetime at which to trigger. Value should be between 1 and 99."
+ },
+ "days_before_expiry": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Days before expiry to attempt renewal. Value should be between 1 and validity_in_months multiplied by 27. If validity_in_months is 36, then value should be between 1 and 972 (36 * 27)."
+ }
+ },
+ "description": "A condition to be satisfied for an action to be executed."
+ },
+ "SubjectAlternativeNames": {
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Email addresses."
+ },
+ "dns_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Domain names."
+ },
+ "upns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "User principal names."
+ }
+ },
+ "description": "The subject alternate names of a X509 object."
+ },
+ "IssuerBundle": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier for the issuer object.",
+ "readOnly": true
+ },
+ "provider": {
+ "type": "string",
+ "description": "The issuer provider."
+ },
+ "credentials": {
+ "$ref": "#/definitions/IssuerCredentials",
+ "description": "The credentials to be used for the issuer."
+ },
+ "org_details": {
+ "x-ms-client-name": "OrganizationDetails",
+ "$ref": "#/definitions/OrganizationDetails",
+ "description": "Details of the organization as provided to the issuer."
+ },
+ "attributes": {
+ "$ref": "#/definitions/IssuerAttributes",
+ "description": "Attributes of the issuer object."
+ }
+ },
+ "description": "The issuer for Key Vault certificate."
+ },
+ "IssuerAttributes": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether the issuer is enabled."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Creation time in UTC."
+ },
+ "updated": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Last updated time in UTC."
+ }
+ },
+ "description": "The attributes of an issuer managed by the Key Vault service."
+ },
+ "IssuerCredentials": {
+ "properties": {
+ "account_id": {
+ "type": "string",
+ "description": "The user name/account name/account id."
+ },
+ "pwd": {
+ "x-ms-client-name": "Password",
+ "type": "string",
+ "description": "The password/secret/account key."
+ }
+ },
+ "description": "The credentials to be used for the certificate issuer."
+ },
+ "OrganizationDetails": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the organization."
+ },
+ "admin_details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdministratorDetails"
+ },
+ "description": "Details of the organization administrator."
+ }
+ },
+ "description": "Details of the organization of the certificate issuer."
+ },
+ "AdministratorDetails": {
+ "properties": {
+ "first_name": {
+ "type": "string",
+ "description": "First name."
+ },
+ "last_name": {
+ "type": "string",
+ "description": "Last name."
+ },
+ "email": {
+ "x-ms-client-name": "EmailAddress",
+ "type": "string",
+ "description": "Email addresss."
+ },
+ "phone": {
+ "type": "string",
+ "description": "Phone number."
+ }
+ },
+ "description": "Details of the organization administrator of the certificate issuer."
+ },
+ "Contacts": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier for the contacts collection.",
+ "readOnly": true
+ },
+ "contacts": {
+ "x-ms-client-name": "ContactList",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Contact"
+ },
+ "description": "The contact list for the vault certificates."
+ }
+ },
+ "description": "The contacts for the vault certificates."
+ },
+ "Contact": {
+ "properties": {
+ "email": {
+ "x-ms-client-name": "EmailAddress",
+ "type": "string",
+ "description": "Email addresss."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name."
+ },
+ "phone": {
+ "type": "string",
+ "description": "Phone number."
+ }
+ },
+ "description": "The contact information for the vault certificates."
+ },
+ "KeyCreateParameters": {
+ "properties": {
+ "kty": {
+ "type": "string",
+ "minLength": 1,
+ "description": "The type of key to create. For valid values, see JsonWebKeyType.",
+ "enum": [ "EC", "EC-HSM", "RSA", "RSA-HSM", "oct" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeyType",
+ "modelAsString": true
+ }
+ },
+ "key_size": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The key size in bytes. For example, 1024 or 2048."
+ },
+ "key_ops": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "JSON web key operations. For more information, see JsonWebKeyOperation.",
+ "enum": [ "encrypt", "decrypt", "sign", "verify", "wrapKey", "unwrapKey" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeyOperation",
+ "modelAsString": true
+ }
+ }
+ },
+ "attributes": {
+ "x-ms-client-name": "keyAttributes",
+ "$ref": "#/definitions/KeyAttributes"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ },
+ "crv": {
+ "x-ms-client-name": "curve",
+ "type": "string",
+ "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.",
+ "enum": [ "P-256", "P-384", "P-521", "SECP256K1" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeyCurveName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The key create parameters.",
+ "required": [ "kty" ]
+ },
+ "KeyImportParameters": {
+ "properties": {
+ "Hsm": {
+ "type": "boolean",
+ "description": "Whether to import as a hardware key (HSM) or software key."
+ },
+ "key": {
+ "$ref": "#/definitions/JsonWebKey",
+ "description": "The Json web key"
+ },
+ "attributes": {
+ "x-ms-client-name": "keyAttributes",
+ "$ref": "#/definitions/KeyAttributes",
+ "description": "The key management attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The key import parameters.",
+ "required": [ "key" ]
+ },
+ "KeyOperationsParameters": {
+ "properties": {
+ "alg": {
+ "x-ms-client-name": "algorithm",
+ "type": "string",
+ "minLength": 1,
+ "description": "algorithm identifier",
+ "enum": [ "RSA-OAEP", "RSA-OAEP-256", "RSA1_5" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeyEncryptionAlgorithm",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "type": "string",
+ "format": "base64url"
+ }
+ },
+ "description": "The key operations parameters.",
+ "required": [ "alg", "value" ]
+ },
+ "KeySignParameters": {
+ "properties": {
+ "alg": {
+ "x-ms-client-name": "algorithm",
+ "type": "string",
+ "minLength": 1,
+ "description": "The signing/verification algorithm identifier. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.",
+ "enum": [ "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "RSNULL", "ES256", "ES384", "ES512", "ECDSA256" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeySignatureAlgorithm",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "type": "string",
+ "format": "base64url"
+ }
+ },
+ "description": "The key operations parameters.",
+ "required": [ "alg", "value" ]
+ },
+ "KeyVerifyParameters": {
+ "properties": {
+ "alg": {
+ "x-ms-client-name": "algorithm",
+ "type": "string",
+ "minLength": 1,
+ "description": "The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.",
+ "enum": [ "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "RSNULL", "ES256", "ES384", "ES512", "ECDSA256" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeySignatureAlgorithm",
+ "modelAsString": true
+ }
+ },
+ "digest": {
+ "type": "string",
+ "format": "base64url",
+ "description": "The digest used for signing."
+ },
+ "value": {
+ "x-ms-client-name": "signature",
+ "type": "string",
+ "format": "base64url",
+ "description": "The signature to be verified."
+ }
+ },
+ "description": "The key verify parameters.",
+ "required": [ "alg", "digest", "value" ]
+ },
+ "KeyUpdateParameters": {
+ "properties": {
+ "key_ops": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [ "encrypt", "decrypt", "sign", "verify", "wrapKey", "unwrapKey" ],
+ "x-ms-enum": {
+ "name": "JsonWebKeyOperation",
+ "modelAsString": true
+ }
+ },
+ "description": "Json web key operations. For more information on possible key operations, see JsonWebKeyOperation."
+ },
+ "attributes": {
+ "x-ms-client-name": "keyAttributes",
+ "$ref": "#/definitions/KeyAttributes"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The key update parameters."
+ },
+ "KeyRestoreParameters": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "x-ms-client-name": "keyBundleBackup",
+ "format": "base64url",
+ "description": "The backup blob associated with a key bundle."
+ }
+ },
+ "description": "The key restore parameters.",
+ "required": [ "value" ]
+ },
+ "SecretSetParameters": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the secret."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Type of the secret value such as a password."
+ },
+ "attributes": {
+ "x-ms-client-name": "secretAttributes",
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The secret management attributes."
+ }
+ },
+ "description": "The secret set parameters.",
+ "required": [ "value" ]
+ },
+ "SecretUpdateParameters": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Type of the secret value such as a password."
+ },
+ "attributes": {
+ "x-ms-client-name": "secretAttributes",
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The secret management attributes."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The secret update parameters."
+ },
+ "CertificateCreateParameters": {
+ "properties": {
+ "policy": {
+ "x-ms-client-name": "CertificatePolicy",
+ "$ref": "#/definitions/CertificatePolicy",
+ "description": "The management policy for the certificate."
+ },
+ "attributes": {
+ "x-ms-client-name": "CertificateAttributes",
+ "$ref": "#/definitions/CertificateAttributes",
+ "description": "The attributes of the certificate (optional)."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The certificate create parameters."
+ },
+ "CertificateImportParameters": {
+ "properties": {
+ "value": {
+ "x-ms-client-name": "base64EncodedCertificate",
+ "type": "string",
+ "description": "Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key."
+ },
+ "pwd": {
+ "x-ms-client-name": "password",
+ "type": "string",
+ "description": "If the private key in base64EncodedCertificate is encrypted, the password used for encryption."
+ },
+ "policy": {
+ "x-ms-client-name": "CertificatePolicy",
+ "$ref": "#/definitions/CertificatePolicy",
+ "description": "The management policy for the certificate."
+ },
+ "attributes": {
+ "x-ms-client-name": "CertificateAttributes",
+ "$ref": "#/definitions/CertificateAttributes",
+ "description": "The attributes of the certificate (optional)."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The certificate import parameters.",
+ "required": [ "value" ]
+ },
+ "CertificateUpdateParameters": {
+ "properties": {
+ "policy": {
+ "x-ms-client-name": "CertificatePolicy",
+ "$ref": "#/definitions/CertificatePolicy",
+ "description": "The management policy for the certificate."
+ },
+ "attributes": {
+ "x-ms-client-name": "CertificateAttributes",
+ "$ref": "#/definitions/CertificateAttributes",
+ "description": "The attributes of the certificate (optional)."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The certificate update parameters."
+ },
+ "CertificateMergeParameters": {
+ "properties": {
+ "x5c": {
+ "x-ms-client-name": "x509Certificates",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "byte"
+ },
+ "description": "The certificate or the certificate chain to merge."
+ },
+ "attributes": {
+ "x-ms-client-name": "CertificateAttributes",
+ "$ref": "#/definitions/CertificateAttributes",
+ "description": "The attributes of the certificate (optional)."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The certificate merge parameters",
+ "required": [ "x5c" ]
+ },
+ "CertificateIssuerSetParameters": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "The issuer provider."
+ },
+ "credentials": {
+ "$ref": "#/definitions/IssuerCredentials",
+ "description": "The credentials to be used for the issuer."
+ },
+ "org_details": {
+ "x-ms-client-name": "OrganizationDetails",
+ "$ref": "#/definitions/OrganizationDetails",
+ "description": "Details of the organization as provided to the issuer."
+ },
+ "attributes": {
+ "$ref": "#/definitions/IssuerAttributes",
+ "description": "Attributes of the issuer object."
+ }
+ },
+ "description": "The certificate issuer set parameters.",
+ "required": [ "provider" ]
+ },
+ "CertificateIssuerUpdateParameters": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "The issuer provider."
+ },
+ "credentials": {
+ "$ref": "#/definitions/IssuerCredentials",
+ "description": "The credentials to be used for the issuer."
+ },
+ "org_details": {
+ "x-ms-client-name": "OrganizationDetails",
+ "$ref": "#/definitions/OrganizationDetails",
+ "description": "Details of the organization as provided to the issuer."
+ },
+ "attributes": {
+ "$ref": "#/definitions/IssuerAttributes",
+ "description": "Attributes of the issuer object."
+ }
+ },
+ "description": "The certificate issuer update parameters."
+ },
+ "CertificateOperationUpdateParameter": {
+ "properties": {
+ "cancellation_requested": {
+ "type": "boolean",
+ "description": "Indicates if cancellation was requested on the certificate operation."
+ }
+ },
+ "description": "The certificate operation update parameters.",
+ "required": [ "cancellation_requested" ]
+ },
+ "KeyOperationResult": {
+ "properties": {
+ "kid": {
+ "type": "string",
+ "description": "Key identifier",
+ "readOnly": true
+ },
+ "value": {
+ "x-ms-client-name": "result",
+ "type": "string",
+ "format": "base64url",
+ "readOnly": true
+ }
+ },
+ "description": "The key operation result."
+ },
+ "KeyVerifyResult": {
+ "properties": {
+ "value": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "True if the signature is verified, otherwise false."
+ }
+ },
+ "description": "The key verify result."
+ },
+ "KeyListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of keys in the key vault along with a link to the next page of keys."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of keys."
+ }
+ },
+ "description": "The key list result."
+ },
+ "DeletedKeyListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedKeyItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of deleted keys."
+ }
+ },
+ "description": "A list of keys that have been deleted in this vault."
+ },
+ "SecretListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecretItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of secrets in the key vault along with a link to the next page of secrets."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of secrets."
+ }
+ },
+ "description": "The secret list result."
+ },
+ "DeletedSecretListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedSecretItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of the deleted secrets in the vault along with a link to the next page of deleted secrets"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of deleted secrets."
+ }
+ },
+ "description": "The deleted secret list result"
+ },
+ "CertificateListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of certificates in the key vault along with a link to the next page of certificates."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of certificates."
+ }
+ },
+ "description": "The certificate list result."
+ },
+ "DeletedCertificateListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedCertificateItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of deleted certificates."
+ }
+ },
+ "description": "A list of certificates that have been deleted in this vault."
+ },
+ "CertificateIssuerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateIssuerItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of certificate issuers in the key vault along with a link to the next page of certificate issuers."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of certificate issuers."
+ }
+ },
+ "description": "The certificate issuer list result."
+ },
+ "BackupKeyResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "format": "base64url",
+ "readOnly": true,
+ "description": "The backup blob containing the backed up key."
+ }
+ },
+ "description": "The backup key result, containing the backup blob."
+ },
+ "BackupSecretResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "format": "base64url",
+ "readOnly": true,
+ "description": "The backup blob containing the backed up secret."
+ }
+ },
+ "description": "The backup secret result, containing the backup blob."
+ },
+ "BackupStorageResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "format": "base64url",
+ "readOnly": true,
+ "description": "The backup blob containing the backed up storage account."
+ }
+ },
+ "description": "The backup storage result, containing the backup blob."
+ },
+ "PendingCertificateSigningRequestResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The pending certificate signing request as Base64 encoded string."
+ }
+ },
+ "description": "The pending certificate signing request result."
+ },
+ "StorageAccountAttributes": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "the enabled state of the object."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Creation time in UTC."
+ },
+ "updated": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Last updated time in UTC."
+ },
+ "recoveryLevel": {
+ "type": "string",
+ "description": "Reflects the deletion recovery level currently in effect for storage accounts in the current vault. If it contains 'Purgeable' the storage account can be permanently deleted by a privileged user; otherwise, only the system can purge the storage account, at the end of the retention interval.",
+ "enum": [ "Purgeable", "Recoverable+Purgeable", "Recoverable", "Recoverable+ProtectedSubscription" ],
+ "x-ms-enum": {
+ "name": "DeletionRecoveryLevel",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "description": "The storage account management attributes."
+ },
+ "StorageBundle": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The storage account id.",
+ "readOnly": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The storage account resource id.",
+ "readOnly": true
+ },
+ "activeKeyName": {
+ "type": "string",
+ "description": "The current active storage account key name.",
+ "readOnly": true
+ },
+ "autoRegenerateKey": {
+ "type": "boolean",
+ "description": "whether keyvault should manage the storage account for the user.",
+ "readOnly": true
+ },
+ "regenerationPeriod": {
+ "type": "string",
+ "description": "The key regeneration time duration specified in ISO-8601 format.",
+ "readOnly": true
+ },
+ "attributes": {
+ "$ref": "#/definitions/StorageAccountAttributes",
+ "description": "The storage account attributes.",
+ "readOnly": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs",
+ "readOnly": true
+ }
+ },
+ "description": "A Storage account bundle consists of key vault storage account details plus its attributes."
+ },
+ "DeletedStorageBundle": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/StorageBundle"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted storage account."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the storage account is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the storage account was deleted, in UTC"
+ }
+ },
+ "description": "A deleted storage account bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged."
+ },
+ "StorageAccountCreateParameters": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Storage account resource id."
+ },
+ "activeKeyName": {
+ "type": "string",
+ "description": "Current active storage account key name."
+ },
+ "autoRegenerateKey": {
+ "type": "boolean",
+ "description": "whether keyvault should manage the storage account for the user."
+ },
+ "regenerationPeriod": {
+ "type": "string",
+ "description": "The key regeneration time duration specified in ISO-8601 format."
+ },
+ "attributes": {
+ "x-ms-client-name": "StorageAccountAttributes",
+ "$ref": "#/definitions/StorageAccountAttributes",
+ "description": "The attributes of the storage account."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The storage account create parameters.",
+ "required": [ "resourceId", "activeKeyName", "autoRegenerateKey" ]
+ },
+ "StorageAccountUpdateParameters": {
+ "properties": {
+ "activeKeyName": {
+ "type": "string",
+ "description": "The current active storage account key name."
+ },
+ "autoRegenerateKey": {
+ "type": "boolean",
+ "description": "whether keyvault should manage the storage account for the user."
+ },
+ "regenerationPeriod": {
+ "type": "string",
+ "description": "The key regeneration time duration specified in ISO-8601 format."
+ },
+ "attributes": {
+ "x-ms-client-name": "StorageAccountAttributes",
+ "$ref": "#/definitions/StorageAccountAttributes",
+ "description": "The attributes of the storage account."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The storage account update parameters."
+ },
+ "StorageAccountRegenerteKeyParameters": {
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The storage account key name."
+ }
+ },
+ "description": "The storage account key regenerate parameters.",
+ "required": [ "keyName" ]
+ },
+ "StorageAccountItem": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Storage identifier.",
+ "readOnly": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Storage account resource Id.",
+ "readOnly": true
+ },
+ "attributes": {
+ "$ref": "#/definitions/StorageAccountAttributes",
+ "description": "The storage account management attributes.",
+ "readOnly": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs.",
+ "readOnly": true
+ }
+ },
+ "description": "The storage account item containing storage account metadata."
+ },
+ "DeletedStorageAccountItem": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/StorageAccountItem"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted storage account."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the storage account is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the storage account was deleted, in UTC"
+ }
+ },
+ "description": "The deleted storage account item containing metadata about the deleted storage account."
+ },
+ "StorageListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccountItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of storage accounts in the key vault along with a link to the next page of storage accounts."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of storage accounts."
+ }
+ },
+ "description": "The storage accounts list result."
+ },
+ "DeletedStorageListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedStorageAccountItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of the deleted storage accounts in the vault along with a link to the next page of deleted storage accounts"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of deleted storage accounts."
+ }
+ },
+ "description": "The deleted storage account list result"
+ },
+ "SasDefinitionAttributes": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "the enabled state of the object."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Creation time in UTC."
+ },
+ "updated": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Last updated time in UTC."
+ },
+ "recoveryLevel": {
+ "type": "string",
+ "description": "Reflects the deletion recovery level currently in effect for SAS definitions in the current vault. If it contains 'Purgeable' the SAS definition can be permanently deleted by a privileged user; otherwise, only the system can purge the SAS definition, at the end of the retention interval.",
+ "enum": [ "Purgeable", "Recoverable+Purgeable", "Recoverable", "Recoverable+ProtectedSubscription" ],
+ "x-ms-enum": {
+ "name": "DeletionRecoveryLevel",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "description": "The SAS definition management attributes."
+ },
+ "SasDefinitionBundle": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The SAS definition id.",
+ "readOnly": true
+ },
+ "sid": {
+ "x-ms-client-name": "SecretId",
+ "type": "string",
+ "description": "Storage account SAS definition secret id.",
+ "readOnly": true
+ },
+ "templateUri": {
+ "type": "string",
+ "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template.",
+ "readOnly": true
+ },
+ "sasType": {
+ "type": "string",
+ "description": "The type of SAS token the SAS definition will create.",
+ "enum": [ "account", "service" ],
+ "x-ms-enum": {
+ "name": "SasTokenType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "validityPeriod": {
+ "type": "string",
+ "description": "The validity period of SAS tokens created according to the SAS definition.",
+ "readOnly": true
+ },
+ "attributes": {
+ "$ref": "#/definitions/SasDefinitionAttributes",
+ "description": "The SAS definition attributes.",
+ "readOnly": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs",
+ "readOnly": true
+ }
+ },
+ "description": "A SAS definition bundle consists of key vault SAS definition details plus its attributes."
+ },
+ "DeletedSasDefinitionBundle": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SasDefinitionBundle"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted SAS definition."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the SAS definition is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the SAS definition was deleted, in UTC"
+ }
+ },
+ "description": "A deleted SAS definition bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged."
+ },
+ "SasDefinitionItem": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The storage SAS identifier.",
+ "readOnly": true
+ },
+ "sid": {
+ "x-ms-client-name": "SecretId",
+ "type": "string",
+ "description": "The storage account SAS definition secret id.",
+ "readOnly": true
+ },
+ "attributes": {
+ "$ref": "#/definitions/SasDefinitionAttributes",
+ "description": "The SAS definition management attributes.",
+ "readOnly": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs.",
+ "readOnly": true
+ }
+ },
+ "description": "The SAS definition item containing storage SAS definition metadata."
+ },
+ "DeletedSasDefinitionItem": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SasDefinitionItem"
+ }
+ ],
+ "properties": {
+ "recoveryId": {
+ "type": "string",
+ "description": "The url of the recovery object, used to identify and recover the deleted SAS definition."
+ },
+ "scheduledPurgeDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the SAS definition is scheduled to be purged, in UTC"
+ },
+ "deletedDate": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "The time when the SAS definition was deleted, in UTC"
+ }
+ },
+ "description": "The deleted SAS definition item containing metadata about the deleted SAS definition."
+ },
+ "SasDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SasDefinitionItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of SAS defintions."
+ }
+ },
+ "description": "The storage account SAS definition list result."
+ },
+ "DeletedSasDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedSasDefinitionItem"
+ },
+ "readOnly": true,
+ "description": "A response message containing a list of the deleted SAS definitions in the vault along with a link to the next page of deleted sas definitions"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of deleted SAS definitions."
+ }
+ },
+ "description": "The deleted SAS definition list result"
+ },
+ "SasDefinitionCreateParameters": {
+ "properties": {
+ "templateUri": {
+ "type": "string",
+ "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template."
+ },
+ "sasType": {
+ "type": "string",
+ "description": "The type of SAS token the SAS definition will create.",
+ "enum": [ "account", "service" ],
+ "x-ms-enum": {
+ "name": "SasTokenType",
+ "modelAsString": true
+ }
+ },
+ "validityPeriod": {
+ "type": "string",
+ "description": "The validity period of SAS tokens created according to the SAS definition."
+ },
+ "attributes": {
+ "x-ms-client-name": "SasDefinitionAttributes",
+ "$ref": "#/definitions/SasDefinitionAttributes",
+ "description": "The attributes of the SAS definition."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The SAS definition create parameters.",
+ "required": [ "templateUri", "sasType", "validityPeriod" ]
+ },
+ "SasDefinitionUpdateParameters": {
+ "properties": {
+ "templateUri": {
+ "type": "string",
+ "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template."
+ },
+ "sasType": {
+ "type": "string",
+ "description": "The type of SAS token the SAS definition will create.",
+ "enum": [ "account", "service" ],
+ "x-ms-enum": {
+ "name": "SasTokenType",
+ "modelAsString": true
+ }
+ },
+ "validityPeriod": {
+ "type": "string",
+ "description": "The validity period of SAS tokens created according to the SAS definition."
+ },
+ "attributes": {
+ "x-ms-client-name": "SasDefinitionAttributes",
+ "$ref": "#/definitions/SasDefinitionAttributes",
+ "description": "The attributes of the SAS definition."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "The SAS definition update parameters."
+ },
+ "KeyVaultError": {
+ "properties": {
+ "error": {
+ "readOnly": true,
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "description": "The key vault error exception."
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error code."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error message."
+ },
+ "innererror": {
+ "x-ms-client-name": "innerError",
+ "readOnly": true,
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "description": "The key vault server error."
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json
index 506ddff864c1..d5899637e785 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json
@@ -34,7 +34,7 @@
],
"operationId": "CreateKey",
"summary": "Creates a new key, stores it, then returns key parameters and attributes to the client.",
- "description": "The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key.",
+ "description": "The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.",
"parameters": [
{
"name": "key-name",
@@ -81,7 +81,7 @@
],
"operationId": "ImportKey",
"summary": "Imports an externally created key, stores it, and returns key parameters and attributes to the client.",
- "description": "The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key.",
+ "description": "The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.",
"parameters": [
{
"name": "key-name",
@@ -126,7 +126,7 @@
],
"operationId": "DeleteKey",
"summary": "Deletes a key of any type from storage in Azure Key Vault.",
- "description": "The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations.",
+ "description": "The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the keys/delete permission.",
"parameters": [
{
"name": "key-name",
@@ -162,7 +162,7 @@
],
"operationId": "UpdateKey",
"summary": "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Azure Key Vault.",
- "description": "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed.",
+ "description": "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed. This operation requires the keys/update permission.",
"parameters": [
{
"name": "key-name",
@@ -213,7 +213,7 @@
],
"operationId": "GetKey",
"summary": "Gets the public part of a stored key.",
- "description": "The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response.",
+ "description": "The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response. This operation requires the keys/get permission.",
"parameters": [
{
"name": "key-name",
@@ -256,7 +256,7 @@
],
"operationId": "GetKeyVersions",
"summary": "Retrieves a list of individual key versions with the same key name.",
- "description": "The full key identifier, attributes, and tags are provided in the response.",
+ "description": "The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.",
"parameters": [
{
"name": "key-name",
@@ -305,7 +305,7 @@
],
"operationId": "GetKeys",
"summary": "List keys in the specified vault.",
- "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier,attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. Authorization: Requires the keys/list permission.",
+ "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.",
"parameters": [
{
"name": "maxresults",
@@ -347,7 +347,7 @@
],
"operationId": "BackupKey",
"summary": "Requests that a backup of the specified key be downloaded to the client.",
- "description": "The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area.",
+ "description": "The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This operation requires the key/backup permission.",
"parameters": [
{
"name": "key-name",
@@ -383,7 +383,7 @@
],
"operationId": "RestoreKey",
"summary": "Restores a backed up key to a vault.",
- "description": "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault.",
+ "description": "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault. This operation requires the keys/restore permission.",
"parameters": [
{
"name": "parameters",
@@ -422,7 +422,7 @@
],
"operationId": "encrypt",
"summary": "Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.",
- "description": "The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material.",
+ "description": "The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/encypt permission.",
"parameters": [
{
"name": "key-name",
@@ -475,7 +475,7 @@
],
"operationId": "decrypt",
"summary": "Decrypts a single block of encrypted data.",
- "description": "The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key.",
+ "description": "The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/decrypt permission.",
"parameters": [
{
"name": "key-name",
@@ -528,7 +528,7 @@
],
"operationId": "sign",
"summary": "Creates a signature from a digest using the specified key.",
- "description": "The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key.",
+ "description": "The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key. This operation requires the keys/sign permission.",
"parameters": [
{
"name": "key-name",
@@ -581,7 +581,7 @@
],
"operationId": "verify",
"summary": "Verifies a signature using a specified key.",
- "description": "The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key.",
+ "description": "The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key. This operation requires the keys/verify permission.",
"parameters": [
{
"name": "key-name",
@@ -634,7 +634,7 @@
],
"operationId": "wrapKey",
"summary": "Wraps a symmetric key using a specified key.",
- "description": "The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material.",
+ "description": "The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/wrapKey permission.",
"parameters": [
{
"name": "key-name",
@@ -687,7 +687,7 @@
],
"operationId": "unwrapKey",
"summary": "Unwraps a symmetric key using the specified key that was initially used for wrapping that key.",
- "description": "The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key.",
+ "description": "The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/unwrapKey permission.",
"parameters": [
{
"name": "key-name",
@@ -740,7 +740,7 @@
],
"operationId": "GetDeletedKeys",
"summary": "Lists the deleted keys in the specified vault.",
- "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. The Get Deleted Keys operation is applicable for soft-delete enabled vaults. It requires the keys/list permission to be enabled on this vault. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault.",
+ "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. This operation includes deletion-specific information. The Get Deleted Keys operation is applicable for vaults enabled for soft-delete. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/list permission.",
"parameters": [
{
"name": "maxresults",
@@ -782,7 +782,7 @@
],
"operationId": "GetDeletedKey",
"summary": "Gets the public part of a deleted key.",
- "description": "The Get Deleted Key operation is applicable for soft-delete enabled vaults. It requires the keys/list permission to be enabled on this vault. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault.",
+ "description": "The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/get permission. ",
"parameters": [
{
"name": "key-name",
@@ -816,7 +816,7 @@
],
"operationId": "PurgeDeletedKey",
"summary": "Permanently deletes the specified key.",
- "description": "The Purge Deleted Key operation is applicable for soft-delete enabled vaults. It requires the keys/purge permission to be enabled on this vault. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault.",
+ "description": "The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/purge permission.",
"parameters": [
{
"name": "key-name",
@@ -849,7 +849,7 @@
],
"operationId": "RecoverDeletedKey",
"summary": "Recovers the deleted key to its latest version.",
- "description": "The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. It requires the keys/recover permissions to be enabled on this vault. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults.",
+ "description": "The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation requires the keys/recover permission.",
"parameters": [
{
"name": "key-name",
@@ -885,7 +885,7 @@
],
"operationId": "SetSecret",
"summary": "Sets a secret in a specified key vault.",
- "description": " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret.",
+ "description": " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret. This operation requires the secrets/set permission.",
"parameters": [
{
"name": "secret-name",
@@ -930,7 +930,7 @@
],
"operationId": "DeleteSecret",
"summary": "Deletes a secret from a specified key vault.",
- "description": "The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret.",
+ "description": "The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret. This operation requires the secrets/delete permission.",
"parameters": [
{
"name": "secret-name",
@@ -966,7 +966,7 @@
],
"operationId": "UpdateSecret",
"summary": "Updates the attributes associated with a specified secret in a given key vault.",
- "description": "The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed.",
+ "description": "The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed. This operation requires the secrets/set permission.",
"parameters": [
{
"name": "secret-name",
@@ -1017,7 +1017,7 @@
],
"operationId": "GetSecret",
"summary": "Get a specified secret from a given key vault.",
- "description": "The GET operation is applicable to any secret stored in Azure Key Vault.",
+ "description": "The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission.",
"parameters": [
{
"name": "secret-name",
@@ -1059,8 +1059,8 @@
"Secrets"
],
"operationId": "GetSecrets",
- "summary": "List secrets in a specified key vault",
- "description": "The LIST operation is applicable to the entire vault, however only the base secret identifier and attributes are provided in the response. Individual secret versions are not listed in the response.",
+ "summary": "List secrets in a specified key vault.",
+ "description": "The Get Secrets operation is applicable to the entire vault. However, only the base secret identifier and its attributes are provided in the response. Individual secret versions are not listed in the response. This operation requires the secrets/list permission.",
"parameters": [
{
"name": "maxresults",
@@ -1070,7 +1070,7 @@
"format": "int32",
"minimum": 1,
"maximum": 25,
- "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1101,8 +1101,8 @@
"Secrets"
],
"operationId": "GetSecretVersions",
- "summary": "List the versions of the specified secret.",
- "description": "The LIST VERSIONS operation can be applied to all versions having the same secret name in the same key vault. The full secret identifier and attributes are provided in the response. No values are returned for the secrets and only current versions of a secret are listed.",
+ "summary": "List all versions of the specified secret.",
+ "description": "The full secret identifier and attributes are provided in the response. No values are returned for the secrets. This operations requires the secrets/list permission.",
"parameters": [
{
"name": "secret-name",
@@ -1119,7 +1119,7 @@
"format": "int32",
"minimum": 1,
"maximum": 25,
- "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results."
+ "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1127,7 +1127,7 @@
],
"responses": {
"200": {
- "description": "A response message containing a list of secrets along with a link to the next page of secrets",
+ "description": "A response message containing a list of secrets along with a link to the next page of secrets.",
"schema": {
"$ref": "#/definitions/SecretListResult"
}
@@ -1150,7 +1150,8 @@
"DeletedSecrets"
],
"operationId": "GetDeletedSecrets",
- "description": "List deleted secrets in the specified vault. Authorization: requires the secrets/list permission.",
+ "summary": "Lists deleted secrets for the specified vault.",
+ "description": "The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission.",
"parameters": [
{
"name": "maxresults",
@@ -1168,7 +1169,7 @@
],
"responses": {
"200": {
- "description": "A response message containing a list of deleted secrets in the vault along with a link to the next page of deleted secrets",
+ "description": "A response message containing a list of deleted secrets in the vault, along with a link to the next page of deleted secrets.",
"schema": {
"$ref": "#/definitions/DeletedSecretListResult"
}
@@ -1191,14 +1192,15 @@
"DeletedSecrets"
],
"operationId": "GetDeletedSecret",
- "description": "Retrieves the deleted secret information plus its attributes. Authorization: requires the secrets/get permission.",
+ "summary": "Gets the specified deleted secret.",
+ "description": "The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission.",
"parameters": [
{
"name": "secret-name",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the secret"
+ "description": "The name of the secret."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1206,7 +1208,7 @@
],
"responses": {
"200": {
- "description": "A Secret bundle of the secret and its attributes",
+ "description": "A secret bundle of the secret and its attributes.",
"schema": {
"$ref": "#/definitions/DeletedSecretBundle"
}
@@ -1224,14 +1226,15 @@
"DeletedSecrets"
],
"operationId": "PurgeDeletedSecret",
- "description": "Permanently deletes the specified secret. aka purges the secret. Authorization: requires the secrets/purge permission.",
+ "summary": "Permanently deletes the specified secret.",
+ "description": "The purge deleted secret operation removes the secret permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the secrets/purge permission.",
"parameters": [
{
"name": "secret-name",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the secret"
+ "description": "The name of the secret."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1256,14 +1259,15 @@
"DeletedSecrets"
],
"operationId": "RecoverDeletedSecret",
- "description": "Recovers the deleted secret back to its current version under /secrets. Authorization: requires the secrets/recover permission.",
+ "summary": "Recovers the deleted secret to the latest version.",
+ "description": "Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the secrets/recover permission.",
"parameters": [
{
"name": "secret-name",
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the deleted secret"
+ "description": "The name of the deleted secret."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1271,7 +1275,7 @@
],
"responses": {
"200": {
- "description": "A Secret bundle of the original secret and its attributes",
+ "description": "A Secret bundle of the original secret and its attributes.",
"schema": {
"$ref": "#/definitions/SecretBundle"
}
@@ -1291,7 +1295,8 @@
"Secrets"
],
"operationId": "BackupSecret",
- "description": "Requests that a backup of the specified secret be downloaded to the client. Authorization: requires the secrets/backup permission.",
+ "summary": "Backs up the specified secret.",
+ "description": "Requests that a backup of the specified secret be downloaded to the client. All versions of the secret will be downloaded. This operation requires the secrets/backup permission.",
"parameters": [
{
"name": "secret-name",
@@ -1326,7 +1331,8 @@
"Secrets"
],
"operationId": "RestoreSecret",
- "description": "Restores a backed up secret to a vault. Authorization: requires the secrets/restore permission.",
+ "summary": "Restores a backed up secret to a vault.",
+ "description": "Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission.",
"parameters": [
{
"name": "parameters",
@@ -1365,7 +1371,7 @@
],
"operationId": "GetCertificates",
"summary": "List certificates in a specified key vault",
- "description": "The GetCertificates operation returns the set of certificates resources in the specified key vault.",
+ "description": "The GetCertificates operation returns the set of certificates resources in the specified key vault. This operation requires the certificates/list permission.",
"parameters": [
{
"name": "maxresults",
@@ -1407,7 +1413,7 @@
],
"operationId": "DeleteCertificate",
"summary": "Deletes a certificate from a specified key vault.",
- "description": "Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object.",
+ "description": "Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object. This operation requires the certificates/delete permission.",
"parameters": [
{
"name": "certificate-name",
@@ -1442,7 +1448,7 @@
"Certificates"
],
"operationId": "SetCertificateContacts",
- "description": "Sets the certificate contacts for the specified key vault. Authorization: requires the certificates/managecontacts permission.",
+ "description": "Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission.",
"summary": "Sets the certificate contacts for the specified key vault.",
"parameters": [
{
@@ -1479,7 +1485,7 @@
],
"operationId": "GetCertificateContacts",
"summary": "Lists the certificate contacts for a specified key vault.",
- "description": "The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault.",
+ "description": "The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1505,7 +1511,7 @@
"Certificates"
],
"operationId": "DeleteCertificateContacts",
- "description": "Deletes the certificate contacts for a specified key vault certificate. Authorization: requires the certificates/managecontacts permission.",
+ "description": "Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission.",
"summary": "Deletes the certificate contacts for a specified key vault.",
"parameters": [
{
@@ -1535,7 +1541,7 @@
],
"operationId": "GetCertificateIssuers",
"summary": "List certificate issuers for a specified key vault.",
- "description": "The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault",
+ "description": "The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.",
"parameters": [
{
"name": "maxresults",
@@ -1577,7 +1583,7 @@
],
"operationId": "SetCertificateIssuer",
"summary": "Sets the specified certificate issuer.",
- "description": "The SetCertificateIssuer operation adds or updates the specified certificate issuer.",
+ "description": "The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission.",
"parameters": [
{
"name": "issuer-name",
@@ -1621,7 +1627,7 @@
],
"operationId": "UpdateCertificateIssuer",
"summary": "Updates the specified certificate issuer.",
- "description": "The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity.",
+ "description": "The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission.",
"parameters": [
{
"name": "issuer-name",
@@ -1665,7 +1671,7 @@
],
"operationId": "GetCertificateIssuer",
"summary": "Lists the specified certificate issuer.",
- "description": "The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault",
+ "description": "The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.",
"parameters": [
{
"name": "issuer-name",
@@ -1699,7 +1705,7 @@
],
"operationId": "DeleteCertificateIssuer",
"summary": "Deletes the specified certificate issuer.",
- "description": "The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault.",
+ "description": "The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission.",
"parameters": [
{
"name": "issuer-name",
@@ -1734,8 +1740,8 @@
"Certificates"
],
"operationId": "CreateCertificate",
- "summary": "Creates a new certificate. ",
- "description": "If this is the first version, the certificate resource is created.",
+ "summary": "Creates a new certificate.",
+ "description": "If this is the first version, the certificate resource is created. This operation requires the certificates/create permission.",
"parameters": [
{
"name": "certificate-name",
@@ -1782,7 +1788,7 @@
],
"operationId": "ImportCertificate",
"summary": "Imports a certificate into a specified key vault.",
- "description": "Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates.",
+ "description": "Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission.",
"parameters": [
{
"name": "certificate-name",
@@ -1829,7 +1835,7 @@
],
"operationId": "GetCertificateVersions",
"summary": "List the versions of a certificate.",
- "description": "The GetCertificateVersions operation returns the versions of a certificate in the specified key vault",
+ "description": "The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission.",
"parameters": [
{
"name": "certificate-name",
@@ -1878,7 +1884,7 @@
],
"operationId": "GetCertificatePolicy",
"summary": "Lists the policy for a certificate.",
- "description": "The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault",
+ "description": "The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.",
"parameters": [
{
"name": "certificate-name",
@@ -1912,7 +1918,7 @@
],
"operationId": "UpdateCertificatePolicy",
"summary": "Updates the policy for a certificate.",
- "description": "Set specified members in the certificate policy. Leave others as null.",
+ "description": "Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission.",
"parameters": [
{
"name": "certificate-name",
@@ -1957,7 +1963,7 @@
],
"operationId": "UpdateCertificate",
"summary": "Updates the specified attributes associated with the given certificate.",
- "description": "The UpdateCertificate operation applies the specified update on the given certificate; note the only elements being updated are the certificate's attributes.",
+ "description": "The UpdateCertificate operation applies the specified update on the given certificate; the only elements updated are the certificate's attributes. This operation requires the certificates/update permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2007,7 +2013,8 @@
"Certificates"
],
"operationId": "GetCertificate",
- "description": "Gets information about a specified certificate. Authorization: requires the certificates/get permission.",
+ "summary": "Gets information about a certificate.",
+ "description": "Gets information about a specific certificate. This operation requires the certificates/get permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2049,7 +2056,8 @@
"Certificates"
],
"operationId": "UpdateCertificateOperation",
- "description": "Updates a certificate operation. Authorization: requires the certificates/update permission.",
+ "summary": "Updates a certificate operation.",
+ "description": "Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2092,7 +2100,8 @@
"Certificates"
],
"operationId": "GetCertificateOperation",
- "description": "Gets the operation associated with a specified certificate. Authorization: requires the certificates/get permission.",
+ "summary": "Gets the creation operation of a certificate.",
+ "description": "Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2125,7 +2134,8 @@
"Certificates"
],
"operationId": "DeleteCertificateOperation",
- "description": "Deletes the operation for a specified certificate. Authorization: requires the certificates/update permission.",
+ "summary": "Deletes the creation operation for a specific certificate.",
+ "description": "Deletes the creation operation for a specified certificate that is in the process of being created. The certificate is no longer created. This operation requires the certificates/update permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2161,7 +2171,7 @@
],
"operationId": "MergeCertificate",
"summary": "Merges a certificate or a certificate chain with a key pair existing on the server.",
- "description": "The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. Authorization: requires the certificates/update permission.",
+ "description": "The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2206,8 +2216,8 @@
"DeletedCertificates"
],
"operationId": "GetDeletedCertificates",
- "summary": "Lists the deleted certificates in the specified vault, currently available for recovery.",
- "description": "The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging.",
+ "summary": "Lists the deleted certificates in the specified vault currently available for recovery.",
+ "description": "The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.",
"parameters": [
{
"name": "maxresults",
@@ -2249,7 +2259,7 @@
],
"operationId": "GetDeletedCertificate",
"summary": "Retrieves information about the specified deleted certificate.",
- "description": "The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level.",
+ "description": "The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. This operation requires the certificates/get permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2283,7 +2293,7 @@
],
"operationId": "PurgeDeletedCertificate",
"summary": "Permanently deletes the specified deleted certificate.",
- "description": "The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. Requires the explicit granting of the 'purge' permission.",
+ "description": "The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2316,7 +2326,7 @@
],
"operationId": "RecoverDeletedCertificate",
"summary": "Recovers the deleted certificate back to its current version under /certificates.",
- "description": "The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes).",
+ "description": "The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes). This operation requires the certificates/recover permission.",
"parameters": [
{
"name": "certificate-name",
@@ -2351,7 +2361,7 @@
"Storage"
],
"operationId": "GetStorageAccounts",
- "description": "List storage accounts managed by specified key vault",
+ "description": "List storage accounts managed by the specified key vault. This operation requires the storage/list permission.",
"parameters": [
{
"name": "maxresults",
@@ -2397,7 +2407,7 @@
"Storage"
],
"operationId": "DeleteStorageAccount",
- "description": "Deletes a storage account.",
+ "description": "Deletes a storage account. This operation requires the storage/delete permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2436,7 +2446,7 @@
"Storage"
],
"operationId": "GetStorageAccount",
- "description": "Gets information about a specified storage account.",
+ "description": "Gets information about a specified storage account. This operation requires the storage/get permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2475,7 +2485,7 @@
"Storage"
],
"operationId": "SetStorageAccount",
- "description": "Creates or updates a new storage account.",
+ "description": "Creates or updates a new storage account. This operation requires the storage/set permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2524,7 +2534,7 @@
"Storage"
],
"operationId": "UpdateStorageAccount",
- "description": "Updates the specified attributes associated with the given storage account.",
+ "description": "Updates the specified attributes associated with the given storage account. This operation requires the storage/set/update permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2575,7 +2585,7 @@
"Storage"
],
"operationId": "RegenerateStorageAccountKey",
- "description": "Regenerates the specified key value for the given storage account.",
+ "description": "Regenerates the specified key value for the given storage account. This operation requires the storage/regeneratekey permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2626,7 +2636,7 @@
"Storage"
],
"operationId": "GetSasDefinitions",
- "description": "List storage SAS definitions for the given storage account.",
+ "description": "List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2680,7 +2690,7 @@
"Storage"
],
"operationId": "DeleteSasDefinition",
- "description": "Deletes a SAS definition from a specified storage account.",
+ "description": "Deletes a SAS definition from a specified storage account. This operation requires the storage/deletesas permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2727,7 +2737,7 @@
"Storage"
],
"operationId": "GetSasDefinition",
- "description": "Gets information about a SAS definition for the specified storage account.",
+ "description": "Gets information about a SAS definition for the specified storage account. This operation requires the storage/getsas permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2774,7 +2784,7 @@
"Storage"
],
"operationId": "SetSasDefinition",
- "description": "Creates or updates a new SAS definition for the specified storage account.",
+ "description": "Creates or updates a new SAS definition for the specified storage account. This operation requires the storage/setsas permission.",
"parameters": [
{
"name": "storage-account-name",
@@ -2831,7 +2841,7 @@
"Storage"
],
"operationId": "UpdateSasDefinition",
- "description": "Updates the specified attributes associated with the given SAS definition.",
+ "description": "Updates the specified attributes associated with the given SAS definition. This operation requires the storage/setsas permission.",
"parameters": [
{
"name": "storage-account-name",
diff --git a/specification/keyvault/data-plane/readme.md b/specification/keyvault/data-plane/readme.md
index b5c29e099f4b..444cb40a141b 100644
--- a/specification/keyvault/data-plane/readme.md
+++ b/specification/keyvault/data-plane/readme.md
@@ -29,6 +29,14 @@ openapi-type: data-plane
tag: package-2016-10
```
+### Tag: package-7.0-preview
+
+These settings apply only when `--tag=package-7.0-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-7.0-preview'
+input-file:
+- Microsoft.KeyVault/preview/7.0/keyvault.json
+```
### Tag: package-2016-10
@@ -50,6 +58,20 @@ input-file:
---
+# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -104,6 +126,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-10
+ - tag: package-2015-06
+```
+
### Tag: package-2016-10 and go
These settings apply only when `--tag=package-2016-10 --go` is specified on the command line.
@@ -120,4 +150,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.keyvault
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-keyvault
```
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/checkVaultNameAvailability.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/checkVaultNameAvailability.json
new file mode 100644
index 000000000000..cb610fe2f456
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/checkVaultNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters":{
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01",
+ "vaultName":{
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults"
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "nameAvailable":true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/createSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/createSecret.json
new file mode 100644
index 000000000000..c1c3bb396d63
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/createSecret.json
@@ -0,0 +1,50 @@
+{
+ "parameters":{
+ "resourceGroupName":"sample-group",
+ "vaultName":"sample-vault",
+ "secretName":"secret-name",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01",
+ "parameters":{
+ "properties":{
+ "value": "secret-value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514938738,
+ "updated": 1514938738
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514938738,
+ "updated": 1514938738
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/createVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/createVault.json
new file mode 100644
index 000000000000..88c7bd8e9192
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/createVault.json
@@ -0,0 +1,204 @@
+{
+ "parameters":{
+ "resourceGroupName":"sample-resource-group",
+ "vaultName":"sample-vault",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01",
+ "parameters":{
+ "location": "westus",
+ "properties":{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "sku": {"family": "A", "name": "standard"},
+ "accessPolicies":[{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{},
+ "properties":{
+ "sku":{"family":"A","name":"standard"},
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "accessPolicies":[{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }],
+ "enabledForDeployment":true,
+ "enabledForDiskEncryption":true,
+ "enabledForTemplateDeployment":true,
+ "vaultUri":"https://sample-vault.vault.azure.net"
+ }
+ }
+ },
+ "201":{
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{},
+ "properties":{
+ "sku":{"family":"A","name":"standard"},
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "accessPolicies":[{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }],
+ "enabledForDeployment":true,
+ "enabledForDiskEncryption":true,
+ "enabledForTemplateDeployment":true,
+ "vaultUri":"https://sample-vault.vault.azure.net"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/deleteVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/deleteVault.json
new file mode 100644
index 000000000000..6ab4d001a22b
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/deleteVault.json
@@ -0,0 +1,14 @@
+{
+ "parameters":{
+ "resourceGroupName":"sample-resource-group",
+ "vaultName":"sample-vault",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01"
+ },
+ "responses":{
+ "200":{
+ "headers":{},
+ "body":""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getDeletedVault.json
new file mode 100644
index 000000000000..4130a3cdf98e
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getDeletedVault.json
@@ -0,0 +1,25 @@
+{
+ "parameters":{
+ "vaultName":"sample-vault",
+ "location":"westus",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01"
+ },
+ "responses":{
+ "200":{
+ "headers":{},
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/deletedVaults",
+ "properties":{
+ "vaultId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "location":"westus",
+ "tags":{},
+ "deletionDate":"2017-01-01T00:00:59Z",
+ "scheduledPurgeDate":"2017-04-01T00:00:59Z"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getSecret.json
new file mode 100644
index 000000000000..b04c2728535a
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getSecret.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "secretName":"secret-name",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514940950,
+ "updated": 1514940950
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/77445834f7de41bab81d0723bf996860"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getVault.json
new file mode 100644
index 000000000000..839b2360a05b
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/getVault.json
@@ -0,0 +1,77 @@
+{
+ "parameters":{
+ "resourceGroupName":"sample-resource-group",
+ "vaultName":"sample-vault",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{},
+ "properties":{
+ "sku":{"family":"A","name":"standard"},
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "accessPolicies":[{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }],
+ "enabledForDeployment":true,
+ "enabledForDiskEncryption":true,
+ "enabledForTemplateDeployment":true,
+ "vaultUri":"https://sample-vault.vault.azure.net"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listDeletedVaults.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listDeletedVaults.json
new file mode 100644
index 000000000000..701650c06455
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listDeletedVaults.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "$top":1,
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault",
+ "name":"vault-agile-drawer-6404",
+ "type":"Microsoft.KeyVault/deletedVaults",
+ "properties":{
+ "vaultId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "location":"westus",
+ "tags":{},
+ "deletionDate":"2017-01-01T00:00:59Z",
+ "scheduledPurgeDate":"2017-04-01T00:00:59Z"
+ }
+ }
+ ],
+ "nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/deletedVaults?api-version=2016-10-01&%24skiptoken=HY3RaoMwAEX%2fRcbeYhJrnRXKYNWOuqpME0sfNcYui0Yxade19N8ne7hcDlzOvVuKX81eKKmt4G4dooLQwgqsL2NGHUDYV6o68Z4rY1e388RtNvRQn2vNJjEaMSgNvcbneMUcsKg8BFwft8DndQ0w9hu2QOiFLRs4TsNFNHzSMBFsGvTQGvuD%2f5bVuTOw4R03vPkH%2fVqNAlzm5SxfOwh7ACOA8POTlvPjILlaU1ke8jImOc23JCppQVfZnna0DXc4ISc3vSVuRo5zJE6%2bj25C3vwk2v2kEV2mMn7PyOc1DbtNGkonnzuLym1G400uI5QRZj0efw%3d%3d"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listOperations.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listOperations.json
new file mode 100644
index 000000000000..f1925597ef77
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listOperations.json
@@ -0,0 +1,249 @@
+{
+ "parameters": {
+ "api-version": "2016-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.KeyVault/vaults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "View Key Vault",
+ "description": "View the properties of a key vault"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "Update Key Vault",
+ "description": "Create a new key vault or update the properties of an existing key vault"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/delete",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "Delete Key Vault",
+ "description": "Delete a key vault"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/deploy/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "Use Vault for Azure Deployments",
+ "description": "Enables access to secrets in a key vault when deploying Azure resources"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/secrets/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Secret",
+ "operation": "View Secret Properties",
+ "description": "View the properties of a secret, but not its value"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/secrets/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Secret",
+ "operation": "Update Secret",
+ "description": "Create a new secret or update the value of an existing secret"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/accessPolicies/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Access Policy",
+ "operation": "Update Access Policy",
+ "description": "Update an existing access policy by merging or replacing, or add a new access policy to a vault."
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Log Definition",
+ "operation": "Read log definition",
+ "description": "Gets the available logs for a key vault"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "AuditEvent",
+ "displayName": "Audit Logs",
+ "blobDuration": "PT1H"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Diagnostic Settings",
+ "operation": "Read diagnostic setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Diagnostic Settings",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/register/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Subscription",
+ "operation": "Register Subscription",
+ "description": "Registers a subscription"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/unregister/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Subscription",
+ "operation": "Unregister Subscription",
+ "description": "Unregisters a subscription"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/operations/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Operations",
+ "operation": "Available Key Vault Operations",
+ "description": "Lists operations available on Microsoft.KeyVault resource provider"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/checkNameAvailability/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Name Availability",
+ "operation": "Check Name Availability",
+ "description": "Checks that a key vault name is valid and is not in use"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/deletedVaults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Soft Deleted Key Vault",
+ "operation": "View Soft Deleted Vaults",
+ "description": "View the properties of soft deleted key vaults"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/locations/deletedVaults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Soft Deleted Key Vault",
+ "operation": "View Soft Deleted Key Vault",
+ "description": "View the properties of a soft deleted key vault"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/locations/deletedVaults/purge/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Soft Deleted Key Vault",
+ "operation": "Purge Soft Deleted Key Vault",
+ "description": "Purge a soft deleted key vault"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/locations/operationResults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Long Run Operation Result",
+ "operation": "Check Operation Result",
+ "description": "Check the result of a long run operation"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "View HSM pool",
+ "description": "View the properties of an HSM pool"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "Create or Update HSM pool",
+ "description": "Create a new HSM pool of update the properties of an existing HSM pool"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/delete",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "Delete HSM pool",
+ "description": "Delete an HSM pool"
+ }
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/joinVault/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "Join KeyVault to HSM pool",
+ "description": "Join a key vault to an HSM pool"
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Metric Definition",
+ "operation": "Read metric definition",
+ "description": "Gets the available metrics for a key vault"
+ },
+ "properties": {
+ "serviceSpecification": {
+ }
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/locations/deleteVirtualNetworkOrSubnets/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Location",
+ "operation": "Modify Network ACLs containing the deleted Vitual Network or Subnet ",
+ "description": "Notifies Microsoft.KeyVault that a virtual network or subnet is being deleted"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listSecrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listSecrets.json
new file mode 100644
index 000000000000..5256015909f8
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listSecrets.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514941476,
+ "updated": 1514941476
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/40af42fbc10047f8a756a73211492f56"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name2",
+ "name": "secret-name2",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514941476,
+ "updated": 1514941476
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name2",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name2/cd7264a6f56c44d1b594423c80609aae"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVault.json
new file mode 100644
index 000000000000..51691cccfee5
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVault.json
@@ -0,0 +1,24 @@
+{
+ "parameters":{
+ "$filter":"resourceType eq 'Microsoft.KeyVault/vaults'",
+ "$top":1,
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2015-11-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{}
+ }
+ ],
+ "nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?%24filter=resourceType+eq+%27Microsoft.KeyVault%2fvaults%27&%24top=4&api-version=2015-11-01&%24skiptoken=eyJuZXh0UGFydGl0aW9uS2V5IjoiMSE4IVEwTTJNVGMtIiwibmV4dFJvd0tleSI6IjEhMTMyIU5rUTRSVEU1UXpJelFUWXdORGd4UmpoRlFrSXhNVGhFUXpNd01EZEROVVJmVkVkT1RDMU5TVU5TVDFOUFJsUTZNa1ZMUlZsV1FWVk1WRG95UmxaQlZVeFVVeTFUVTFKSExVcEpUVG95UkZSRlUxUTZNa1JXUVZWTVZDMVhSVk5VVlZNLSJ9"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVaultByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVaultByResourceGroup.json
new file mode 100644
index 000000000000..2314816a307c
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVaultByResourceGroup.json
@@ -0,0 +1,81 @@
+{
+ "parameters":{
+ "$top":1,
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "resourceGroupName":"sample-group",
+ "api-version":"2016-10-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{},
+ "properties":{
+ "sku":{"family":"A","name":"premium"},
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "accessPolicies":[
+ {
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "objectId":"00000000-0000-0000-0000-000000000000",
+ "permissions":{
+ "keys":[
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"]
+ }
+ }
+ ],
+ "enabledForDeployment":true,
+ "enabledForDiskEncryption":true,
+ "enabledForTemplateDeployment":true,
+ "vaultUri":"https://sample-vault.vault.azure.net/"
+ }
+ }
+ ],
+ "nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults?api-version=2016-10-01&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVaultBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVaultBySubscription.json
new file mode 100644
index 000000000000..e358b8b1cdbe
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/listVaultBySubscription.json
@@ -0,0 +1,82 @@
+{
+ "parameters":{
+ "$top":1,
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{},
+ "properties":{
+ "sku":{"family":"A","name":"premium"},
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "accessPolicies":[
+ {
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "objectId":"00000000-0000-0000-0000-000000000000",
+ "permissions":{
+ "keys":[
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"]
+ }
+ }
+ ],
+ "enabledForDeployment":true,
+ "enabledForDiskEncryption":true,
+ "enabledForTemplateDeployment":true,
+ "enableSoftDelete":true,
+ "enablePurgeProtection":true,
+ "vaultUri":"https://sample-vault.vault.azure.net/"
+ }
+ }
+ ],
+ "nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?api-version=2016-10-01&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/purgeDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/purgeDeletedVault.json
new file mode 100644
index 000000000000..f8fcf5ad4d24
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/purgeDeletedVault.json
@@ -0,0 +1,16 @@
+{
+ "parameters":{
+ "vaultName":"sample-vault",
+ "location":"westus",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01"
+ },
+ "responses":{
+ "200":{
+ "body":""
+ },
+ "202":{
+ "body":""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateAccessPoliciesAdd.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateAccessPoliciesAdd.json
new file mode 100644
index 000000000000..25c31a6ccb88
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateAccessPoliciesAdd.json
@@ -0,0 +1,64 @@
+{
+ "parameters":{
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "operationKind": "add",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01",
+ "parameters":{
+ "properties":{
+ "accessPolicies":[
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions":{
+ "keys": ["encrypt"],
+ "secrets": ["get"],
+ "certificates": ["get"]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/",
+ "type": "Microsoft.KeyVault/vaults/accessPolicies",
+ "properties": {
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions":{
+ "keys": ["encrypt"],
+ "secrets": ["get"],
+ "certificates": ["get"]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/",
+ "type": "Microsoft.KeyVault/vaults/accessPolicies",
+ "properties": {
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions":{
+ "keys": ["encrypt"],
+ "secrets": ["get"],
+ "certificates": ["get"]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateSecret.json
new file mode 100644
index 000000000000..78cf7db0f407
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateSecret.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "secretName":"secret-name",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-10-01",
+ "parameters": {
+ "properties": {"value": "secret-value2"}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514940684,
+ "updated": 1514940698
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514940684,
+ "updated": 1514940698
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateVault.json
new file mode 100644
index 000000000000..a7f52fcaa26b
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/examples/updateVault.json
@@ -0,0 +1,203 @@
+{
+ "parameters":{
+ "resourceGroupName":"sample-resource-group",
+ "vaultName":"sample-vault",
+ "subscriptionId":"00000000-0000-0000-0000-000000000000",
+ "api-version":"2016-10-01",
+ "parameters":{
+ "properties":{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "sku": {"family": "A", "name": "standard"},
+ "accessPolicies":[{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{},
+ "properties":{
+ "sku":{"family":"A","name":"standard"},
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "accessPolicies":[{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }],
+ "enabledForDeployment":true,
+ "enabledForDiskEncryption":true,
+ "enabledForTemplateDeployment":true,
+ "vaultUri":"https://sample-vault.vault.azure.net"
+ }
+ }
+ },
+ "201":{
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name":"sample-vault",
+ "type":"Microsoft.KeyVault/vaults",
+ "location":"westus",
+ "tags":{},
+ "properties":{
+ "sku":{"family":"A","name":"standard"},
+ "tenantId":"00000000-0000-0000-0000-000000000000",
+ "accessPolicies":[{
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets":[
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates":[
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }],
+ "enabledForDeployment":true,
+ "enabledForDiskEncryption":true,
+ "enabledForTemplateDeployment":true,
+ "vaultUri":"https://sample-vault.vault.azure.net"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json
index 5222a23906a9..5d0d7737044c 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json
@@ -1,20 +1,14 @@
{
"swagger": "2.0",
"info": {
+ "version": "2016-10-01",
"title": "KeyVaultManagementClient",
- "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault.",
- "version": "2016-10-01"
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault."
},
"host": "management.azure.com",
"schemes": [
"https"
],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
"paths": {
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}": {
"put": {
@@ -68,7 +62,82 @@
"$ref": "#/definitions/Vault"
}
}
- }
+ },
+ "x-ms-examples": {
+ "Create a new vault or update an existing vault": {
+ "$ref": "./examples//createVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_Update",
+ "description": "Update a key vault in the specified subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the server belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultPatchParameters"
+ },
+ "description": "Parameters to patch the vault"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Patched vault",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "200": {
+ "description": "Patched vault",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update an existing vault": {
+ "$ref": "./examples//updateVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
},
"delete": {
"tags": [
@@ -102,7 +171,18 @@
"200": {
"description": "OK Response."
}
- }
+ },
+ "x-ms-examples": {
+ "Delete a vault": {
+ "$ref": "./examples//deleteVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
},
"get": {
"tags": [
@@ -139,7 +219,100 @@
"$ref": "#/definitions/Vault"
}
}
- }
+ },
+ "x-ms-examples": {
+ "Retrieve a vault": {
+ "$ref": "./examples//getVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}": {
+ "put": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_UpdateAccessPolicy",
+ "description": "Update access policies in a key vault in the specified subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "name": "operationKind",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "add",
+ "replace",
+ "remove"
+ ],
+ "x-ms-enum": {
+ "name": "AccessPolicyUpdateKind",
+ "modelAsString": false
+ },
+ "description": "Name of the operation"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultAccessPolicyParameters"
+ },
+ "description": "Access policy to merge into the vault"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The updated access policies",
+ "schema": {
+ "$ref": "#/definitions/VaultAccessPolicyParameters"
+ }
+ },
+ "200": {
+ "description": "The updated access policies",
+ "schema": {
+ "$ref": "#/definitions/VaultAccessPolicyParameters"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add an access policy, or update an access policy with new permissions": {
+ "$ref": "./examples//updateAccessPoliciesAdd.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults": {
@@ -181,7 +354,64 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
- }
+ },
+ "x-ms-examples": {
+ "List vaults in the specified resource group": {
+ "$ref": "./examples//listVaultByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_ListBySubscription",
+ "description": "The List operation gets information about the vaults associated with the subscription.",
+ "parameters": [
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all key vaults in the specified subscription.",
+ "schema": {
+ "$ref": "#/definitions/VaultListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List vaults in the specified subscription": {
+ "$ref": "./examples//listVaultBySubscription.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults": {
@@ -209,7 +439,18 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
- }
+ },
+ "x-ms-examples": {
+ "List deleted vaults in the specified subscription": {
+ "$ref": "./examples//listDeletedVaults.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}": {
@@ -248,7 +489,18 @@
"$ref": "#/definitions/DeletedVault"
}
}
- }
+ },
+ "x-ms-examples": {
+ "Retrieve a deleted vault": {
+ "$ref": "./examples//getDeletedVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
},
"/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge": {
@@ -288,7 +540,18 @@
"202": {
"description": "Vault is being purged."
}
- }
+ },
+ "x-ms-examples": {
+ "Purge a deleted vault": {
+ "$ref": "./examples//purgeDeletedVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
},
"/subscriptions/{subscriptionId}/resources": {
@@ -304,7 +567,9 @@
"in": "query",
"required": true,
"type": "string",
- "enum": [ "resourceType eq 'Microsoft.KeyVault/vaults'" ],
+ "enum": [
+ "resourceType eq 'Microsoft.KeyVault/vaults'"
+ ],
"description": "The filter to apply on the operation."
},
{
@@ -319,7 +584,9 @@
"in": "query",
"required": true,
"type": "string",
- "enum": [ "2015-11-01" ],
+ "enum": [
+ "2015-11-01"
+ ],
"description": "Azure Resource Manager Api Version."
},
{
@@ -336,7 +603,63 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
- }
+ },
+ "x-ms-examples": {
+ "List vaults in the specified subscription": {
+ "$ref": "./examples//listVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_CheckNameAvailability",
+ "description": "Checks that the vault name is valid and is not already in use.",
+ "parameters": [
+ {
+ "name": "vaultName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultCheckNameAvailabilityParameters"
+ },
+ "description": "The name of the vault."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the vault name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate a vault name": {
+ "$ref": "./examples//checkVaultNameAvailability.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
}
},
@@ -346,7 +669,9 @@
"family": {
"type": "string",
"description": "SKU family name",
- "enum": [ "A" ],
+ "enum": [
+ "A"
+ ],
"x-ms-enum": {
"name": "SkuFamily",
"modelAsString": true
@@ -355,7 +680,10 @@
"name": {
"type": "string",
"description": "SKU name to specify whether the key vault is a standard vault or a premium vault.",
- "enum": [ "standard", "premium" ],
+ "enum": [
+ "standard",
+ "premium"
+ ],
"x-ms-enum": {
"name": "SkuName",
"modelAsString": false
@@ -402,7 +730,24 @@
"type": "array",
"items": {
"type": "string",
- "enum": [ "encrypt", "decrypt", "wrapKey", "unwrapKey", "sign", "verify", "get", "list", "create", "update", "import", "delete", "backup", "restore", "recover", "purge" ],
+ "enum": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
"x-ms-enum": {
"name": "KeyPermissions",
"modelAsString": true
@@ -414,7 +759,16 @@
"type": "array",
"items": {
"type": "string",
- "enum": [ "get", "list", "set", "delete", "backup", "restore", "recover", "purge" ],
+ "enum": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
"x-ms-enum": {
"name": "SecretPermissions",
"modelAsString": true
@@ -426,7 +780,22 @@
"type": "array",
"items": {
"type": "string",
- "enum": [ "get", "list", "delete", "create", "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover", "purge" ],
+ "enum": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ],
"x-ms-enum": {
"name": "CertificatePermissions",
"modelAsString": true
@@ -438,7 +807,22 @@
"type": "array",
"items": {
"type": "string",
- "enum": [ "get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas" ],
+ "enum": [
+ "get",
+ "list",
+ "delete",
+ "set",
+ "update",
+ "regeneratekey",
+ "recover",
+ "purge",
+ "backup",
+ "restore",
+ "setsas",
+ "listsas",
+ "getsas",
+ "deletesas"
+ ],
"x-ms-enum": {
"name": "StoragePermissions",
"modelAsString": true
@@ -465,7 +849,6 @@
"items": {
"$ref": "#/definitions/AccessPolicyEntry"
},
- "maxItems": 16,
"description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID."
},
"vaultUri": {
@@ -486,16 +869,23 @@
},
"enableSoftDelete": {
"type": "boolean",
- "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. It does not accept false value."
+ "description": "Property specifying whether recoverable deletion is enabled for this key vault. Setting this property to true activates the soft delete feature, whereby vaults or vault entities can be recovered after deletion. Enabling this functionality is irreversible - that is, the property does not accept false as its value."
},
"createMode": {
"type": "string",
"description": "The vault's create mode to indicate whether the vault need to be recovered or not.",
- "enum": [ "recover", "default" ],
+ "enum": [
+ "recover",
+ "default"
+ ],
"x-ms-enum": {
"name": "CreateMode",
"modelAsString": false
}
+ },
+ "enablePurgeProtection": {
+ "type": "boolean",
+ "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value."
}
},
"required": [
@@ -504,6 +894,74 @@
],
"description": "Properties of the vault"
},
+ "VaultPatchProperties": {
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU details"
+ },
+ "accessPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessPolicyEntry"
+ },
+ "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID."
+ },
+ "enabledForDeployment": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
+ },
+ "enabledForDiskEncryption": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
+ },
+ "enabledForTemplateDeployment": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
+ },
+ "enableSoftDelete": {
+ "type": "boolean",
+ "description": "Property specifying whether recoverable deletion ('soft' delete) is enabled for this key vault. The property may not be set to false."
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The vault's create mode to indicate whether the vault need to be recovered or not.",
+ "enum": [
+ "recover",
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": false
+ }
+ },
+ "enablePurgeProtection": {
+ "type": "boolean",
+ "description": "Property specifying whether protection against purge is enabled for this vault; it is only effective if soft delete is also enabled. Once activated, the property may no longer be reset to false."
+ }
+ },
+ "description": "Properties of the vault"
+ },
+ "VaultAccessPolicyProperties": {
+ "properties": {
+ "accessPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessPolicyEntry"
+ },
+ "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID."
+ }
+ },
+ "required": [
+ "accessPolicies"
+ ],
+ "description": "Properties of the vault access policy"
+ },
"DeletedVaultProperties": {
"properties": {
"vaultId": {
@@ -564,6 +1022,56 @@
],
"x-ms-azure-resource": true
},
+ "VaultPatchParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the key vault. "
+ },
+ "properties": {
+ "$ref": "#/definitions/VaultPatchProperties",
+ "description": "Properties of the vault"
+ }
+ },
+ "description": "Parameters for creating or updating a vault",
+ "x-ms-azure-resource": true
+ },
+ "VaultAccessPolicyParameters": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id of the access policy."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name of the access policy."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name of the access policy."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type of the the access policy."
+ },
+ "properties": {
+ "$ref": "#/definitions/VaultAccessPolicyProperties",
+ "description": "Properties of the access policy"
+ }
+ },
+ "description": "Parameters for updating the access policy in a vault",
+ "required": [
+ "properties"
+ ],
+ "x-ms-azure-resource": true
+ },
"Vault": {
"properties": {
"properties": {
@@ -612,11 +1120,11 @@
"items": {
"$ref": "#/definitions/Vault"
},
- "description": "Gets or sets the list of vaults."
+ "description": "The list of vaults."
},
"nextLink": {
"type": "string",
- "description": "Gets or sets the URL to get the next set of vaults."
+ "description": "The URL to get the next set of vaults."
}
},
"description": "List of vaults"
@@ -644,11 +1152,11 @@
"items": {
"$ref": "#/definitions/Resource"
},
- "description": "Gets the list of vault resources."
+ "description": "The list of vault resources."
},
"nextLink": {
"type": "string",
- "description": "Gets the URL to get the next set of vault resources."
+ "description": "The URL to get the next set of vault resources."
}
},
"description": "List of vault resources."
@@ -661,6 +1169,7 @@
"description": "The Azure Resource Manager resource ID for the key vault."
},
"name": {
+ "readOnly": true,
"type": "string",
"description": "The name of the key vault."
},
@@ -683,10 +1192,61 @@
},
"description": "Key Vault resource",
"required": [
- "location",
- "name"
+ "location"
],
"x-ms-azure-resource": true
+ },
+ "VaultCheckNameAvailabilityParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The vault name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.KeyVault/vaults"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.KeyVault/vaults"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The parameters used to check the availabity of the vault name."
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "nameAvailable": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used."
+ },
+ "reason": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The reason that a vault name could not be used. The Reason element is only returned if NameAvailable is false.",
+ "enum": [
+ "AccountNameInvalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "Reason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "An error message explaining the Reason value in more detail."
+ }
+ },
+ "description": "The CheckNameAvailability operation response."
}
},
"parameters": {
@@ -695,7 +1255,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
},
"ApiVersionParameter": {
"name": "api-version",
@@ -704,5 +1264,16 @@
"type": "string",
"description": "Client Api Version."
}
+ },
+ "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"
+ }
+ }
}
-}
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/providers.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/providers.json
new file mode 100644
index 000000000000..dadd4d5b663a
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/providers.json
@@ -0,0 +1,180 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2016-10-01",
+ "title": "KeyVaultManagementClient",
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.KeyVault/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Key Vault Rest API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Lists available Rest API operations.": {
+ "$ref": "./examples//listOperations.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Storage operations supported by the Storage resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of operations."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Key Vault REST API operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft Key Vault.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Decription of operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The origin of operations."
+ },
+ "properties": {
+ "description": "Properties of operation, include metric specifications.",
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "OperationProperties",
+ "$ref": "#/definitions/OperationProperties"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of operation, include metric specifications.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "One property of operation, include metric specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "One property of operation, include log specifications.",
+ "properties": {
+ "logSpecifications": {
+ "description": "Log specifications of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Log specification of operation.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of log specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of log specification."
+ },
+ "blobDuration": {
+ "type": "string",
+ "description": "Blob duration of specification."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify 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."
+ }
+ },
+ "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"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/secrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/secrets.json
new file mode 100644
index 000000000000..97eb76cdbeda
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/secrets.json
@@ -0,0 +1,459 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2016-10-01",
+ "title": "KeyVaultManagementClient",
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}": {
+ "put": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_CreateOrUpdate",
+ "description": "Create or update a secret in a key vault in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "name": "secretName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{1,127}$",
+ "description": "Name of the secret"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecretCreateOrUpdateParameters"
+ },
+ "description": "Parameters to create or update the secret"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created or updated vault",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ },
+ "200": {
+ "description": "Created or updated secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a secret": {
+ "$ref": "./examples//createSecret.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_Update",
+ "description": "Update a secret in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "name": "secretName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{1,127}$",
+ "description": "Name of the secret"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecretPatchParameters"
+ },
+ "description": "Parameters to patch the secret"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Patched secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ },
+ "200": {
+ "description": "Patched secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a secret": {
+ "$ref": "./examples//updateSecret.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_Get",
+ "description": "Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vault."
+ },
+ {
+ "name": "secretName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a secret": {
+ "$ref": "./examples//getSecret.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets": {
+ "get": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_List",
+ "description": "The List operation gets information about the secrets in a vault. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vault."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about secrets in the specified vault.",
+ "schema": {
+ "$ref": "#/definitions/SecretListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List secrets in the vault": {
+ "$ref": "./examples//listSecrets.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "Attributes": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether the object is enabled."
+ },
+ "nbf": {
+ "x-ms-client-name": "NotBefore",
+ "type": "integer",
+ "format": "unixtime",
+ "description": "Not before date in UTC."
+ },
+ "exp": {
+ "x-ms-client-name": "Expires",
+ "type": "integer",
+ "format": "unixtime",
+ "description": "Expiry date in UTC."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Creation time in UTC."
+ },
+ "updated": {
+ "type": "integer",
+ "format": "unixtime",
+ "readOnly": true,
+ "description": "Last updated time in UTC."
+ }
+ },
+ "description": "The object attributes managed by the KeyVault service."
+ },
+ "SecretProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type of the secret."
+ },
+ "attributes": {
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The attributes of the secret."
+ },
+ "secretUri": {
+ "type": "string",
+ "description": "The URI to retrieve the current version of the secret.",
+ "readOnly": true
+ },
+ "secretUriWithVersion": {
+ "type": "string",
+ "description": "The URI to retrieve the specific version of the secret.",
+ "readOnly": true
+ }
+ },
+ "description": "Properties of the secret"
+ },
+ "SecretPatchProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the secret."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type of the secret."
+ },
+ "attributes": {
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The attributes of the secret."
+ }
+ },
+ "description": "Properties of the secret"
+ },
+ "SecretAttributes": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Attributes"
+ }
+ ],
+ "description": "The secret management attributes."
+ },
+ "SecretCreateOrUpdateParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the secret. "
+ },
+ "properties": {
+ "$ref": "#/definitions/SecretProperties",
+ "description": "Properties of the secret"
+ }
+ },
+ "description": "Parameters for creating or updating a secret",
+ "required": [
+ "properties"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SecretPatchParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the secret. "
+ },
+ "properties": {
+ "$ref": "#/definitions/SecretPatchProperties",
+ "description": "Properties of the secret"
+ }
+ },
+ "description": "Parameters for patching a secret",
+ "x-ms-azure-resource": true
+ },
+ "Secret": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecretProperties",
+ "description": "Properties of the secret"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "./keyvault.json#/definitions/Resource"
+ }
+ ],
+ "description": "Resource information with extended details."
+ },
+ "SecretListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "description": "The list of secrets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of secrets."
+ }
+ },
+ "description": "List of secrets"
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify 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."
+ }
+ },
+ "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"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/keyvault/resource-manager/readme.md b/specification/keyvault/resource-manager/readme.md
index 9635da0b968c..4d3a66b472f3 100644
--- a/specification/keyvault/resource-manager/readme.md
+++ b/specification/keyvault/resource-manager/readme.md
@@ -37,6 +37,7 @@ These settings apply only when `--tag=package-2016-10` is specified on the comma
``` yaml $(tag) == 'package-2016-10'
input-file:
- Microsoft.KeyVault/stable/2016-10-01/keyvault.json
+- Microsoft.KeyVault/stable/2016-10-01/providers.json
```
@@ -51,6 +52,22 @@ input-file:
---
+# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -104,6 +121,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-10
+ - tag: package-2015-06
+```
+
### Tag: package-2016-10 and go
These settings apply only when `--tag=package-2016-10 --go` is specified on the command line.
@@ -120,4 +145,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.management.keyvault
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-keyvault
```
\ No newline at end of file
diff --git a/specification/locationbasedservices/resource-manager/readme.md b/specification/locationbasedservices/resource-manager/readme.md
index b0facfb4680b..1a553c720c53 100644
--- a/specification/locationbasedservices/resource-manager/readme.md
+++ b/specification/locationbasedservices/resource-manager/readme.md
@@ -41,6 +41,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -54,3 +65,46 @@ csharp:
output-folder: $(csharp-sdks-folder)/LocationBasedServices/Management.LocationBasedServices/Generated
clear-output-folder: true
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: location
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-01
+```
+
+### Tag: package-2017-01 and go
+
+These settings apply only when `--tag=package-2017-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-01' && $(go)
+output-folder: $(go-sdk-folder)/services/location/mgmt/2017-01-01-preview/location
+```
+
+
+## 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.location
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-location
+```
diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md
index 03fafdd0db45..23e6a5ab1555 100644
--- a/specification/logic/resource-manager/readme.md
+++ b/specification/logic/resource-manager/readme.md
@@ -62,6 +62,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -115,6 +128,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-06
+ - tag: package-2015-08-preview
+ - tag: package-2015-02-preview
+```
+
### Tag: package-2016-06 and go
These settings apply only when `--tag=package-2016-06 --go` is specified on the command line.
@@ -141,3 +163,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.logic
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-logic
+```
diff --git a/specification/machinelearning/resource-manager/Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json b/specification/machinelearning/resource-manager/Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json
index 4a9631524767..ec77974e4a35 100644
--- a/specification/machinelearning/resource-manager/Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json
+++ b/specification/machinelearning/resource-manager/Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json
@@ -16,6 +16,34 @@
"application/json"
],
"paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus": {
+ "get": {
+ "tags": [
+ "Skus"
+ ],
+ "operationId": "Skus_List",
+ "description": "Lists the available commitment plan SKUs.",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/APIVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SkuListResult"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}": {
"get": {
"tags": [
@@ -387,6 +415,192 @@
}
},
"definitions": {
+ "SkuListResult": {
+ "type": "object",
+ "description": "The list of commitment plan SKUs.",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CatalogSku"
+ }
+ }
+ }
+ },
+ "CatalogSku": {
+ "type": "object",
+ "description": "Details of a commitment plan SKU.",
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type name"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "SKU name"
+ },
+ "tier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "SKU tier"
+ },
+ "locations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Regions where the SKU is available."
+ },
+ "capacity": {
+ "readOnly": true,
+ "description": "SKU scaling information",
+ "$ref": "#/definitions/SkuCapacity"
+ },
+ "capabilities": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCapability"
+ },
+ "description": "The capability information for the specified SKU."
+ },
+ "costs": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "description": "The cost information for the specified SKU."
+ },
+ "restrictions": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SkuRestrictions"
+ },
+ "description": "Restrictions which would prevent a SKU from being used. This is empty if there are no restrictions."
+ }
+ }
+ },
+ "SkuCapacity": {
+ "type": "object",
+ "description": "Describes scaling information of a SKU.",
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "The maximum capacity that can be set."
+ },
+ "default": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "SkuCapacityScaleType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SkuCost": {
+ "type": "object",
+ "description": "Describes metadata for SKU cost info.",
+ "properties": {
+ "meterID": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The meter used for this part of a SKU's cost."
+ },
+ "quantity": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "The multiplier for the meter ID."
+ },
+ "extendedUnit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall duration represented by the quantity."
+ }
+ }
+ },
+ "SkuCapability": {
+ "type": "object",
+ "description": "Describes The SKU capabilites object.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The capability name."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The capability value."
+ }
+ }
+ },
+ "SkuRestrictions": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of restrictions.",
+ "enum": [
+ "location",
+ "zone"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceSkuRestrictionsType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted."
+ },
+ "reasonCode": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reason for restriction.",
+ "enum": [
+ "QuotaId",
+ "NotAvailableForSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceSkuRestrictionsReasonCode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes restrictions which would prevent a SKU from being used."
+ },
"Tags": {
"type": "object",
"description": "Resource tags",
@@ -736,5 +950,16 @@
}
}
}
+ },
+ "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"
+ }
+ }
}
}
\ No newline at end of file
diff --git a/specification/machinelearning/resource-manager/Microsoft.MachineLearning/stable/2017-01-01/webservices.json b/specification/machinelearning/resource-manager/Microsoft.MachineLearning/stable/2017-01-01/webservices.json
index 61d560feeff0..3ba010f766a7 100644
--- a/specification/machinelearning/resource-manager/Microsoft.MachineLearning/stable/2017-01-01/webservices.json
+++ b/specification/machinelearning/resource-manager/Microsoft.MachineLearning/stable/2017-01-01/webservices.json
@@ -16,6 +16,26 @@
"application/json"
],
"paths": {
+ "/providers/Microsoft.MachineLearning/operations": {
+ "get": {
+ "description": "Lists all the available REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [{
+ "$ref": "#/parameters/APIVersionParameter"
+ }],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}": {
"put": {
"tags": [
@@ -1152,10 +1172,12 @@
"properties": {
"id": {
"type": "string",
+ "readOnly": true,
"description": "Async operation id."
},
"name": {
"type": "string",
+ "readOnly": true,
"description": "Async operation name."
},
"provisioningState": {
@@ -1187,10 +1209,12 @@
},
"percentComplete": {
"type": "number",
+ "readOnly": true,
"description": "Async operation progress."
},
"errorInfo": {
"$ref": "#/definitions/AsyncOperationErrorInfo",
+ "readOnly": true,
"description": "If the async operation fails, this structure contains the error details."
}
}
@@ -1201,24 +1225,94 @@
"properties": {
"code": {
"type": "string",
- "description": "The error code."
+ "description": "The error code.",
+ "readOnly": true
},
"target": {
"type": "string",
- "description": "The error target."
+ "description": "The error target.",
+ "readOnly": true
},
"message": {
"type": "string",
- "description": "The error message."
+ "description": "The error message.",
+ "readOnly": true
},
"details": {
"type": "array",
"description": "An array containing error information.",
+ "readOnly": true,
"items": {
"$ref": "#/definitions/AsyncOperationErrorInfo"
}
}
}
+ },
+ "OperationEntityListResult": {
+ "description": "The list of REST API operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of operations.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "An API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The API operation info."
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The API operation info.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provider": {
+ "description": "The service provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "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"
+ }
}
}
-}
+}
diff --git a/specification/machinelearning/resource-manager/readme.md b/specification/machinelearning/resource-manager/readme.md
index 74f350ab3e67..d6325785b9d9 100644
--- a/specification/machinelearning/resource-manager/readme.md
+++ b/specification/machinelearning/resource-manager/readme.md
@@ -81,6 +81,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -115,6 +126,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-webservices-2017-01
+ - tag: package-webservices-2016-05-preview
+ - tag: package-commitmentPlans-2016-05-preview
+```
+
### Tag: package-webservices-2017-01 and go
These settings apply only when `--tag=package-webservices-2017-01 --go` is specified on the command line.
@@ -145,6 +165,22 @@ namespace: commitmentplans
output-folder: $(go-sdk-folder)/services/machinelearning/mgmt/2016-05-01-preview/commitmentplans
```
+
+## 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.machinelearning
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-machinelearning
+```
+
# Validation
Since this RP has no unique default package, iterate over all of them for validation:
diff --git a/specification/machinelearningcompute/resource-manager/readme.md b/specification/machinelearningcompute/resource-manager/readme.md
index 491306a57e17..c5c88370d674 100644
--- a/specification/machinelearningcompute/resource-manager/readme.md
+++ b/specification/machinelearningcompute/resource-manager/readme.md
@@ -54,6 +54,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -94,3 +107,55 @@ python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/azure-mgmt-machinelearningcompute
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: compute
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-08-preview
+```
+
+### Tag: package-2017-08-preview and go
+
+These settings apply only when `--tag=package-2017-08-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-08-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/machinelearning/mgmt/2017-08-01-preview/compute
+```
+
+### Tag: package-2017-06-preview and go
+
+These settings apply only when `--tag=package-package-2017-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/machinelearning/mgmt/2017-06-01-preview/compute
+```
+
+
+## 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.machinelearning.compute
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-machinelearning/compute
+```
diff --git a/specification/machinelearningexperimentation/resource-manager/readme.md b/specification/machinelearningexperimentation/resource-manager/readme.md
index 958cd9d19103..8c525e985a48 100644
--- a/specification/machinelearningexperimentation/resource-manager/readme.md
+++ b/specification/machinelearningexperimentation/resource-manager/readme.md
@@ -43,6 +43,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -55,4 +66,46 @@ csharp:
namespace: Microsoft.Azure.Management.MachineLearningExperimentation
output-folder: $(csharp-sdks-folder)/MachineLearningExperimentation/Management.MachineLearningExperimentation/Generated
clear-output-folder: true
-```
\ No newline at end of file
+```
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: experimentation
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-05-preview
+```
+
+### Tag: package-2017-05-preview and go
+
+These settings apply only when `--tag=package-2017-05-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-05-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/machinelearning/mgmt/2017-05-01-preview/experimentation
+```
+
+
+## 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.machinelearning.experimentation
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-machinelearning/experimentation
+```
diff --git a/specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetGroups.json
similarity index 100%
rename from specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetGroups.json
rename to specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetGroups.json
diff --git a/specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroup.json
similarity index 100%
rename from specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroup.json
rename to specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroup.json
diff --git a/specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpand.json
similarity index 100%
rename from specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpand.json
rename to specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpand.json
diff --git a/specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpandAndRecurse.json
similarity index 100%
rename from specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpandAndRecurse.json
rename to specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/examples/GetManagementGroupWithExpandAndRecurse.json
diff --git a/specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/management.json
similarity index 100%
rename from specification/resources/resource-manager/Microsoft.Management/preview/2017-08-31-preview/management.json
rename to specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-08-31-preview/management.json
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/addManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/addManagementGroupSubscription.json
new file mode 100644
index 000000000000..67d4bd31de9f
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/addManagementGroupSubscription.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000001",
+ "subscriptionId": "00000000-0000-0000-0000-000000000011"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/createOrUpdateManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/createOrUpdateManagementGroup.json
new file mode 100644
index 000000000000..04d978153597
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/createOrUpdateManagementGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000002",
+ "createManagementGroupRequest": {
+ "properties ": {
+ "displayName": "Group Name 2",
+ "parentGroupId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000001"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000002",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "00000000-0000-0000-0000-000000000002",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "displayName": "Group Name 2",
+ "details": {
+ "version": 1,
+ "updatedTime": "2017-01-01T00:00:00.00Z",
+ "updatedBy": "Test",
+ "parent": {
+ "parentId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000001",
+ "displayName": "Group Name 1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/deleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/deleteManagementGroup.json
new file mode 100644
index 000000000000..08b962ed5213
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/deleteManagementGroup.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000001"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroup.json
new file mode 100644
index 000000000000..8f9f6d275303
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "20000000-0001-0000-0000-000000000000",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2",
+ "details": {
+ "version": 1,
+ "updatedTime": "2018-01-01T00:00:00.00Z",
+ "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b",
+ "parent": {
+ "parentId": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "displayName": "RootGroup"
+ }
+ },
+ "children": null
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupSubscription.json
new file mode 100644
index 000000000000..082ceba854e3
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupSubscription.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000001",
+ "subscriptionId": "00000000-0000-0000-0000-000000000011"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "childType": "Subscription",
+ "childId": "/subscriptions/00000000-0000-0000-0000-000000000011",
+ "displayName": "Subscription Name 1"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupWithExpand.json
new file mode 100644
index 000000000000..92208cbaa967
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupWithExpand.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000001",
+ "$expand": "children",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000001",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "00000000-0000-0000-0000-000000000001",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "displayName": "Group Name 1",
+ "details": {
+ "version": 1,
+ "updatedTime": "2017-01-01T00:00:00Z",
+ "updatedBy": "Test",
+ "parent": {
+ "parentId": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "displayName": "RootGroup"
+ }
+ },
+ "children": [
+ {
+ "childType": "ManagementGroup",
+ "childId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000002",
+ "displayName": "Group Name 2"
+ },
+ {
+ "childType": "ManagementGroup",
+ "childId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000003",
+ "displayName": "Group Name 3"
+ },
+ {
+ "childType": "Subscription",
+ "childId": "/subscriptions/00000000-0000-0000-0000-000000000011",
+ "displayName": "Subscription Name 1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupWithExpandAndRecurse.json
new file mode 100644
index 000000000000..af11b4d0169f
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getManagementGroupWithExpandAndRecurse.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000001",
+ "$expand": "children",
+ "$recurse": true,
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000001",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "00000000-0000-0000-0000-000000000001",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "displayName": "Group Name 1",
+ "details": {
+ "version": 1,
+ "updatedTime": "2017-01-01T00:00:00Z",
+ "updatedBy": "Test",
+ "parent": {
+ "parentId": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "displayName": "RootGroup"
+ }
+ },
+ "children": [
+ {
+ "childType": "ManagementGroup",
+ "childId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000002",
+ "displayName": "Group Name 2",
+ "children": [
+ {
+ "childType": "ManagementGroup",
+ "childId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000004",
+ "displayName": "Group Name 4",
+ "children": [
+ {
+ "childType": "Subscription",
+ "childId": "/subscriptions/00000000-0000-0000-0000-000000000012",
+ "displayName": "Subscription Name 2"
+ },
+ {
+ "childType": "Subscription",
+ "childId": "/subscriptions/00000000-0000-0000-0000-000000000013",
+ "displayName": "Subscription Name 3"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "childType": "ManagementGroup",
+ "childId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000003",
+ "displayName": "Group Name 3",
+ "children": [
+ {
+ "childType": "Subscription",
+ "childId": "/subscriptions/00000000-0000-0000-0000-000000000014",
+ "displayName": "Subscription Name 4"
+ }
+ ]
+ },
+ {
+ "childType": "Subscription",
+ "childId": "/subscriptions/00000000-0000-0000-0000-000000000011",
+ "displayName": "Subscription Name 1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getOperations.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getOperations.json
new file mode 100644
index 000000000000..04bc7a9275b9
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/getOperations.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Management/managementGroups/write",
+ "display": {
+ "provider": "Microsoft Management",
+ "resource": "managementGroups",
+ "operation": "Create a management group",
+ "description": "Create a management group."
+ }
+ },
+ {
+ "name": "Microsoft.Management/managementGroups/read",
+ "display": {
+ "provider": "Microsoft Management",
+ "resource": "managementGroups",
+ "operation": "Get a management group",
+ "description": "Get a management group."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/listManagementGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/listManagementGroups.json
new file mode 100644
index 000000000000..3537c1893f49
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/listManagementGroups.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000001",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "00000000-0000-0000-0000-000000000001",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "displayName": "Group Name 1"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000002",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "00000000-0000-0000-0000-000000000002",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "displayName": "Group Name 2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/removeManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/removeManagementGroupSubscription.json
new file mode 100644
index 000000000000..67d4bd31de9f
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/removeManagementGroupSubscription.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000001",
+ "subscriptionId": "00000000-0000-0000-0000-000000000011"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/updateManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/updateManagementGroup.json
new file mode 100644
index 000000000000..7e815ef190a6
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/examples/updateManagementGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01-preview",
+ "groupId": "00000000-0000-0000-0000-000000000002",
+ "createManagementGroupRequest": {
+ "properties ": {
+ "displayName": "Group Name 2",
+ "parentGroupId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000001"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000002",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "00000000-0000-0000-0000-000000000002",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "displayName": "Group Name 2",
+ "details": {
+ "version": 1,
+ "updatedTime": "2017-01-01T00:00:00.00Z",
+ "updatedBy": "Test",
+ "parent": {
+ "parentId": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000001",
+ "displayName": "Group Name 1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/management.json
new file mode 100644
index 000000000000..19eb90ccb5f7
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2017-11-01-preview/management.json
@@ -0,0 +1,699 @@
+{
+ "swagger": "2.0",
+ "host": "management.azure.com",
+ "info": {
+ "version": "2017-11-01-preview",
+ "title": "Management Groups API",
+ "description": "The Azure Management Groups API enables consolidation of multiple \nsubscriptions/resources into an organizational hierarchy and centrally \nmanage access control, policies, alerting and reporting for those resources.\n"
+ },
+ "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"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "ManagementGroups",
+ "description": "A Management Group is a customer defined scope (grouping mechanism) that \nprovides access control (authorization), policy management and reporting. \nManagement Groups are organized in a strictly tree-based hierarchy.\n"
+ },
+ {
+ "name": "Operations",
+ "description": "Management operations supported by the Microsoft.Management resource provider.\n"
+ }
+ ],
+ "paths": {
+ "/providers/Microsoft.Management/managementGroups": {
+ "get": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_List",
+ "description": "List management groups for the authenticated user.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ },
+ {
+ "name": "$skiptoken",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Page continuation token is only used if a previous operation returned a partial result. \nIf a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.\n"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetManagementGroups": {
+ "$ref": "./examples/listManagementGroups.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}": {
+ "get": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Get",
+ "description": "Get the details of the management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ },
+ {
+ "$ref": "#/parameters/RecurseParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetManagementGroup": {
+ "$ref": "./examples/getManagementGroup.json"
+ },
+ "GetManagementGroupWithExpand": {
+ "$ref": "./examples/getManagementGroupWithExpand.json"
+ },
+ "GetManagementGroupsWithExpandAndRecurse": {
+ "$ref": "./examples/getManagementGroupWithExpandAndRecurse.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_CreateOrUpdate",
+ "description": "Create or update a management group.\nIf a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CreateManagementGroupRequestParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutManagementGroup": {
+ "$ref": "./examples/createOrUpdateManagementGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Update",
+ "description": "Update a management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CreateManagementGroupRequestParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchManagementGroup": {
+ "$ref": "./examples/updateManagementGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Delete",
+ "description": "Delete management group.\nIf a management group contains child resources, the request will fail.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - management group deleted successfully"
+ },
+ "204": {
+ "description": "NoContent - management group does not exist"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteManagementGroup": {
+ "$ref": "./examples/deleteManagementGroup.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}": {
+ "put": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroupSubscriptions_Create",
+ "description": "Associates existing subscription with the management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AddSubscriptionToManagementGroup": {
+ "$ref": "./examples/addManagementGroupSubscription.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroupSubscriptions_Delete",
+ "description": "De-associates subscription from the management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content - subscription deleted successfully"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteSubscriptionFromManagementGroup": {
+ "$ref": "./examples/removeManagementGroupSubscription.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Management 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": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "One of a server-defined set of error codes.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation supported by the Microsoft.Management resource provider.",
+ "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": "The name of the provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The operation that can be performed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Describes the result of the request to list Microsoft.Management operations.",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the Microsoft.Management 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
+ }
+ }
+ },
+ "ManagementGroupListResult": {
+ "description": "Describes the result of the request to list management groups.",
+ "properties": {
+ "value": {
+ "description": "The list of management groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementGroupInfo": {
+ "description": "The management group resource.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagementGroupInfoProperties"
+ }
+ }
+ },
+ "ManagementGroupInfoProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ }
+ }
+ },
+ "ManagementGroup": {
+ "description": "The management group details.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagementGroupProperties"
+ }
+ }
+ },
+ "ManagementGroupProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ },
+ "details": {
+ "title": "Details",
+ "$ref": "#/definitions/ManagementGroupDetails"
+ },
+ "children": {
+ "description": "The list of children.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "ManagementGroupDetails": {
+ "description": "The details of a management group.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "number",
+ "format": "int32",
+ "description": "The version number of the object."
+ },
+ "updatedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when this object was last updated."
+ },
+ "updatedBy": {
+ "type": "string",
+ "description": "The identity of the principal or process that updated the object."
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/ParentGroupInfo"
+ }
+ }
+ },
+ "ManagementGroupChildInfo": {
+ "description": "The child information of a management group.",
+ "properties": {
+ "childType": {
+ "title": "The type of child resource.",
+ "$ref": "#/definitions/ManagementGroupChildType"
+ },
+ "childId": {
+ "type": "string",
+ "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the child resource."
+ },
+ "children": {
+ "description": "The list of children.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "ParentGroupInfo": {
+ "description": "(Optional) The ID of the parent management group.",
+ "properties": {
+ "parentId": {
+ "type": "string",
+ "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the parent management group."
+ }
+ }
+ },
+ "ManagementGroupChildType": {
+ "type": "string",
+ "enum": [
+ "ManagementGroup",
+ "Subscription"
+ ],
+ "description": "The type of child resource."
+ },
+ "CreateManagementGroupRequest": {
+ "description": "Management group creation parameters.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ },
+ "parentId": {
+ "type": "string",
+ "description": "(Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Management Group ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "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 2017-11-01-preview."
+ },
+ "ExpandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "children"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "The $expand=children query string parameter allows clients to request inclusion of children in the response payload."
+ },
+ "RecurseParameter": {
+ "name": "$recurse",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "x-ms-parameter-location": "method",
+ "description": "The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload."
+ },
+ "CreateManagementGroupRequestParameter": {
+ "name": "createManagementGroupRequest",
+ "in": "body",
+ "required": true,
+ "description": "Management group creation parameters.",
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/CreateManagementGroupRequest"
+ }
+ },
+ "CacheControlHeader": {
+ "name": "Cache-Control",
+ "in": "header",
+ "default": "no-cache",
+ "description": "Indicates that the request shouldn't utilize any caches.",
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/AddManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/AddManagementGroupSubscription.json
new file mode 100644
index 000000000000..563386633ca3
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/AddManagementGroupSubscription.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "Group",
+ "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/CheckManagementGroupNameAvailability.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/CheckManagementGroupNameAvailability.json
new file mode 100644
index 000000000000..d93ef086f89e
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/CheckManagementGroupNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "checkNameAvailabilityRequest": {
+ "name": "nameTocheck",
+ "type": "/providers/Microsoft.Management/managementGroups"
+ },
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "nameAvailable": "true|false",
+ "reason": "Invalid|AlreadyExists",
+ "message": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/DeleteManagementGroup.json
new file mode 100644
index 000000000000..4df9fbc72a10
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/DeleteManagementGroup.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "GroupToDelete",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/GroupToDelete",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "GroupToDelete",
+ "properties": {
+ "provisioningState": "Updating"
+ }
+ }
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/EntitiesGetHierarchy.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/EntitiesGetHierarchy.json
new file mode 100644
index 000000000000..82afdb772774
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/EntitiesGetHierarchy.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "view": "hierarchy",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/87063dd2-ab5a-438b-909a-09c03a9018ab",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "87063dd2-ab5a-438b-909a-09c03a9018ab",
+ "properties": {
+ "displayName": "87063dd2-ab5a-438b-909a-09c03a9018ab",
+ "permissions": "read",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/Root",
+ "type": "/providers/Microsoft.Management/managementGroup",
+ "name": "Root",
+ "properties": {
+ "displayName": "Root",
+ "permissions": "read",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/Child",
+ "type": "/providers/Microsoft.Management/managementGroup",
+ "name": "Child",
+ "properties": {
+ "displayName": "Child",
+ "permissions": "read",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetEntities.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetEntities.json
new file mode 100644
index 000000000000..bad16af10cc4
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetEntities.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000"
+ },
+ "permissions": "view"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0004-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 4 Tenant 2",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000"
+ },
+ "permissions": "delete"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroup.json
new file mode 100644
index 000000000000..1da8ab6d49d4
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "20000000-0001-0000-0000-000000000000",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2",
+ "details": {
+ "version": 1,
+ "updatedTime": "2018-01-01T00:00:00.00Z",
+ "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "name": "RootGroup",
+ "displayName": "RootGroup"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroupWithExpand.json
new file mode 100644
index 000000000000..06b85601affa
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroupWithExpand.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "20000000-0001-0000-0000-000000000000",
+ "$expand": "children",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2",
+ "details": {
+ "version": 1,
+ "updatedTime": "2018-01-01T00:00:00.00Z",
+ "updatedBy": "Test",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000",
+ "name": "20000000-0000-0000-0000-000000000000",
+ "displayName": "20000000-0000-0000-0000-000000000000"
+ }
+ },
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0002-0000-0000-000000000000",
+ "displayName": "Group 2 Tenant 2"
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0003-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0003-0000-0000-000000000000",
+ "displayName": "Group 3 Tenant 2"
+ },
+ {
+ "id": "/subscriptions/10000000-F004-0000-0000-000000000000",
+ "type": "/subscriptions",
+ "name": "10000000-F004-0000-0000-000000000000",
+ "displayName": "Subscription 4 Tenant 1"
+ },
+ {
+ "id": "/subscriptions/20000000-F005-0000-0000-000000000000",
+ "type": "/subscriptions",
+ "name": "20000000-F005-0000-0000-000000000000",
+ "displayName": "Subscription 5 Tenant 2"
+ },
+ {
+ "id": "/subscriptions/30000000-F003-0000-0000-000000000000",
+ "type": "/subscriptions",
+ "name": "30000000-F003-0000-0000-000000000000",
+ "displayName": "Subscription 3 Tenant 3"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroupWithExpandAndRecurse.json
new file mode 100644
index 000000000000..483d09f79f85
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetManagementGroupWithExpandAndRecurse.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "20000000-0001-0000-0000-000000000000",
+ "$expand": "children",
+ "$recurse": true,
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "RootGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "RootGroup",
+ "details": {
+ "version": 2,
+ "updatedTime": "2018-01-25T02:26:49.0022093Z",
+ "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000",
+ "name": "20000000-0000-0000-0000-000000000000",
+ "displayName": "20000000-0000-0000-0000-000000000000"
+ }
+ },
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/Child",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "Child",
+ "displayName": "Child",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ],
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/Leaf",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "Leaf",
+ "displayName": "Leaf",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ],
+ "children": [
+ {
+ "id": "/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "type": "/subscriptions",
+ "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "displayName": "Pay-As-You-Go",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/AnotherChild",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "AnotherChild",
+ "displayName": "Leaf",
+ "roles": [
+ "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetOperationResult.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetOperationResult.json
new file mode 100644
index 000000000000..f8ee25757ec5
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/GetOperationResult.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "operationResultsId": "7db49d55-a1f3-4abb-8c3e-94d1092a38c0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "AlternateDisplayName",
+ "details": {
+ "version": 2,
+ "updatedTime": "2018-01-25T02:46:59.0545645Z",
+ "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup",
+ "name": "AlternateRootGroup",
+ "displayName": "AlternateRootGroup"
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/ListManagementGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/ListManagementGroups.json
new file mode 100644
index 000000000000..f05cb49fa47e
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/ListManagementGroups.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0001-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 1 Tenant 2"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "20000000-0004-0000-0000-000000000000",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "Group 4 Tenant 2"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/PatchManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/PatchManagementGroup.json
new file mode 100644
index 000000000000..719880383982
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/PatchManagementGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "ChildGroup",
+ "patchGroupRequest": {
+ "displayName": "AlternateDisplayName",
+ "parentGroupId": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup"
+ },
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "AlternateDisplayName",
+ "details": {
+ "version": 2,
+ "updatedTime": "2018-01-25T02:46:59.0545645Z",
+ "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup",
+ "name": "AlternateRootGroup",
+ "displayName": "AlternateRootGroup"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/PutManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/PutManagementGroup.json
new file mode 100644
index 000000000000..488db10285c4
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/PutManagementGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "ChildGroup",
+ "createGroupRequest": {
+ "properties": {
+ "displayName": "ChildGroup",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup"
+ }
+ }
+ },
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "ChildGroup",
+ "details": {
+ "version": 1,
+ "updatedTime": "2018-01-01T00:00:00.00Z",
+ "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/RootGroup",
+ "name": "RootGroup",
+ "displayName": "RootGroup"
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/ChildGroup",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "ChildGroup",
+ "properties": {
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/RemoveManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/RemoveManagementGroupSubscription.json
new file mode 100644
index 000000000000..563386633ca3
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/examples/RemoveManagementGroupSubscription.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01-preview",
+ "groupId": "Group",
+ "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc",
+ "Cache-Control": "no-cache"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/management.json
new file mode 100644
index 000000000000..792dd2934b30
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/preview/2018-01-01-preview/management.json
@@ -0,0 +1,1279 @@
+{
+ "swagger": "2.0",
+ "host": "management.azure.com",
+ "info": {
+ "version": "2018-01-01-preview",
+ "title": "Management Groups API",
+ "description": "The Azure Management Groups API enables consolidation of multiple \nsubscriptions/resources into an organizational hierarchy and centrally \nmanage access control, policies, alerting and reporting for those resources.\n"
+ },
+ "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"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "ManagementGroups",
+ "description": "A Management Group is a customer defined scope (grouping mechanism) that \nprovides access control (authorization), policy management and reporting. \nManagement Groups are organized in a strictly tree-based hierarchy.\n"
+ },
+ {
+ "name": "Operations",
+ "description": "Management operations supported by the Microsoft.Management resource provider.\n"
+ },
+ {
+ "name": "Entities",
+ "description": "A list of entities that belong to the Management Groups.\n"
+ }
+ ],
+ "paths": {
+ "/providers/Microsoft.Management/managementGroups": {
+ "get": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_List",
+ "description": "List management groups for the authenticated user.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListManagementGroups": {
+ "$ref": "./examples/ListManagementGroups.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}": {
+ "get": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Get",
+ "description": "Get the details of the management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ },
+ {
+ "$ref": "#/parameters/RecurseParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetManagementGroup": {
+ "$ref": "./examples/GetManagementGroup.json"
+ },
+ "GetManagementGroupWithExpand": {
+ "$ref": "./examples/GetManagementGroupWithExpand.json"
+ },
+ "GetManagementGroupsWithExpandAndResurse": {
+ "$ref": "./examples/GetManagementGroupWithExpandAndRecurse.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_CreateOrUpdate",
+ "description": "Create or update a management group.\nIf a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ },
+ {
+ "$ref": "#/parameters/CreateManagementGroupRequestParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResults"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutManagementGroup": {
+ "$ref": "./examples/PutManagementGroup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Update",
+ "description": "Update a management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ },
+ {
+ "$ref": "#/parameters/PatchGroupRequestParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroup"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchManagementGroup": {
+ "$ref": "./examples/PatchManagementGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroups_Delete",
+ "description": "Delete management group.\nIf a management group contains child resources, the request will fail.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResults"
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteManagementGroup": {
+ "$ref": "./examples/DeleteManagementGroup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}": {
+ "put": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroupSubscriptions_Create",
+ "description": "Associates existing subscription with the management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AddSubscriptionToManagementGroup": {
+ "$ref": "./examples/AddManagementGroupSubscription.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagementGroups"
+ ],
+ "operationId": "ManagementGroupSubscriptions_Delete",
+ "description": "De-associates subscription from the management group.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteSubscriptionFromManagementGroup": {
+ "$ref": "./examples/RemoveManagementGroupSubscription.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Management 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.Management/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "operationId": "CheckNameAvailability",
+ "description": "Checks if the specified management group name is valid and unique",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CheckNameAvailabilityParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CheckManagementGroupNameAvailability": {
+ "$ref": "./examples/CheckManagementGroupNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/getEntities": {
+ "post": {
+ "tags": [
+ "Entities"
+ ],
+ "operationId": "Entities_List",
+ "description": "List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.\n",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EntityViewParameter"
+ },
+ {
+ "$ref": "#/parameters/CacheControlHeader"
+ }
+ ],
+ "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/GetEntities.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "One of a server-defined set of error codes.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human-readable representation of the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A human-readable representation of the error's details.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation supported by the Microsoft.Management resource provider.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "title": "Display",
+ "$ref": "#/definitions/OperationDisplayProperties"
+ }
+ }
+ },
+ "OperationDisplayProperties": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "The name of the provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The operation that can be performed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Describes the result of the request to list Microsoft.Management operations.",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the Microsoft.Management 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
+ }
+ }
+ },
+ "CheckNameAvailabilityResult": {
+ "description": "Describes the result of the request to check management group name availability.",
+ "properties": {
+ "nameAvailable": {
+ "description": "Required. True indicates name is valid and available. False indicates the name is invalid, unavailable, or both.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "Reason",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Invalid"
+ },
+ {
+ "value": "AlreadyExists"
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "message": {
+ "description": "Required if nameAvailable == false. Localized. If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementGroupListResult": {
+ "description": "Describes the result of the request to list management groups.",
+ "properties": {
+ "value": {
+ "description": "The list of management groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementGroupInfo": {
+ "description": "The management group resource.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "title": "Properties",
+ "$ref": "#/definitions/ManagementGroupInfoProperties"
+ }
+ }
+ },
+ "ManagementGroupInfoProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ }
+ }
+ },
+ "ManagementGroup": {
+ "description": "The management group details.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagementGroupProperties"
+ }
+ }
+ },
+ "ManagementGroupProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ },
+ "roles": {
+ "description": "The role definitions associated with the management group.",
+ "type": "array",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "details": {
+ "title": "Details",
+ "$ref": "#/definitions/ManagementGroupDetails"
+ },
+ "children": {
+ "description": "The list of children.",
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "ManagementGroupDetails": {
+ "description": "The details of a management group.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "number",
+ "format": "int32",
+ "description": "The version number of the object."
+ },
+ "updatedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when this object was last updated."
+ },
+ "updatedBy": {
+ "type": "string",
+ "description": "The identity of the principal or process that updated the object."
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/ParentGroupInfo"
+ }
+ }
+ },
+ "ManagementGroupChildInfo": {
+ "description": "The child information of a management group.",
+ "properties": {
+ "type": {
+ "title": "The type of child resource.",
+ "$ref": "#/definitions/ManagementGroupChildType",
+ "description": "The fully qualified resource type which includes provider namespace (e.g. /providers/Microsoft.Management/managementGroups)"
+ },
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the child entity."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the child resource."
+ },
+ "roles": {
+ "description": "The roles definitions associated with the management group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "children": {
+ "description": "The list of children.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "ParentGroupInfo": {
+ "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"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the parent management group"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the parent management group."
+ }
+ }
+ },
+ "ManagementGroupChildType": {
+ "type": "string",
+ "enum": [
+ "/providers/Microsoft.Management/managementGroups",
+ "/subscriptions"
+ ],
+ "description": "The type of child resource."
+ },
+ "OperationResults": {
+ "description": "The results of an asynchronous operation.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "title": "Provisioning State",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ }
+ }
+ }
+ },
+ "EntityListResult": {
+ "description": "Describes the result of the request to view entities.",
+ "properties": {
+ "value": {
+ "description": "The list of entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityInfo"
+ }
+ },
+ "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
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": 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"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/EntityParentGroupInfo"
+ },
+ "permissions": {
+ "title": "Permissions",
+ "x-nullable": true,
+ "$ref": "#/definitions/Permissions"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "EntityHierarchyItem": {
+ "description": "The management group details for the hierarchy view.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EntityHierarchyItemProperties"
+ }
+ }
+ },
+ "EntityHierarchyItemProperties": {
+ "description": "The generic properties of a management group.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group."
+ },
+ "permissions": {
+ "title": "Permissions",
+ "$ref": "#/definitions/Permissions"
+ },
+ "children": {
+ "type": "array",
+ "description": "The list of children.",
+ "x-nullable": true,
+ "items": {
+ "$ref": "#/definitions/EntityHierarchyItem"
+ }
+ }
+ }
+ },
+ "PatchManagementGroupRequest": {
+ "description": "Management group patch parameters.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group.",
+ "x-nullable": true
+ },
+ "parentId": {
+ "type": "string",
+ "description": "(Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "x-nullable": true
+ }
+ }
+ },
+ "CreateManagementGroupRequest": {
+ "description": "Management group creation parameters.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreateManagementGroupProperties"
+ }
+ }
+ },
+ "CreateManagementGroupProperties": {
+ "description": "The generic properties of a management group used during creation.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group. If no value is passed then this field will be set to the groupId.",
+ "x-nullable": true
+ },
+ "roles": {
+ "description": "The roles definitions associated with the management group.",
+ "readOnly": true,
+ "type": "array",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "details": {
+ "title": "Details",
+ "$ref": "#/definitions/CreateManagementGroupDetails"
+ },
+ "children": {
+ "description": "The list of children.",
+ "readOnly": true,
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "CreateManagementGroupDetails": {
+ "description": "The details of a management group used during creation.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "number",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The version number of the object."
+ },
+ "updatedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date and time when this object was last updated."
+ },
+ "updatedBy": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The identity of the principal or process that updated the object."
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/CreateParentGroupInfo"
+ }
+ }
+ },
+ "CreateManagementGroupChildInfo": {
+ "description": "The child information of a management group used during creation.",
+ "properties": {
+ "type": {
+ "title": "The type of child resource.",
+ "readOnly": true,
+ "$ref": "#/definitions/ManagementGroupChildType",
+ "description": "The fully qualified resource type which includes provider namespace (e.g. /providers/Microsoft.Management/managementGroups)"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the child entity."
+ },
+ "displayName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The friendly name of the child resource."
+ },
+ "roles": {
+ "description": "The roles definitions associated with the management group.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "children": {
+ "description": "The list of children.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CreateManagementGroupChildInfo"
+ }
+ }
+ }
+ },
+ "CreateParentGroupInfo": {
+ "description": "(Optional) The ID of the parent management group used during creation.",
+ "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"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the parent management group"
+ },
+ "displayName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The friendly name of the parent management group."
+ }
+ }
+ },
+ "Permissions": {
+ "type": "string",
+ "enum": [
+ "noaccess",
+ "view",
+ "edit",
+ "delete"
+ ],
+ "description": "The users specific permissions to this item."
+ },
+ "CheckNameAvailabilityRequest": {
+ "description": "Management group name availability check parameters.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "the name to check for availability"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "/providers/Microsoft.Management/managementGroup"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "/providers/Microsoft.Management/managementGroup"
+ }
+ ]
+ },
+ "description": "fully qualified resource type which includes provider namespace"
+ }
+ }
+ },
+ "ProvisioningState": {
+ "title": "Provisioning State",
+ "type": "string",
+ "enum": [
+ "Updating"
+ ],
+ "description": "The provisioning status."
+ }
+ },
+ "parameters": {
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Management Group ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "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-01-01-preview."
+ },
+ "ExpandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "children"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "The $expand=children query string parameter allows clients to request inclusion of children in the response payload."
+ },
+ "RecurseParameter": {
+ "name": "$recurse",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "x-ms-parameter-location": "method",
+ "description": "The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that $expand=children must be passed up if $recurse is set to true."
+ },
+ "CreateManagementGroupRequestParameter": {
+ "name": "createManagementGroupRequest",
+ "in": "body",
+ "required": true,
+ "description": "Management group creation parameters.",
+ "schema": {
+ "$ref": "#/definitions/CreateManagementGroupRequest"
+ }
+ },
+ "PatchGroupRequestParameter": {
+ "name": "patchGroupRequest",
+ "in": "body",
+ "required": true,
+ "description": "Management group patch parameters.",
+ "schema": {
+ "$ref": "#/definitions/PatchManagementGroupRequest"
+ }
+ },
+ "FilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "description": "A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription')",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "GroupNameParameter": {
+ "name": "groupName",
+ "in": "query",
+ "required": false,
+ "description": "A filter which allows the call to be filtered for a specific group.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationResultIdParameter": {
+ "name": "operationResultId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "create",
+ "delete"
+ ],
+ "description": "The id of the operation result."
+ },
+ "CheckNameAvailabilityParameter": {
+ "name": "checkNameAvailabilityRequest",
+ "in": "body",
+ "required": true,
+ "description": "Management group name availability check parameters.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ }
+ },
+ "SkipTokenParameter": {
+ "name": "$skiptoken",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Page continuation token is only used if a previous operation returned a partial result. \nIf a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.\n"
+ },
+ "CacheControlHeader": {
+ "name": "Cache-Control",
+ "in": "header",
+ "default": "no-cache",
+ "description": "Indicates that the request shouldn't utilize any caches.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "EntityViewParameter": {
+ "name": "view",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "hierarchy"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "The view parameter allows clients to request that the list of entities be returned in the form of a hierarchy."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md
new file mode 100644
index 000000000000..19b0d5b80f3c
--- /dev/null
+++ b/specification/managementgroups/resource-manager/readme.md
@@ -0,0 +1,171 @@
+# Management Groups
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Management Groups.
+
+
+
+---
+## Getting Started
+To build the SDK for Management Groups, 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 API.
+
+``` yaml
+openapi-type: arm
+tag: package-2017-11
+```
+
+### Tag: package-2018-01
+These settings apply only when `--tag=package-2018-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-01'
+input-file:
+ - Microsoft.Management/preview/2018-01-01-preview/management.json
+```
+
+### Tag: package-2017-11
+These settings apply only when `--tag=package-2017-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-11'
+input-file:
+ - Microsoft.Management/preview/2017-11-01-preview/management.json
+```
+
+### Tag: package-2017-08
+These settings apply only when `--tag=package-2017-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-08'
+input-file:
+ - Microsoft.Management/preview/2017-08-31-preview/management.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+## 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.ManagementGroups
+ output-folder: $(csharp-sdks-folder)/ManagementGroups/Management.ManagementGroups/Generated
+ clear-output-folder: true
+```
+
+## 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: 1
+ namespace: azure.mgmt.managementgroups
+ package-name: azure-mgmt-managementgroups
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-managementgroups/azure/mgmt/managementgroups
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-managementgroups
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: managementgroups
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-01
+ - tag: package-2017-11
+ - tag: package-2017-08
+```
+
+### Tag: package-2018-01 and go
+
+These settings apply only when `--tag=package-2018-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2018-01' && $(go)
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2018-01-01-preview/management
+```
+
+### Tag: package-2017-11 and go
+
+These settings apply only when `--tag=package-2017-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-11' && $(go)
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2017-11-01-preview/management
+```
+
+### Tag: package-2017-08 and go
+
+These settings apply only when `--tag=package-2017-08 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-08' && $(go)
+output-folder: $(go-sdk-folder)/services/resources/mgmt/2017-08-31-preview/management
+```
+
+## 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.managementgroups
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-managementgroups
+```
diff --git a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json
new file mode 100644
index 000000000000..83ae6c3a3bd3
--- /dev/null
+++ b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json
@@ -0,0 +1,394 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ACE Provisioning ManagementPartner API",
+ "description": "This API describe ACE Provisioning ManagementPartner",
+ "version": "2018-02-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "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.ManagementPartner/partners/{partnerId}": {
+ "get": {
+ "summary": "Get a specific `Partner`.",
+ "description": "Get the management partner using the partnerId, objectId and tenantId.",
+ "operationId": "Partner_Get",
+ "x-ms-examples": {
+ "GetPartnerDetails": {
+ "$ref": "./examples/GetPartnerDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartnerIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "partner"
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the `Partner`.",
+ "schema": {
+ "$ref": "#/definitions/PartnerResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "summary": "Create a specific `Partner`.",
+ "description": "Create a management partner for the objectId and tenantId.",
+ "operationId": "Partner_Create",
+ "x-ms-examples": {
+ "PutPartnerDetails": {
+ "$ref": "./examples/PutPartnerDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartnerIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "partner"
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the `Partner`.",
+ "schema": {
+ "$ref": "#/definitions/PartnerResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "summary": "Update a specific `Partner`.",
+ "description": "Update the management partner for the objectId and tenantId.",
+ "operationId": "Partner_Update",
+ "x-ms-examples": {
+ "PatchPartnerDetails": {
+ "$ref": "./examples/PatchPartnerDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartnerIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "partner"
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the `Partner`.",
+ "schema": {
+ "$ref": "#/definitions/PartnerResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete a specific `Partner`.",
+ "description": "Delete the management partner for the objectId and tenantId.",
+ "operationId": "Partner_Delete",
+ "x-ms-examples": {
+ "DeletePartnerDetails": {
+ "$ref": "./examples/DeletePartnerDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartnerIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "partner"
+ ],
+ "responses": {
+ "200": {
+ "description": "Deleted the `Partner`."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ManagementPartner/operations": {
+ "get": {
+ "summary": "Get operations.",
+ "description": "List all the operations.",
+ "operationId": "Operation_List",
+ "x-ms-examples": {
+ "GetOperations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Operation"
+ ],
+ "responses": {
+ "200": {
+ "description": "List all the operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PartnerResponse": {
+ "type": "object",
+ "description": "this is the management partner operations response",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "etag": {
+ "type": "integer",
+ "description": "Type of the partner"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Identifier of the partner"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the partner"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PartnerProperties",
+ "description": "Properties of the partner"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of resource. \"Microsoft.ManagementPartner/partners\""
+ }
+ }
+ },
+ "PartnerProperties": {
+ "type": "object",
+ "description": "this is the management partner properties",
+ "properties": {
+ "partnerId": {
+ "type": "string",
+ "description": "This is the partner id"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "This is the tenant id."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "This is the object id."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version."
+ },
+ "updatedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "This is the DateTime when the partner was updated."
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "This is the DateTime when the partner was created."
+ },
+ "state": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagementPartnerState",
+ "description": "This is the partner state"
+ }
+ }
+ },
+ "ManagementPartnerState": {
+ "type": "string",
+ "description": "this is the management partner state: Active or Deleted",
+ "enum": [
+ "Active",
+ "Deleted"
+ ]
+ },
+ "ErrorResponseCode": {
+ "type": "string",
+ "description": "this is the error response code that management partner operations may return",
+ "enum": [
+ "NotFound",
+ "Conflict",
+ "BadRequest"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "description": "this is the management partner operations error",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ExtendedErrorInfo",
+ "description": "this is the ExtendedErrorInfo property"
+ }
+ }
+ },
+ "ExtendedErrorInfo": {
+ "type": "object",
+ "description": "this is the extended error info",
+ "properties": {
+ "code": {
+ "$ref": "#/definitions/ErrorResponseCode",
+ "description": "this is the error response code"
+ },
+ "message": {
+ "type": "string",
+ "description": "this is the extended error info message"
+ }
+ }
+ },
+ "OperationList": {
+ "type": "object",
+ "description": "this is the management partner operations list",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResponse",
+ "description": "this is the operation response property"
+ },
+ "description": "this is the operation response list"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Url to get the next page of items."
+ }
+ }
+ },
+ "OperationResponse": {
+ "type": "object",
+ "description": "this is the management partner operations response",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "this is the operation response name"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "this is the operation display"
+ },
+ "origin": {
+ "type": "string",
+ "description": "the is operation response origin information"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "this is the management partner operation",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "the is management partner provider"
+ },
+ "resource": {
+ "type": "string",
+ "description": "the is management partner resource"
+
+ },
+ "operation": {
+ "type": "string",
+ "description": "the is management partner operation"
+ },
+ "description": {
+ "type": "string",
+ "description": "the is management partner operation description"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "PartnerIdParameter": {
+ "name": "partnerId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Id of the Partner"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Supported version.",
+ "required": true,
+ "type": "string"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/DeletePartnerDetails.json b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/DeletePartnerDetails.json
new file mode 100644
index 000000000000..9a85bf5fd40d
--- /dev/null
+++ b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/DeletePartnerDetails.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2018-02-01",
+ "partnerId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/GetOperations.json b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/GetOperations.json
new file mode 100644
index 000000000000..7bfc696742fa
--- /dev/null
+++ b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/GetOperations.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2018-02-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ManagementPartner/partners/read",
+ "display": {
+ "provider": "Microsoft ManagementPartner",
+ "resource": "ManagementPartner",
+ "operation": "Get ManagementPartner",
+ "description": "Read All ManagementPartner"
+ }
+ },
+ {
+ "name": "Microsoft.ManagementPartner/partners/write",
+ "display": {
+ "provider": "Microsoft ManagementPartner",
+ "resource": "ManagementPartner",
+ "operation": "Create ManagementPartner",
+ "description": "Create any ManagementPartner"
+ }
+ },
+ {
+ "name": "Microsoft.ManagementPartner/partners/action",
+ "display": {
+ "provider": "Microsoft ManagementPartner",
+ "resource": "ManagementPartner",
+ "operation": "Update ManagementPartner",
+ "description": "Update any ManagementPartner"
+ }
+ },
+ {
+ "name": "Microsoft.ManagementPartner/partners/delete",
+ "display": {
+ "provider": "Microsoft ManagementPartner",
+ "resource": "ManagementPartner",
+ "operation": "Delete ManagementPartner",
+ "description": "Delete any ManagementPartner"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/GetPartnerDetails.json b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/GetPartnerDetails.json
new file mode 100644
index 000000000000..024dad95d651
--- /dev/null
+++ b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/GetPartnerDetails.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2018-02-01",
+ "partnerId": "123456"
+
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/microsoft.managementpartner/partners/123456",
+ "type": "Microsoft.ManagementPartner/partner",
+ "name": "123456",
+ "etag": 3,
+ "properties": {
+ "partnerId": "123456",
+ "tenantId": "1b1121dd-6900-412a-af73-e8d44f81e1c1",
+ "objectId": "aa67f786-0552-423e-8849-244ed12bf581",
+ "version": "3",
+ "updatedTime": "2018-01-20T01:52:57.9126052Z",
+ "createdTime": "2018-01-20T01:23:40.5280496Z",
+ "state": "Active"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/PatchPartnerDetails.json b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/PatchPartnerDetails.json
new file mode 100644
index 000000000000..024dad95d651
--- /dev/null
+++ b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/PatchPartnerDetails.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2018-02-01",
+ "partnerId": "123456"
+
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/microsoft.managementpartner/partners/123456",
+ "type": "Microsoft.ManagementPartner/partner",
+ "name": "123456",
+ "etag": 3,
+ "properties": {
+ "partnerId": "123456",
+ "tenantId": "1b1121dd-6900-412a-af73-e8d44f81e1c1",
+ "objectId": "aa67f786-0552-423e-8849-244ed12bf581",
+ "version": "3",
+ "updatedTime": "2018-01-20T01:52:57.9126052Z",
+ "createdTime": "2018-01-20T01:23:40.5280496Z",
+ "state": "Active"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/PutPartnerDetails.json b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/PutPartnerDetails.json
new file mode 100644
index 000000000000..024dad95d651
--- /dev/null
+++ b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/examples/PutPartnerDetails.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2018-02-01",
+ "partnerId": "123456"
+
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/microsoft.managementpartner/partners/123456",
+ "type": "Microsoft.ManagementPartner/partner",
+ "name": "123456",
+ "etag": 3,
+ "properties": {
+ "partnerId": "123456",
+ "tenantId": "1b1121dd-6900-412a-af73-e8d44f81e1c1",
+ "objectId": "aa67f786-0552-423e-8849-244ed12bf581",
+ "version": "3",
+ "updatedTime": "2018-01-20T01:52:57.9126052Z",
+ "createdTime": "2018-01-20T01:23:40.5280496Z",
+ "state": "Active"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/managementpartner/resource-manager/readme.md b/specification/managementpartner/resource-manager/readme.md
new file mode 100644
index 000000000000..87cf9a786402
--- /dev/null
+++ b/specification/managementpartner/resource-manager/readme.md
@@ -0,0 +1,123 @@
+# ManagementPartner
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for ManagementPartner RP.
+
+
+
+---
+## Getting Started
+To build the SDK for ManagementPartner, 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 ManagementPartner API.
+
+``` yaml
+openapi-type: arm
+tag: package-2018-02
+```
+
+
+### Tag: package-2018-02
+
+These settings apply only when `--tag=package-2018-02` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-02'
+input-file:
+- Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.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-go
+```
+
+## 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.ManagementPartner
+ output-folder: $(csharp-sdks-folder)/ManagementPartner/Management.ManagementPartner/Generated
+ clear-output-folder: true
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: managementpartner
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-02
+```
+
+### Tag: package-2018-02 and go
+
+These settings apply only when `--tag=package-2018-02 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2018-02' && $(go)
+output-folder: $(go-sdk-folder)/services/managementpartner/mgmt/2018-02-01/managementpartner
+```
+
+## 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.managementpartner
+ package-name: azure-mgmt-managementpartner
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-managementpartner/azure/mgmt/managementpartner
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-managementpartner
+```
diff --git a/specification/marketplaceordering/resource-manager/readme.md b/specification/marketplaceordering/resource-manager/readme.md
index 5e0508c20420..e232e182e55e 100644
--- a/specification/marketplaceordering/resource-manager/readme.md
+++ b/specification/marketplaceordering/resource-manager/readme.md
@@ -66,7 +66,18 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -82,6 +93,43 @@ csharp:
```
+## 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.marketplaceordering
+ package-name: azure-mgmt-marketplaceordering
+ 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-marketplaceordering/azure/mgmt/marketplaceordering
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-marketplaceordering
+```
+
+Workaround invalid date-time returned by the server.
+
+``` yaml $(python)
+directive:
+ - from: swagger-document
+ where: $.definitions.AgreementProperties.properties.retrieveDatetime
+ transform: delete $.format
+```
+
## Go
These settings apply only when `--go` is specified on the command line.
@@ -93,6 +141,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-06-01
+```
+
### Tag: package-2015-06-01 and go
These settings apply only when `--tag=package-2015-06-01 --go` is specified on the command line.
@@ -101,3 +156,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.marketplaceordering
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-marketplaceordering
+```
diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md
index 16a7fdd7d53a..e3c31adc28c2 100644
--- a/specification/mediaservices/resource-manager/readme.md
+++ b/specification/mediaservices/resource-manager/readme.md
@@ -43,6 +43,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -98,6 +111,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-10
+```
+
### Tag: package-2015-10 and go
These settings apply only when `--tag=package-2015-10 --go` is specified on the command line.
@@ -106,3 +126,19 @@ Please also specify the `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.mediaservices
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-mediaservices
+```
diff --git a/specification/mobileengagement/resource-manager/readme.md b/specification/mobileengagement/resource-manager/readme.md
index 3abe09ce6609..ff106b00757c 100644
--- a/specification/mobileengagement/resource-manager/readme.md
+++ b/specification/mobileengagement/resource-manager/readme.md
@@ -44,6 +44,17 @@ input-file:
# 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-go
+```
+
+
## Go
These settings apply only when `--go` is specified on the command line.
@@ -55,6 +66,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2014-12
+```
+
### Tag: package-2014-12 and go
These settings apply only when `--tag=package-2014-12 --go` is specified on the command line.
@@ -63,3 +81,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.mobileengagement
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-mobileengagement
+```
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/activityLogs_API.json b/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/activityLogs_API.json
index 5da3a86792fe..016d1aa9f4e8 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/activityLogs_API.json
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/activityLogs_API.json
@@ -216,12 +216,13 @@
"description": "The Http request info."
},
"EventData": {
- "required": [ "level", "eventTimestamp", "submissionTimestamp" ],
"properties": {
"authorization": {
+ "readOnly": true,
"$ref": "#/definitions/SenderAuthorization"
},
"claims": {
+ "readOnly": true,
"type": "object",
"additionalProperties": {
"type": "string"
@@ -229,38 +230,47 @@
"description": "key value pairs to identify ARM permissions."
},
"caller": {
+ "readOnly": true,
"type": "string",
"description": "the email address of the user who has performed the operation, the UPN claim or SPN claim based on availability."
},
"description": {
+ "readOnly": true,
"type": "string",
"description": "the description of the event."
},
"id": {
+ "readOnly": true,
"type": "string",
"description": "the Id of this event as required by ARM for RBAC. It contains the EventDataID and a timestamp information."
},
"eventDataId": {
+ "readOnly": true,
"type": "string",
"description": "the event data Id. This is a unique identifier for an event."
},
"correlationId": {
+ "readOnly": true,
"type": "string",
"description": "the correlation Id, usually a GUID in the string format. The correlation Id is shared among the events that belong to the same uber operation."
},
"eventName": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the event name. This value should not be confused with OperationName. For practical purposes, OperationName might be more appealing to end users."
},
"category": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the event category."
},
"httpRequest": {
+ "readOnly": true,
"$ref": "#/definitions/HttpRequestInfo",
"description": "the HTTP request info. Usually includes the 'clientRequestId', 'clientIpAddress' (IP address of the user who initiated the event) and 'method' (HTTP method e.g. PUT)."
},
"level": {
+ "readOnly": true,
"type": "string",
"description": "the event level",
"enum": [
@@ -276,6 +286,7 @@
}
},
"resourceGroupName": {
+ "readOnly": true,
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790546.aspx"
},
@@ -283,6 +294,7 @@
"description": "the resource group name of the impacted resource."
},
"resourceProviderName": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790572.aspx"
@@ -290,6 +302,7 @@
"description": "the resource provider name of the impacted resource."
},
"resourceId": {
+ "readOnly": true,
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790569.aspx"
},
@@ -297,6 +310,7 @@
"description": "the resource uri that uniquely identifies the resource that caused this event."
},
"resourceType": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790569.aspx"
@@ -304,14 +318,17 @@
"description": "the resource type"
},
"operationId": {
+ "readOnly": true,
"type": "string",
"description": "It is usually a GUID shared among the events corresponding to single operation. This value should not be confused with EventName."
},
"operationName": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the operation name."
},
"properties": {
+ "readOnly": true,
"type": "object",
"additionalProperties": {
"type": "string"
@@ -319,28 +336,34 @@
"description": "the set of pairs (usually a Dictionary) that includes details about the event."
},
"status": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "a string describing the status of the operation. Some typical values are: Started, In progress, Succeeded, Failed, Resolved."
},
"subStatus": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the event sub status. Most of the time, when included, this captures the HTTP status code of the REST call. Common values are: OK (HTTP Status Code: 200), Created (HTTP Status Code: 201), Accepted (HTTP Status Code: 202), No Content (HTTP Status Code: 204), Bad Request(HTTP Status Code: 400), Not Found (HTTP Status Code: 404), Conflict (HTTP Status Code: 409), Internal Server Error (HTTP Status Code: 500), Service Unavailable (HTTP Status Code:503), Gateway Timeout (HTTP Status Code: 504)"
},
"eventTimestamp": {
+ "readOnly": true,
"type": "string",
"format": "date-time",
"description": "the timestamp of when the event was generated by the Azure service processing the request corresponding the event. It in ISO 8601 format."
},
"submissionTimestamp": {
+ "readOnly": true,
"type": "string",
"format": "date-time",
"description": "the timestamp of when the event became available for querying via this API. It is in ISO 8601 format. This value should not be confused eventTimestamp. As there might be a delay between the occurrence time of the event, and the time that the event is submitted to the Azure logging infrastructure."
},
"subscriptionId": {
+ "readOnly": true,
"type": "string",
"description": "the Azure subscription Id usually a GUID."
},
"tenantId": {
+ "readOnly": true,
"type": "string",
"description": "the Azure tenant Id"
}
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/tenantActivityLogs_API.json b/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/tenantActivityLogs_API.json
index 2005cb344643..b5de6e1a953d 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/tenantActivityLogs_API.json
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/tenantActivityLogs_API.json
@@ -213,12 +213,13 @@
"description": "The Http request info."
},
"EventData": {
- "required": [ "level", "eventTimestamp", "submissionTimestamp" ],
"properties": {
"authorization": {
+ "readOnly": true,
"$ref": "#/definitions/SenderAuthorization"
},
"claims": {
+ "readOnly": true,
"type": "object",
"additionalProperties": {
"type": "string"
@@ -226,38 +227,47 @@
"description": "key value pairs to identify ARM permissions."
},
"caller": {
+ "readOnly": true,
"type": "string",
"description": "the email address of the user who has performed the operation, the UPN claim or SPN claim based on availability."
},
"description": {
+ "readOnly": true,
"type": "string",
"description": "the description of the event."
},
"id": {
+ "readOnly": true,
"type": "string",
"description": "the Id of this event as required by ARM for RBAC. It contains the EventDataID and a timestamp information."
},
"eventDataId": {
+ "readOnly": true,
"type": "string",
"description": "the event data Id. This is a unique identifier for an event."
},
"correlationId": {
+ "readOnly": true,
"type": "string",
"description": "the correlation Id, usually a GUID in the string format. The correlation Id is shared among the events that belong to the same uber operation."
},
"eventName": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the event name. This value should not be confused with OperationName. For practical purposes, OperationName might be more appealing to end users."
},
"category": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the event category."
},
"httpRequest": {
+ "readOnly": true,
"$ref": "#/definitions/HttpRequestInfo",
"description": "the HTTP request info. Usually includes the 'clientRequestId', 'clientIpAddress' (IP address of the user who initiated the event) and 'method' (HTTP method e.g. PUT)."
},
"level": {
+ "readOnly": true,
"type": "string",
"description": "the event level",
"enum": [
@@ -273,6 +283,7 @@
}
},
"resourceGroupName": {
+ "readOnly": true,
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790546.aspx"
},
@@ -280,6 +291,7 @@
"description": "the resource group name of the impacted resource."
},
"resourceProviderName": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790572.aspx"
@@ -287,6 +299,7 @@
"description": "the resource provider name of the impacted resource."
},
"resourceId": {
+ "readOnly": true,
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790569.aspx"
},
@@ -294,6 +307,7 @@
"description": "the resource uri that uniquely identifies the resource that caused this event."
},
"resourceType": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"externalDocs": {
"url": "http://msdn.microsoft.com/en-us/library/azure/dn790569.aspx"
@@ -301,14 +315,17 @@
"description": "the resource type"
},
"operationId": {
+ "readOnly": true,
"type": "string",
"description": "It is usually a GUID shared among the events corresponding to single operation. This value should not be confused with EventName."
},
"operationName": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the operation name."
},
"properties": {
+ "readOnly": true,
"type": "object",
"additionalProperties": {
"type": "string"
@@ -316,28 +333,34 @@
"description": "the set of pairs (usually a Dictionary) that includes details about the event."
},
"status": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "a string describing the status of the operation. Some typical values are: Started, In progress, Succeeded, Failed, Resolved."
},
"subStatus": {
+ "readOnly": true,
"$ref": "#/definitions/LocalizableString",
"description": "the event sub status. Most of the time, when included, this captures the HTTP status code of the REST call. Common values are: OK (HTTP Status Code: 200), Created (HTTP Status Code: 201), Accepted (HTTP Status Code: 202), No Content (HTTP Status Code: 204), Bad Request(HTTP Status Code: 400), Not Found (HTTP Status Code: 404), Conflict (HTTP Status Code: 409), Internal Server Error (HTTP Status Code: 500), Service Unavailable (HTTP Status Code:503), Gateway Timeout (HTTP Status Code: 504)"
},
"eventTimestamp": {
+ "readOnly": true,
"type": "string",
"format": "date-time",
"description": "the timestamp of when the event was generated by the Azure service processing the request corresponding the event. It in ISO 8601 format."
},
"submissionTimestamp": {
+ "readOnly": true,
"type": "string",
"format": "date-time",
"description": "the timestamp of when the event became available for querying via this API. It is in ISO 8601 format. This value should not be confused eventTimestamp. As there might be a delay between the occurrence time of the event, and the time that the event is submitted to the Azure logging infrastructure."
},
"subscriptionId": {
+ "readOnly": true,
"type": "string",
"description": "the Azure subscription Id usually a GUID."
},
"tenantId": {
+ "readOnly": true,
"type": "string",
"description": "the Azure tenant Id"
}
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/actionGroups_API.json b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/actionGroups_API.json
index fdad7e4b20a9..e9aa7d84ff75 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/actionGroups_API.json
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/actionGroups_API.json
@@ -162,6 +162,52 @@
}
}
}
+ },
+ "patch": {
+ "description": "Updates an existing action group's tags. To update other fields use the CreateOrUpdate method.",
+ "operationId": "ActionGroups_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ActionGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "actionGroupPatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActionGroupPatchBody"
+ },
+ "description": "Parameters supplied to the operation."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "An existing action group was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ActionGroupResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch an action group": {
+ "$ref": "./examples/patchActionGroup.json"
+ }
+ }
}
},
"/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups": {
@@ -391,6 +437,27 @@
"$ref": "#/definitions/WebhookReceiver"
},
"description": "The list of webhook receivers that are part of this action group."
+ },
+ "itsmReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ItsmReceiver"
+ },
+ "description": "The list of ITSM receivers that are part of this action group."
+ },
+ "azureAppPushReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureAppPushReceiver"
+ },
+ "description": "The list of AzureAppPush receivers that are part of this action group."
+ },
+ "automationRunbookReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationRunbookReceiver"
+ },
+ "description": "The list of AutomationRunbook receivers that are part of this action group."
}
},
"required": [
@@ -464,6 +531,90 @@
"serviceUri"
]
},
+ "ItsmReceiver": {
+ "description": "An Itsm receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the Itsm receiver. Names must be unique across all receivers within an action group."
+ },
+ "workspaceId": {
+ "type": "string",
+ "description": "OMS LA instance identifier."
+ },
+ "connectionId": {
+ "type": "string",
+ "description": "Unique identification of ITSM connection among multiple defined in above workspace."
+ },
+ "ticketConfiguration": {
+ "type": "string",
+ "description": "JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well."
+ },
+ "region": {
+ "type": "string",
+ "description": "Region in which workspace resides. Supported values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope'"
+ }
+ },
+ "required": [
+ "name",
+ "workspaceId",
+ "connectionId",
+ "ticketConfiguration",
+ "region"
+ ]
+ },
+ "AzureAppPushReceiver": {
+ "description": "The Azure mobile App push notification receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group."
+ },
+ "emailAddress": {
+ "type": "string",
+ "description": "The email address registered for the Azure mobile app."
+ }
+ },
+ "required": [
+ "name",
+ "emailAddress"
+ ]
+ },
+ "AutomationRunbookReceiver": {
+ "description": "The Azure Automation Runbook notification receiver.",
+ "properties": {
+ "automationAccountId": {
+ "type": "string",
+ "description": "The Azure automation account Id which holds this runbook and authenticate to Azure resource."
+ },
+ "runbookName": {
+ "type": "string",
+ "description": "The name for this runbook."
+ },
+ "webhookResourceId": {
+ "type": "string",
+ "description": "The resource id for webhook linked to this runbook."
+ },
+ "isGlobalRunbook": {
+ "type": "boolean",
+ "description": "Indicates whether this instance is global runbook."
+ },
+ "name": {
+ "type": "string",
+ "description": "Indicates name of the webhook."
+ },
+ "serviceUri": {
+ "type": "string",
+ "description": "The URI where webhooks should be sent."
+ }
+ },
+ "required": [
+ "automationAccountId",
+ "runbookName",
+ "webhookResourceId",
+ "isGlobalRunbook"
+ ]
+ },
"ReceiverStatus": {
"type": "string",
"enum": [
@@ -502,6 +653,32 @@
"type": "string"
}
}
+ },
+ "ActionGroupPatchBody": {
+ "description": "An action group object for the body of patch operations.",
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ActionGroupPatch",
+ "description": "The action group settings for an update operation."
+ }
+ }
+ },
+ "ActionGroupPatch": {
+ "description": "An Azure action group for patch operations.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its actions will be activated."
+ }
+ }
}
},
"parameters": {
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/createOrUpdateActionGroup.json b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/createOrUpdateActionGroup.json
index 9741f061f21b..c061cee773df 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/createOrUpdateActionGroup.json
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/createOrUpdateActionGroup.json
@@ -37,6 +37,31 @@
"name": "Sample webhook",
"serviceUri": "http://www.example.com/webhook"
}
+ ],
+ "itsmReceivers": [
+ {
+ "name": "Sample itsm",
+ "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c",
+ "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1",
+ "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
+ "region": "westcentralus"
+ }
+ ],
+ "azureAppPushReceivers": [
+ {
+ "name": "Sample azureAppPush",
+ "emailAddress": "johndoe@email.com"
+ }
+ ],
+ "automationRunbookReceivers": [
+ {
+ "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest",
+ "runbookName": "Sample runbook",
+ "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084",
+ "isGlobalRunbook": false,
+ "name": "testRunbook",
+ "serviceUri": "https://s13events.azure-automation.net/webhooks?token=iimE%2fD19Eg%2bvDy22yUMecIZY6Uiz%2bHfuQ67r8r1wY%2fI%3d"
+ }
]
}
}
@@ -84,6 +109,31 @@
"name": "Sample webhook",
"serviceUri": "http://www.example.com/webhook"
}
+ ],
+ "itsmReceivers": [
+ {
+ "name": "Sample itsm",
+ "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c",
+ "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1",
+ "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
+ "region": "westcentralus"
+ }
+ ],
+ "azureAppPushReceivers": [
+ {
+ "name": "Sample azureAppPush",
+ "emailAddress": "johndoe@email.com"
+ }
+ ],
+ "automationRunbookReceivers": [
+ {
+ "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest",
+ "runbookName": "Sample runbook",
+ "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084",
+ "isGlobalRunbook": false,
+ "name": "testRunbook",
+ "serviceUri": "https://s13events.azure-automation.net/webhooks?token=iimE%2fD19Eg%2bvDy22yUMecIZY6Uiz%2bHfuQ67r8r1wY%2fI%3d"
+ }
]
}
}
@@ -130,6 +180,31 @@
"name": "Sample webhook",
"serviceUri": "http://www.example.com/webhook"
}
+ ],
+ "itsmReceivers": [
+ {
+ "name": "Sample itsm",
+ "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c",
+ "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1",
+ "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
+ "region": "westcentralus"
+ }
+ ],
+ "azureAppPushReceivers": [
+ {
+ "name": "Sample azureAppPush",
+ "emailAddress": "johndoe@email.com"
+ }
+ ],
+ "automationRunbookReceivers": [
+ {
+ "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest",
+ "runbookName": "Sample runbook",
+ "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084",
+ "isGlobalRunbook": false,
+ "name": "testRunbook",
+ "serviceUri": "https://s13events.azure-automation.net/webhooks?token=iimE%2fD19Eg%2bvDy22yUMecIZY6Uiz%2bHfuQ67r8r1wY%2fI%3d"
+ }
]
}
}
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/enableReceiver.json b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/enableReceiver.json
index 242f9d73e5f3..65bd11c1c1fb 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/enableReceiver.json
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/enableReceiver.json
@@ -12,6 +12,10 @@
"200": {
"headers": {},
"body": null
+ },
+ "409": {
+ "headers": {},
+ "body": null
}
}
}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/patchActionGroup.json b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/patchActionGroup.json
new file mode 100644
index 000000000000..1175ff17126e
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/patchActionGroup.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2017-04-01",
+ "actionGroupPatch": {
+ "tags": { "key1": "value1", "key2": "value2" },
+ "properties": {
+ "enabled": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": { },
+ "body": {
+ "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup",
+ "type": "Microsoft.Insights/ActionGroups",
+ "name": "SampleActionGroup",
+ "location": "Global",
+ "tags": { "key1": "value1", "key2": "value2" },
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Enabled"
+ }
+ ],
+ "smsReceivers":[
+ {
+ "name": "John Doe's mobile",
+ "countryCode": "1",
+ "phoneNumber": "1234567890",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321",
+ "status": "Enabled"
+ }
+ ],
+ "webhookReceivers":[
+ {
+ "name": "Sample webhook",
+ "serviceUri": "http://www.example.com/webhook"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetric.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetric.json
new file mode 100644
index 000000000000..e4577210e0fa
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetric.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default",
+ "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z",
+ "metric": "BlobCapacity",
+ "metricnamespace": "Microsoft.Storage/storageAccounts/blobServices",
+ "$filter": "BlobType eq '*'",
+ "top": 3,
+ "orderby": "Average asc",
+ "aggregation": "Average,count",
+ "interval": "PT1M",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "cost": 0,
+ "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z",
+ "interval": "PT1M",
+ "namespace": "Microsoft.Storage/storageAccounts/blobServices",
+ "resourceregion": "eastus2",
+ "value": [
+ {
+ "id": "/subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default/providers/Microsoft.Insights/metrics/BlobCapacity",
+ "type": "Microsoft.Insights/metrics",
+ "name": {
+ "value": "BlobCapacity",
+ "localizedValue": "Blob Capacity"
+ },
+ "unit": "Bytes",
+ "timeseries": [
+ {
+ "metadatavalues": [
+ {
+ "name": {
+ "value": "blobtype",
+ "localizedValue": "blobtype"
+ },
+ "value": "PageBlob"
+ }
+ ],
+ "data": [
+ {
+ "timeStamp": "2017-04-14T02:20:00Z",
+ "count": 0.0
+ },
+ {
+ "timeStamp": "2017-04-14T02:21:00Z",
+ "count": 0.0
+ },
+ {
+ "timeStamp": "2017-04-14T02:22:00Z",
+ "count": 0.0
+ },
+ {
+ "timeStamp": "2017-04-14T02:23:00Z",
+ "count": 1.0,
+ "average": 0.0
+ }
+ ]
+ },
+ {
+ "metadatavalues": [
+ {
+ "name": {
+ "value": "blobtype",
+ "localizedValue": "blobtype"
+ },
+ "value": "BlockBlob"
+ }
+ ],
+ "data": [
+ {
+ "timeStamp": "2017-04-14T02:20:00Z",
+ "count": 0.0
+ },
+ {
+ "timeStamp": "2017-04-14T02:21:00Z",
+ "count": 0.0
+ },
+ {
+ "timeStamp": "2017-04-14T02:22:00Z",
+ "count": 0.0
+ },
+ {
+ "timeStamp": "2017-04-14T02:23:00Z",
+ "count": 1.0,
+ "average": 245.0
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricDefinitions.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricDefinitions.json
new file mode 100644
index 000000000000..5f49d369c758
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricDefinitions.json
@@ -0,0 +1,928 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricDefinitions",
+ "api-version": "2018-01-01",
+ "metricnamespace": "Microsoft.Web/sites"
+ },
+ "responses": {
+ "200": {
+ "body":
+ {
+ "value": [{
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/CpuTime",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "CpuTime",
+ "localizedValue": "CPU Time"
+ },
+ "isDimensionRequired": false,
+ "unit": "Seconds",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Requests",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Requests",
+ "localizedValue": "Requests"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/BytesReceived",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "BytesReceived",
+ "localizedValue": "Data In"
+ },
+ "isDimensionRequired": false,
+ "unit": "Bytes",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/BytesSent",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "BytesSent",
+ "localizedValue": "Data Out"
+ },
+ "isDimensionRequired": false,
+ "unit": "Bytes",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http101",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http101",
+ "localizedValue": "Http 101"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http2xx",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http2xx",
+ "localizedValue": "Http 2xx"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http3xx",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http3xx",
+ "localizedValue": "Http 3xx"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http401",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http401",
+ "localizedValue": "Http 401"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http403",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http403",
+ "localizedValue": "Http 403"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http404",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http404",
+ "localizedValue": "Http 404"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http406",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http406",
+ "localizedValue": "Http 406"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http4xx",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http4xx",
+ "localizedValue": "Http 4xx"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/Http5xx",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "Http5xx",
+ "localizedValue": "Http Server Errors"
+ },
+ "isDimensionRequired": false,
+ "unit": "Count",
+ "primaryAggregationType": "Total",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/MemoryWorkingSet",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "MemoryWorkingSet",
+ "localizedValue": "Memory working set"
+ },
+ "isDimensionRequired": false,
+ "unit": "Bytes",
+ "primaryAggregationType": "Average",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/AverageMemoryWorkingSet",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "AverageMemoryWorkingSet",
+ "localizedValue": "Average memory working set"
+ },
+ "isDimensionRequired": false,
+ "unit": "Bytes",
+ "primaryAggregationType": "Average",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }, {
+ "id": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest/providers/microsoft.insights/metricdefinitions/AverageResponseTime",
+ "resourceId": "/subscriptions/07c0b09d-9f69-4e6e-8d05-f59f67299cb2/resourceGroups/Rac46PostSwapRG/providers/Microsoft.Web/sites/alertruleTest",
+ "namespace": "Microsoft.Web/sites",
+ "name": {
+ "value": "AverageResponseTime",
+ "localizedValue": "Average Response Time"
+ },
+ "isDimensionRequired": false,
+ "unit": "Seconds",
+ "primaryAggregationType": "Average",
+ "supportedAggregationTypes": [
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "metricAvailabilities": [{
+ "timeGrain": "PT1M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT5M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT15M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT30M",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT6H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "PT12H",
+ "retention": "P93D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P93D"
+ }
+ ],
+ "dimensions": [{
+ "value": "Instance",
+ "localizedValue": "Instance"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricMetadata.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricMetadata.json
new file mode 100644
index 000000000000..eb929a0ee350
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricMetadata.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z",
+ "metric": "BlobCapacity",
+ "metricnamespace": "Microsoft.Storage/storageAccounts/blobServices",
+ "$filter": "BlobType eq '*'",
+ "top": 3,
+ "orderby": "Average asc",
+ "aggregation": "Average,count",
+ "interval": "PT1M",
+ "resulttype": "metadata",
+ "resourceUri": "subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z",
+ "namespace": "Microsoft.Storage/storageAccounts/blobServices",
+ "resourceregion": "eastus2",
+ "value": [
+ {
+ "id": "/subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default/providers/Microsoft.Insights/metrics/BlobCapacity",
+ "type": "Microsoft.Insights/metrics",
+ "name": {
+ "value": "BlobCapacity",
+ "localizedValue": "Blob Capacity"
+ },
+ "unit": "Bytes",
+ "timeseries": [
+ {
+ "metadatavalues": [
+ {
+ "name": {
+ "value": "blobtype",
+ "localizedValue": "blobtype"
+ },
+ "value": "BlockBlob"
+ }
+ ]
+ },
+ {
+ "metadatavalues": [
+ {
+ "name": {
+ "value": "blobtype",
+ "localizedValue": "blobtype"
+ },
+ "value": "PageBlob"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metricDefinitions_API.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metricDefinitions_API.json
new file mode 100644
index 000000000000..4ce7202cc364
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metricDefinitions_API.json
@@ -0,0 +1,253 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "MonitorManagementClient",
+ "x-ms-code-generation-settings": {
+ "name": "MonitorManagementClient"
+ },
+ "version": "2018-01-01"
+ },
+ "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": {
+ "/{resourceUri}/providers/microsoft.insights/metricDefinitions": {
+ "get": {
+ "tags": [
+ "MetricDefinitions"
+ ],
+ "operationId": "MetricDefinitions_List",
+ "description": "Lists the metric definitions for the resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MetricNamespaceParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to get the list of metric definitions",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Get Metric Definitions without filter": { "$ref": "./examples/GetMetricDefinitions.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LocalizableString": {
+ "required": [ "value" ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "the invariant value."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "the locale specific value."
+ }
+ },
+ "description": "The localizable string class."
+ },
+ "MetricAvailability": {
+ "properties": {
+ "timeGrain": {
+ "type": "string",
+ "format": "duration",
+ "description": "the time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'P1D', etc."
+ },
+ "retention": {
+ "type": "string",
+ "format": "duration",
+ "description": "the retention period for the metric at the specified timegrain. Expressed as a duration 'PT1M', 'P1D', etc."
+ }
+ },
+ "description": "Metric availability specifies the time grain (aggregation interval or frequency) and the retention period for that time grain."
+ },
+ "Unit": {
+ "type": "string",
+ "description": "the unit of the metric.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "CountPerSecond",
+ "BytesPerSecond",
+ "Percent",
+ "MilliSeconds",
+ "ByteSeconds",
+ "Unspecified"
+ ],
+ "x-ms-enum": {
+ "name": "Unit",
+ "modelAsString": false
+ }
+ },
+ "AggregationType":
+ {
+ "type": "string",
+ "description": "the aggregation type of the metric.",
+ "enum": [
+ "None",
+ "Average",
+ "Count",
+ "Minimum",
+ "Maximum",
+ "Total"
+ ],
+ "x-ms-enum": {
+ "name": "AggregationType",
+ "modelAsString": false
+ }
+ },
+ "MetricDefinition": {
+ "properties": {
+ "isDimensionRequired": {
+ "type": "boolean",
+ "description": "Flag to indicate whether the dimension is required."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "the resource identifier of the resource that emitted the metric."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "the namespace the metric blongs to."
+ },
+ "name": {
+ "$ref": "#/definitions/LocalizableString",
+ "description": "the name and the display name of the metric, i.e. it is a localizable string."
+ },
+ "unit": {
+ "$ref": "#/definitions/Unit",
+ "description": "the unit of the metric."
+ },
+ "primaryAggregationType": {
+ "$ref": "#/definitions/AggregationType",
+ "description": "the primary aggregation type value defining how to use the values for display."
+ },
+ "supportedAggregationTypes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AggregationType"
+ },
+ "description": "the collection of what aggregation types are supported."
+ },
+ "metricAvailabilities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricAvailability"
+ },
+ "description": "the collection of what aggregation intervals are available to be queried."
+ },
+ "id": {
+ "type": "string",
+ "description": "the resource identifier of the metric definition."
+ },
+ "dimensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocalizableString"
+ },
+ "description": "the name and the display name of the dimension, i.e. it is a localizable string."
+ }
+ },
+ "description": "Metric definition class specifies the metadata for a metric."
+ },
+ "MetricDefinitionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDefinition"
+ },
+ "description": "the values for the metric definitions."
+ }
+ },
+ "required": ["value"],
+ "description": "Represents collection of metric definitions."
+ },
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceUriParameter": {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier of the resource.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "MetricNamespaceParameter": {
+ "name": "metricnamespace",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Metric namespace to query metric definitions for."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metrics_API.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metrics_API.json
new file mode 100644
index 000000000000..acfc986094db
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metrics_API.json
@@ -0,0 +1,383 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "MonitorManagementClient",
+ "x-ms-code-generation-settings": {
+ "name": "MonitorManagementClient"
+ },
+ "version": "2018-01-01"
+ },
+ "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": {
+ "/{resourceUri}/providers/microsoft.insights/metrics": {
+ "get": {
+ "tags": [
+ "Metrics"
+ ],
+ "operationId": "Metrics_List",
+ "description": "**Lists the metric values for a resource**.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/TimespanParameter"
+ },
+ {
+ "$ref": "#/parameters/IntervalParameter"
+ },
+ {
+ "$ref": "#/parameters/MetricParameter"
+ },
+ {
+ "$ref": "#/parameters/AggregationsParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/OrderByParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "type": "string",
+ "description": "The **$filter** is used to reduce the set of metric data returned.
Example:
Metric contains metadata A, B and C.
- Return all time series of C where A = a1 and B = b1 or b2
**$filter=A eq ‘a1’ and B eq ‘b1’ or B eq ‘b2’ and C eq ‘*’**
- Invalid variant:
**$filter=A eq ‘a1’ and B eq ‘b1’ and C eq ‘*’ or B = ‘b2’**
This is invalid because the logical or operator cannot separate two different metadata names.
- Return all time series where A = a1, B = b1 and C = c1:
**$filter=A eq ‘a1’ and B eq ‘b1’ and C eq ‘c1’**
- Return all time series where A = a1
**$filter=A eq ‘a1’ and B eq ‘*’ and C eq ‘*’**.",
+ "required": false
+ },
+ {
+ "$ref": "#/parameters/ResultTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MetricNamespaceParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to get the list of metric values.",
+ "schema": {
+ "$ref": "#/definitions/Response"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/MetadataValue",
+ "x-ms-examples": {
+ "Get Metric for data": { "$ref": "./examples/GetMetric.json" },
+ "Get Metric for metadata": { "$ref": "./examples/GetMetricMetadata.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LocalizableString": {
+ "required": [ "value" ],
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "the invariant value."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "the locale specific value."
+ }
+ },
+ "description": "The localizable string class."
+ },
+ "Unit": {
+ "type": "string",
+ "description": "the unit of the metric.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "CountPerSecond",
+ "BytesPerSecond",
+ "Percent",
+ "MilliSeconds",
+ "ByteSeconds",
+ "Unspecified"
+ ],
+ "x-ms-enum": {
+ "name": "Unit",
+ "modelAsString": false
+ }
+ },
+ "MetricValue": {
+ "required": [ "timeStamp" ],
+ "properties": {
+ "timeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "the timestamp for the metric value in ISO 8601 format."
+ },
+ "average": {
+ "type": "number",
+ "format": "double",
+ "description": "the average value in the time range."
+ },
+ "minimum": {
+ "type": "number",
+ "format": "double",
+ "description": "the least value in the time range."
+ },
+ "maximum": {
+ "type": "number",
+ "format": "double",
+ "description": "the greatest value in the time range."
+ },
+ "total": {
+ "type": "number",
+ "format": "double",
+ "description": "the sum of all of the values in the time range."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "the number of samples in the time range. Can be used to determine the number of values that contributed to the average value."
+ }
+ },
+ "description": "Represents a metric value."
+ },
+ "MetadataValue": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/LocalizableString",
+ "description": "the name of the metadata."
+ },
+ "value": {
+ "type": "string",
+ "description": "the value of the metadata."
+ }
+ },
+ "description": "Represents a metric metadata value."
+ },
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "Response": {
+ "type": "object",
+ "properties": {
+ "cost": {
+ "type": "number",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The integer value representing the cost of the query, for data case."
+ },
+ "timespan": {
+ "type": "string",
+ "description": "The timespan for which the data was retrieved. Its value consists of two datatimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested."
+ },
+ "interval": {
+ "type": "string",
+ "format": "duration",
+ "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the metrics been queried"
+ },
+ "resourceregion": {
+ "type": "string",
+ "description": "The region of the resource been queried for metrics."
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Metric"
+ },
+ "description": "the value of the collection."
+ }
+ },
+ "required": [ "timespan", "value" ],
+ "description": "The response to a metrics query."
+ },
+ "Metric": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "the metric Id."
+ },
+ "type": {
+ "type": "string",
+ "description": "the resource type of the metric resource."
+ },
+ "name": {
+ "$ref": "#/definitions/LocalizableString",
+ "description": "the name and the display name of the metric, i.e. it is localizable string."
+ },
+ "unit": {
+ "$ref": "#/definitions/Unit",
+ "description": "the unit of the metric."
+ },
+ "timeseries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesElement"
+ },
+ "description": "the time series returned when a data query is performed."
+ }
+ },
+ "required": [ "id", "type", "name", "unit", "timeseries" ],
+ "description": "The result data of a query."
+ },
+ "TimeSeriesElement": {
+ "type": "object",
+ "properties": {
+ "metadatavalues": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataValue"
+ },
+ "description": "the metadata values returned if $filter was specified in the call."
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricValue"
+ },
+ "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified."
+ }
+ },
+ "description": "A time series result type. The discriminator value is always TimeSeries in this case."
+ }
+ },
+ "parameters": {
+ "ResourceUriParameter": {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier of the resource.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "TimespanParameter": {
+ "name": "timespan",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.",
+ "x-ms-parameter-location": "method"
+ },
+ "IntervalParameter": {
+ "name": "interval",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "duration",
+ "description": "The interval (i.e. timegrain) of the query.",
+ "x-ms-parameter-location": "method"
+ },
+ "MetricParameter": {
+ "name": "metric",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The name of the metric to retrieve.",
+ "x-ms-parameter-location": "method"
+ },
+ "AggregationsParameter": {
+ "name": "aggregation",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The list of aggregation types (comma separated) to retrieve.",
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "top",
+ "in": "query",
+ "required": false,
+ "type": "number",
+ "format": "int32",
+ "description": "The maximum number of records to retrieve.\nValid only if $filter is specified.\nDefaults to 10.",
+ "x-ms-parameter-location": "method"
+ },
+ "OrderByParameter": {
+ "name": "orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The aggregation to use for sorting results and the direction of the sort.\nOnly one order can be specified.\nExamples: sum asc.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResultTypeParameter": {
+ "name": "resultType",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "Data",
+ "Metadata"
+ ],
+ "x-ms-enum": {
+ "name": "ResultType",
+ "modelAsString": false
+ },
+ "description": "Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details.",
+ "x-ms-parameter-location": "method",
+ "required": false
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "MetricNamespaceParameter": {
+ "name": "metricnamespace",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Metric namespace to query metric definitions for."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/actionGroups_API.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/actionGroups_API.json
new file mode 100644
index 000000000000..8bb1b2601ea9
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/actionGroups_API.json
@@ -0,0 +1,745 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Action Groups API",
+ "x-ms-code-generation-settings": {
+ "name": "MonitorManagementClient"
+ },
+ "version": "2018-03-01"
+ },
+ "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.insights/actionGroups/{actionGroupName}": {
+ "put": {
+ "description": "Create a new action group or update an existing one.",
+ "operationId": "ActionGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create or update an action group": {
+ "$ref": "./examples/createOrUpdateActionGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ActionGroupNameParameter"
+ },
+ {
+ "name": "actionGroup",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActionGroupResource"
+ },
+ "description": "The action group to create or use for the update."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An existing action group was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ActionGroupResource"
+ }
+ },
+ "201": {
+ "description": "A new action group was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ActionGroupResource"
+ }
+ },
+ "default": {
+ "description": "An error occurred and the action group could not be created or updated.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "description": "Get an action group.",
+ "operationId": "ActionGroups_Get",
+ "x-ms-examples": {
+ "Get an action group": {
+ "$ref": "./examples/getActionGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ActionGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ActionGroupResource"
+ }
+ },
+ "default": {
+ "description": "An error occurred and the action group could not be retrieved. 404: The action group does not exist.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete an action group.",
+ "operationId": "ActionGroups_Delete",
+ "x-ms-examples": {
+ "Delete an action group": {
+ "$ref": "./examples/deleteActionGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ActionGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The action group was successfully deleted."
+ },
+ "204": {
+ "description": "The action group does not exist. It may have already been deleted."
+ },
+ "default": {
+ "description": "An error occurred and the action group could not be deleted.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing action group's tags. To update other fields use the CreateOrUpdate method.",
+ "operationId": "ActionGroups_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ActionGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "actionGroupPatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActionGroupPatchBody"
+ },
+ "description": "Parameters supplied to the operation."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "An existing action group was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ActionGroupResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch an action group": {
+ "$ref": "./examples/patchActionGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups": {
+ "get": {
+ "description": "Get a list of all action groups in a subscription.",
+ "operationId": "ActionGroups_ListBySubscriptionId",
+ "x-ms-examples": {
+ "List action groups": {
+ "$ref": "./examples/listActionGroups.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ActionGroupList"
+ }
+ },
+ "default": {
+ "description": "An error occurred and the list of action groups could not be retrieved.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups": {
+ "get": {
+ "description": "Get a list of all action groups in a resource group.",
+ "operationId": "ActionGroups_ListByResourceGroup",
+ "x-ms-examples": {
+ "List action groups": {
+ "$ref": "./examples/listActionGroups.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ActionGroupList"
+ }
+ },
+ "default": {
+ "description": "An error occurred and the list of action groups could not be retrieved.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe": {
+ "post": {
+ "description": "Enable a receiver in an action group. This changes the receiver's status from Disabled to Enabled.",
+ "operationId": "ActionGroups_EnableReceiver",
+ "x-ms-examples": {
+ "Enable the receiver": {
+ "$ref": "./examples/enableReceiver.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ActionGroupNameParameter"
+ },
+ {
+ "name": "enableRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnableRequest"
+ },
+ "description": "The receiver to re-enable."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The receiver was successfully enabled."
+ },
+ "409": {
+ "description": "The receiver is already enabled in the action group."
+ },
+ "default": {
+ "description": "An error occurred and the receiver could not be enabled, e.g.: 404: The action group was not found or no matching receiver was found in the action group.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "ActionGroupResource": {
+ "description": "An action group resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ActionGroup",
+ "description": "The action groups properties of the resource."
+ }
+ }
+ },
+ "ActionGroupList": {
+ "description": "A list of action groups.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ActionGroupResource"
+ },
+ "description": "The list of action groups."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Provides the link to retrieve the next set of elements."
+ }
+ }
+ },
+ "ActionGroup": {
+ "description": "An Azure action group.",
+ "properties": {
+ "groupShortName": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "The short name of the action group. This will be used in SMS messages."
+ },
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications."
+ },
+ "emailReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailReceiver"
+ },
+ "description": "The list of email receivers that are part of this action group."
+ },
+ "smsReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SmsReceiver"
+ },
+ "description": "The list of SMS receivers that are part of this action group."
+ },
+ "webhookReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WebhookReceiver"
+ },
+ "description": "The list of webhook receivers that are part of this action group."
+ },
+ "itsmReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ItsmReceiver"
+ },
+ "description": "The list of ITSM receivers that are part of this action group."
+ },
+ "azureAppPushReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureAppPushReceiver"
+ },
+ "description": "The list of AzureAppPush receivers that are part of this action group."
+ },
+ "automationRunbookReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationRunbookReceiver"
+ },
+ "description": "The list of AutomationRunbook receivers that are part of this action group."
+ },
+ "voiceReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VoiceReceiver"
+ },
+ "description": "The list of voice receivers that are part of this action group."
+ }
+ },
+ "required": [
+ "groupShortName",
+ "enabled"
+ ]
+ },
+ "EmailReceiver": {
+ "description": "An email receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the email receiver. Names must be unique across all receivers within an action group."
+ },
+ "emailAddress": {
+ "type": "string",
+ "description": "The email address of this receiver."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ReceiverStatus",
+ "description": "The receiver status of the e-mail."
+ }
+ },
+ "required": [
+ "name",
+ "emailAddress"
+ ]
+ },
+ "SmsReceiver": {
+ "description": "An SMS receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SMS receiver. Names must be unique across all receivers within an action group."
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "The country code of the SMS receiver."
+ },
+ "phoneNumber": {
+ "type": "string",
+ "description": "The phone number of the SMS receiver."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ReceiverStatus",
+ "description": "The status of the receiver."
+ }
+ },
+ "required": [
+ "name",
+ "countryCode",
+ "phoneNumber"
+ ]
+ },
+ "WebhookReceiver": {
+ "description": "A webhook receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the webhook receiver. Names must be unique across all receivers within an action group."
+ },
+ "serviceUri": {
+ "type": "string",
+ "description": "The URI where webhooks should be sent."
+ }
+ },
+ "required": [
+ "name",
+ "serviceUri"
+ ]
+ },
+ "ItsmReceiver": {
+ "description": "An Itsm receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the Itsm receiver. Names must be unique across all receivers within an action group."
+ },
+ "workspaceId": {
+ "type": "string",
+ "description": "OMS LA instance identifier."
+ },
+ "connectionId": {
+ "type": "string",
+ "description": "Unique identification of ITSM connection among multiple defined in above workspace."
+ },
+ "ticketConfiguration": {
+ "type": "string",
+ "description": "JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well."
+ },
+ "region": {
+ "type": "string",
+ "description": "Region in which workspace resides. Supported values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope'"
+ }
+ },
+ "required": [
+ "name",
+ "workspaceId",
+ "connectionId",
+ "ticketConfiguration",
+ "region"
+ ]
+ },
+ "AzureAppPushReceiver": {
+ "description": "The Azure mobile App push notification receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group."
+ },
+ "emailAddress": {
+ "type": "string",
+ "description": "The email address registered for the Azure mobile app."
+ }
+ },
+ "required": [
+ "name",
+ "emailAddress"
+ ]
+ },
+ "AutomationRunbookReceiver": {
+ "description": "The Azure Automation Runbook notification receiver.",
+ "properties": {
+ "automationAccountId": {
+ "type": "string",
+ "description": "The Azure automation account Id which holds this runbook and authenticate to Azure resource."
+ },
+ "runbookName": {
+ "type": "string",
+ "description": "The name for this runbook."
+ },
+ "webhookResourceId": {
+ "type": "string",
+ "description": "The resource id for webhook linked to this runbook."
+ },
+ "isGlobalRunbook": {
+ "type": "boolean",
+ "description": "Indicates whether this instance is global runbook."
+ },
+ "name": {
+ "type": "string",
+ "description": "Indicates name of the webhook."
+ },
+ "serviceUri": {
+ "type": "string",
+ "description": "The URI where webhooks should be sent."
+ }
+ },
+ "required": [
+ "automationAccountId",
+ "runbookName",
+ "webhookResourceId",
+ "isGlobalRunbook"
+ ]
+ },
+ "VoiceReceiver": {
+ "description": "An voice receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the voice receiver. Names must be unique across all receivers within an action group."
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "The country code of the voice receiver."
+ },
+ "phoneNumber": {
+ "type": "string",
+ "description": "The phone number of the voice receiver."
+ }
+ },
+ "required": [
+ "name",
+ "countryCode",
+ "phoneNumber"
+ ]
+ },
+ "ReceiverStatus": {
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ReceiverStatus",
+ "modelAsString": false
+ },
+ "description": "Indicates the status of the receiver. Receivers that are not Enabled will not receive any communications."
+ },
+ "EnableRequest": {
+ "description": "Describes a receiver that should be resubscribed.",
+ "properties": {
+ "receiverName": {
+ "type": "string",
+ "description": "The name of the receiver to resubscribe."
+ }
+ },
+ "required": [
+ "receiverName"
+ ]
+ },
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "ActionGroupPatchBody": {
+ "description": "An action group object for the body of patch operations.",
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ActionGroupPatch",
+ "description": "The action group settings for an update operation."
+ }
+ }
+ },
+ "ActionGroupPatch": {
+ "description": "An Azure action group for patch operations.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its actions will be activated."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure subscription Id."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ActionGroupNameParameter": {
+ "name": "actionGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the action group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateActionGroup.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateActionGroup.json
new file mode 100644
index 000000000000..88a9c746e2fb
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateActionGroup.json
@@ -0,0 +1,234 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2018-03-01",
+ "actionGroup": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com"
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com"
+ }
+ ],
+ "smsReceivers": [
+ {
+ "name": "John Doe's mobile",
+ "countryCode": "1",
+ "phoneNumber": "1234567890"
+ },
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321"
+ }
+ ],
+ "webhookReceivers": [
+ {
+ "name": "Sample webhook",
+ "serviceUri": "http://www.example.com/webhook"
+ }
+ ],
+ "itsmReceivers": [
+ {
+ "name": "Sample itsm",
+ "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c",
+ "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1",
+ "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
+ "region": "westcentralus"
+ }
+ ],
+ "azureAppPushReceivers": [
+ {
+ "name": "Sample azureAppPush",
+ "emailAddress": "johndoe@email.com"
+ }
+ ],
+ "automationRunbookReceivers": [
+ {
+ "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest",
+ "runbookName": "Sample runbook",
+ "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084",
+ "isGlobalRunbook": false,
+ "name": "testRunbook",
+ "serviceUri": "https://s13events.azure-automation.net/webhooks?token=iimE%2fD19Eg%2bvDy22yUMecIZY6Uiz%2bHfuQ67r8r1wY%2fI%3d"
+ }
+ ],
+ "voiceReceivers": [
+ {
+ "name": "Sample voice",
+ "countryCode": "1",
+ "phoneNumber": "1234567890"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup",
+ "type": "Microsoft.Insights/ActionGroups",
+ "name": "SampleActionGroup",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Enabled"
+ }
+ ],
+ "smsReceivers":[
+ {
+ "name": "John Doe's mobile",
+ "countryCode": "1",
+ "phoneNumber": "1234567890",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321",
+ "status": "Enabled"
+ }
+ ],
+ "webhookReceivers":[
+ {
+ "name": "Sample webhook",
+ "serviceUri": "http://www.example.com/webhook"
+ }
+ ],
+ "itsmReceivers": [
+ {
+ "name": "Sample itsm",
+ "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c",
+ "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1",
+ "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
+ "region": "westcentralus"
+ }
+ ],
+ "azureAppPushReceivers": [
+ {
+ "name": "Sample azureAppPush",
+ "emailAddress": "johndoe@email.com"
+ }
+ ],
+ "automationRunbookReceivers": [
+ {
+ "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest",
+ "runbookName": "Sample runbook",
+ "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084",
+ "isGlobalRunbook": false,
+ "name": "testRunbook",
+ "serviceUri": "https://s13events.azure-automation.net/webhooks?token=iimE%2fD19Eg%2bvDy22yUMecIZY6Uiz%2bHfuQ67r8r1wY%2fI%3d"
+ }
+ ],
+ "voiceReceivers": [
+ {
+ "name": "Sample voice",
+ "countryCode": "1",
+ "phoneNumber": "1234567890"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup",
+ "type": "Microsoft.Insights/ActionGroups",
+ "name": "SampleActionGroup",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Enabled"
+ }
+ ],
+ "smsReceivers":[
+ {
+ "name": "John Doe's mobile",
+ "countryCode": "1",
+ "phoneNumber": "1234567890",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321",
+ "status": "Enabled"
+ }
+ ],
+ "webhookReceivers":[
+ {
+ "name": "Sample webhook",
+ "serviceUri": "http://www.example.com/webhook"
+ }
+ ],
+ "itsmReceivers": [
+ {
+ "name": "Sample itsm",
+ "workspaceId": "5def922a-3ed4-49c1-b9fd-05ec533819a3|55dfd1f8-7e59-4f89-bf56-4c82f5ace23c",
+ "connectionId": "a3b9076c-ce8e-434e-85b4-aff10cb3c8f1",
+ "ticketConfiguration": "{\"PayloadRevision\":0,\"WorkItemType\":\"Incident\",\"UseTemplate\":false,\"WorkItemData\":\"{}\",\"CreateOneWIPerCI\":false}",
+ "region": "westcentralus"
+ }
+ ],
+ "azureAppPushReceivers": [
+ {
+ "name": "Sample azureAppPush",
+ "emailAddress": "johndoe@email.com"
+ }
+ ],
+ "automationRunbookReceivers": [
+ {
+ "automationAccountId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest",
+ "runbookName": "Sample runbook",
+ "webhookResourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/runbookTest/providers/Microsoft.Automation/automationAccounts/runbooktest/webhooks/Alert1510184037084",
+ "isGlobalRunbook": false,
+ "name": "testRunbook",
+ "serviceUri": "https://s13events.azure-automation.net/webhooks?token=iimE%2fD19Eg%2bvDy22yUMecIZY6Uiz%2bHfuQ67r8r1wY%2fI%3d"
+ }
+ ],
+ "voiceReceivers": [
+ {
+ "name": "Sample voice",
+ "countryCode": "1",
+ "phoneNumber": "1234567890"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/deleteActionGroup.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/deleteActionGroup.json
new file mode 100644
index 000000000000..ff8db9749d27
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/deleteActionGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2018-03-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": null
+ },
+ "204": {
+ "headers": {},
+ "body": null
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/enableReceiver.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/enableReceiver.json
new file mode 100644
index 000000000000..cb085170b440
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/enableReceiver.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2018-03-01",
+ "enableRequest": {
+ "receiverName": "John Doe's mobile"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": null
+ },
+ "409": {
+ "headers": {},
+ "body": null
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getActionGroup.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getActionGroup.json
new file mode 100644
index 000000000000..a7573f481272
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getActionGroup.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2018-03-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup",
+ "type": "Microsoft.Insights/ActionGroups",
+ "name": "SampleActionGroup",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Disabled"
+ }
+ ],
+ "smsReceivers": [
+ {
+ "name": "John Doe's mobile",
+ "countryCode": "1",
+ "phoneNumber": "1234567890",
+ "status": "Disabled"
+ },
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321",
+ "status": "Enabled"
+ }
+ ],
+ "webhookReceivers": [
+ {
+ "name": "Sample webhook",
+ "serviceUri": "http://www.example.com/webhook"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/listActionGroups.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/listActionGroups.json
new file mode 100644
index 000000000000..ebc446f2bac6
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/listActionGroups.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "api-version": "2018-03-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup",
+ "type": "Microsoft.Insights/ActionGroups",
+ "name": "SampleActionGroup",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Disabled"
+ }
+ ],
+ "smsReceivers": [
+ {
+ "name": "John Doe's mobile",
+ "countryCode": "1",
+ "phoneNumber": "1234567890",
+ "status": "Disabled"
+ },
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321",
+ "status": "Enabled"
+ }
+ ],
+ "webhookReceivers": [
+ {
+ "name": "Sample webhook",
+ "serviceUri": "http://www.example.com/webhook"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup2",
+ "type": "Microsoft.Insights/ActionGroups",
+ "name": "SampleActionGroup2",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "groupShortName": "sample2",
+ "enabled": false,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "status": "Enabled"
+ }
+ ],
+ "smsReceivers": [
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321",
+ "status": "Enabled"
+ }
+ ],
+ "webhookReceivers": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/patchActionGroup.json b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/patchActionGroup.json
new file mode 100644
index 000000000000..df0b9b2b99bb
--- /dev/null
+++ b/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/patchActionGroup.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2018-03-01",
+ "actionGroupPatch": {
+ "tags": { "key1": "value1", "key2": "value2" },
+ "properties": {
+ "enabled": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": { },
+ "body": {
+ "id": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/Default-NotificationRules/providers/microsoft.insights/actionGroups/SampleActionGroup",
+ "type": "Microsoft.Insights/ActionGroups",
+ "name": "SampleActionGroup",
+ "location": "Global",
+ "tags": { "key1": "value1", "key2": "value2" },
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Enabled"
+ }
+ ],
+ "smsReceivers":[
+ {
+ "name": "John Doe's mobile",
+ "countryCode": "1",
+ "phoneNumber": "1234567890",
+ "status": "Enabled"
+ },
+ {
+ "name": "Jane Smith's mobile",
+ "countryCode": "1",
+ "phoneNumber": "0987654321",
+ "status": "Enabled"
+ }
+ ],
+ "webhookReceivers":[
+ {
+ "name": "Sample webhook",
+ "serviceUri": "http://www.example.com/webhook"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md
index 1f83515d0777..6f999a412edd 100644
--- a/specification/monitor/resource-manager/readme.md
+++ b/specification/monitor/resource-manager/readme.md
@@ -28,7 +28,30 @@ These are the global settings for the MonitorClient API.
title: MonitorClient
description: Monitor Management Client
openapi-type: arm
-tag: package-2017-09
+tag: package-2018-02-preview
+```
+### Tag: package-2018-02-preview
+
+These settings apply only when `--tag=package-2018-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-02-preview'
+input-file:
+- microsoft.insights/stable/2015-04-01/autoscale_API.json
+- microsoft.insights/stable/2015-04-01/operations_API.json
+- microsoft.insights/stable/2016-03-01/alertRulesIncidents_API.json
+- microsoft.insights/stable/2016-03-01/alertRules_API.json
+- microsoft.insights/stable/2016-03-01/logProfiles_API.json
+- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
+- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
+- microsoft.insights/stable/2017-04-01/actionGroups_API.json
+- microsoft.insights/stable/2017-04-01/activityLogAlerts_API.json
+- microsoft.insights/stable/2015-04-01/activityLogs_API.json
+- microsoft.insights/stable/2015-04-01/eventCategories_API.json
+- microsoft.insights/stable/2015-04-01/tenantActivityLogs_API.json
+- microsoft.insights/stable/2018-01-01/metricDefinitions_API.json
+- microsoft.insights/stable/2018-01-01/metrics_API.json
+- microsoft.insights/preview/2017-11-01-preview/baseline_API.json
+- microsoft.insights/preview/2017-11-01-preview/calculateBaseline_API.json
```
### Tag: package-2017-09
@@ -42,9 +65,9 @@ input-file:
- microsoft.insights/stable/2016-03-01/alertRulesIncidents_API.json
- microsoft.insights/stable/2016-03-01/alertRules_API.json
- microsoft.insights/stable/2016-03-01/logProfiles_API.json
-- microsoft.insights/stable/2017-05-01-preview/diagnosticsSettings_API.json
-- microsoft.insights/stable/2017-05-01-preview/diagnosticsSettingsCategories_API.json
-- microsoft.insights/stable/2017-04-01/actionGroups_API.json
+- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
+- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
+- microsoft.insights/stable/2018-03-01/actionGroups_API.json
- microsoft.insights/stable/2017-04-01/activityLogAlerts_API.json
- microsoft.insights/stable/2015-04-01/activityLogs_API.json
- microsoft.insights/stable/2015-04-01/eventCategories_API.json
@@ -66,8 +89,8 @@ input-file:
- microsoft.insights/stable/2016-03-01/alertRulesIncidents_API.json
- microsoft.insights/stable/2016-03-01/alertRules_API.json
- microsoft.insights/stable/2016-03-01/logProfiles_API.json
-- microsoft.insights/stable/2017-05-01-preview/diagnosticsSettings_API.json
-- microsoft.insights/stable/2017-05-01-preview/diagnosticsSettingsCategories_API.json
+- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
+- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
- microsoft.insights/stable/2017-04-01/actionGroups_API.json
- microsoft.insights/stable/2017-04-01/activityLogAlerts_API.json
```
@@ -75,6 +98,20 @@ input-file:
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -102,6 +139,23 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-08
+ - tag: package-2017-09
+```
+
+### Tag: package-2017-09 and go
+
+These settings apply only when `--tag=package-2017-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-09' && $(go)
+output-folder: $(go-sdk-folder)/services/monitor/mgmt/2018-03-01/insights
+```
+
### Tag: package-2017-08 and go
These settings apply only when `--tag=package-2017-08 --go` is specified on the command line.
@@ -114,42 +168,21 @@ output-folder: $(go-sdk-folder)/services/monitor/mgmt/2017-05-01-preview/insight
## 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.monitor
- package-name: azure-mgmt-monitor
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-monitor/azure/mgmt/monitor
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-monitor
-```
+See configuration in [readme.python.md](./readme.python.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:
- # override the default output folder
- output-folder: $(output-folder)/azure-mgmt-monitor/src/main/java/com/microsoft/azure/management/monitor
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
+ azure-arm: true
+ fluent: true
namespace: com.microsoft.azure.management.monitor
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-monitor
```
# Validation
@@ -160,4 +193,4 @@ java:
directive:
- suppress: R3016 # DefinitionsPropertiesNamesCamelCase (to suppress the error due to odata.type)
reason: The feature (polymorphic types) is in the process of deprecation and fixing this will require changes in the backend.
-```
\ No newline at end of file
+```
diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md
new file mode 100644
index 000000000000..04fa322fe2ce
--- /dev/null
+++ b/specification/monitor/resource-manager/readme.python.md
@@ -0,0 +1,27 @@
+## 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.monitor
+ package-name: azure-mgmt-monitor
+ package-version: 0.5.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-monitor/azure/mgmt/monitor
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-monitor
+```
diff --git a/specification/msi/resource-manager/readme.md b/specification/msi/resource-manager/readme.md
index 2aef0263d5cc..593052f1c868 100644
--- a/specification/msi/resource-manager/readme.md
+++ b/specification/msi/resource-manager/readme.md
@@ -39,6 +39,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -91,6 +104,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-08-31-preview
+```
+
### Tag: package-2015-08-31-preview and go
These settings apply only when `--tag=package-2015-08-31-preview --go` is specified on the command line.
@@ -98,4 +118,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.msi
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-msi
+```
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesCreateOrUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesCreateOrUpdate.json
deleted file mode 100644
index 21e251e153a0..000000000000
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesCreateOrUpdate.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview",
- "parameters": {
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforMySQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforMySQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- },
- "202": {}
- }
-}
\ No newline at end of file
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesDelete.json
deleted file mode 100644
index 94b5feeccec2..000000000000
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesDelete.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview"
- },
- "responses": {
- "200": {
- "body": ""
- },
- "202": {
- "body": ""
- },
- "204": {
- "body": ""
- }
- }
-}
\ No newline at end of file
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesGet.json
deleted file mode 100644
index cbb69959a346..000000000000
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesGet.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforMySQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "state": "Ready",
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesList.json
deleted file mode 100644
index b687ec244874..000000000000
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesList.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforMySQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "state": "Ready",
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- },
- {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforMySQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "state": "Ready",
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- ]
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/mysql.json
index c718b9283f98..cd942742a90d 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/mysql.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-04-30-preview/mysql.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "MySQLManagementClient",
- "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, log files and configurations.",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, log files and configurations.",
"version": "2017-04-30-preview"
},
"host": "management.azure.com",
@@ -432,193 +432,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": {
- "get": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Gets a virtual network rule.",
- "operationId": "VirtualNetworkRules_Get",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/virtualNetworkRuleNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved a specified virtual network rule.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
- }
- },
- "x-ms-examples": {
- "Gets a virtual network rule": {
- "$ref": "./examples/VirtualNetworkRulesGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Creates or updates an existing virtual network rule.",
- "operationId": "VirtualNetworkRules_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/virtualNetworkRuleNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "The requested virtual Network Rule Resource state.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated a virtual network rule.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 400 NullVirtualNetworkSubnetId - The Virtual Network Subnet Id is null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 VirtualNetworkRuleNotEnabled - Azure SQL Server Virtual Network Rule feature is not enabled\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
- },
- "202": {
- "description": "Accepted"
- },
- "201": {
- "description": "Successfully created a virtual network rule.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create or update a virtual network rule": {
- "$ref": "./examples/VirtualNetworkRulesCreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Deletes the virtual network rule with the given name.",
- "operationId": "VirtualNetworkRules_Delete",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/virtualNetworkRuleNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the virtual network rule."
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "The specified virtual network rule does not exist."
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Delete a virtual network rule": {
- "$ref": "./examples/VirtualNetworkRulesDelete.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": {
- "get": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Gets a list of virtual network rules in a server.",
- "operationId": "VirtualNetworkRules_ListByServer",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of virtual network rules.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRuleListResult"
- }
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List virtual network rules": {
- "$ref": "./examples/VirtualNetworkRulesList.json"
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": {
"put": {
"tags": [
@@ -1454,74 +1267,6 @@
},
"description": "A list of firewall rules."
},
- "VirtualNetworkRuleProperties": {
- "description": "Properties of a virtual network rule.",
- "required": [
- "virtualNetworkSubnetId"
- ],
- "type": "object",
- "properties": {
- "virtualNetworkSubnetId": {
- "description": "The ARM resource id of the virtual network subnet.",
- "type": "string"
- },
- "ignoreMissingVnetServiceEndpoint": {
- "description": "Create firewall rule before the virtual network has vnet service endpoint enabled.",
- "type": "boolean"
- },
- "state": {
- "description": "Virtual Network Rule State",
- "enum": [
- "Initializing",
- "InProgress",
- "Ready",
- "Deleting",
- "Unknown"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "VirtualNetworkRuleState",
- "modelAsString": true
- }
- }
- }
- },
- "VirtualNetworkRule": {
- "description": "A virtual network rule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/VirtualNetworkRuleProperties",
- "description": "Resource properties.",
- "x-ms-client-flatten": true
- }
- }
- },
- "VirtualNetworkRuleListResult": {
- "description": "A list of virtual network rules.",
- "type": "object",
- "properties": {
- "value": {
- "description": "Array of results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/VirtualNetworkRule"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "Link to retrieve next page of results.",
- "type": "string",
- "readOnly": true
- }
- }
- },
"DatabaseProperties": {
"properties": {
"charset": {
@@ -1886,14 +1631,6 @@
"description": "The name of the server firewall rule.",
"x-ms-parameter-location": "method"
},
- "virtualNetworkRuleNameParameter": {
- "name": "virtualNetworkRuleName",
- "in": "path",
- "description": "The name of the virtual network rule.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
"DatabaseNameParameter": {
"name": "databaseName",
"in": "path",
diff --git a/specification/mysql/resource-manager/readme.md b/specification/mysql/resource-manager/readme.md
index cab82e89d4cc..7c9488837ac2 100644
--- a/specification/mysql/resource-manager/readme.md
+++ b/specification/mysql/resource-manager/readme.md
@@ -44,6 +44,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## Python
These settings apply only when `--python` is specified on the command line.
@@ -83,6 +96,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04-preview
+```
+
### Tag: package-2017-04-preview and go
These settings apply only when `--tag=package-2017-04-preview --go` is specified on the command line.
@@ -91,3 +111,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.mysql
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-mysql
+```
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherConnectivityCheck.json
index 48b43d520f85..4bc11bc672e3 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherConnectivityCheck.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherConnectivityCheck.json
@@ -7,7 +7,7 @@
"parameters" : {
"properties" : {
"source" : {
- "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
},
"destination" : {
"address" : "192.168.100.4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherConnectivityCheck.json
index b3f75a9b5e8f..ec837c0c9c91 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherConnectivityCheck.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherConnectivityCheck.json
@@ -7,7 +7,7 @@
"parameters" : {
"properties" : {
"source" : {
- "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
},
"destination" : {
"address" : "192.168.100.4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherConnectivityCheck.json
index 927bc478383b..bc34f7e48e7e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherConnectivityCheck.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherConnectivityCheck.json
@@ -7,7 +7,7 @@
"parameters" : {
"properties" : {
"source" : {
- "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
},
"destination" : {
"address" : "192.168.100.4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorCreate.json
new file mode 100644
index 000000000000..b6265f0727f7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorCreate.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version" : "2017-10-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1",
+ "location": "centraluseuap",
+ "parameters" : {
+ "properties": {
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "MonitoringIntervalInSeconds": 60
+ }
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties" : {
+ "provisioningState": "Updating",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "monitoringStatus": "NotStarted"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorGet.json
new file mode 100644
index 000000000000..4478b9e784d0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2017-10-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorList.json
new file mode 100644
index 000000000000..ffedd0e21499
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version" : "2017-10-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ },
+ {
+ "name" : "cm2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm2",
+ "port": 0
+ },
+ "destination": {
+ "address": "google.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 30,
+ "autoStart": true,
+ "startTime": "2018-01-08T05:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorQuery.json
new file mode 100644
index 000000000000..530f29a5bee3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorQuery.json
@@ -0,0 +1,75 @@
+{
+ "parameters" : {
+ "api-version" : "2017-10-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "states" : [
+ {
+ "connectionState" : "Reachable",
+ "startTime" : "2018-01-08T03:42:33.3387305Z",
+ "endTime" : "2018-01-08T05:12:41.5265438Z",
+ "evaluationState" : "Completed",
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "states" : [
+ {
+ "connectionState" : "Reachable",
+ "startTime" : "2018-01-08T03:42:33.3387305Z",
+ "endTime" : "2018-01-08T05:12:41.5265438Z",
+ "evaluationState" : "Completed",
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorStart.json
new file mode 100644
index 000000000000..406e4136af36
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-10-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorStop.json
new file mode 100644
index 000000000000..406e4136af36
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectionMonitorStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-10-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectivityCheck.json
index d8292bb80acb..56a6052af7c6 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectivityCheck.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherConnectivityCheck.json
@@ -7,7 +7,7 @@
"parameters" : {
"properties" : {
"source" : {
- "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
},
"destination" : {
"address" : "192.168.100.4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkWatcher.json
index 21bd9d549790..c47fe0ef9712 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkWatcher.json
@@ -1176,6 +1176,346 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}": {
+ "put": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitor"
+ },
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Get",
+ "description": "Gets a connection monitor by name.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a connection monitor.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Stop",
+ "x-ms-long-running-operation": true,
+ "description": "Stops the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Start",
+ "x-ms-long-running-operation": true,
+ "description": "Starts the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation starts the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Query",
+ "x-ms-long-running-operation": true,
+ "description": "Query a snapshot of the most recent connection states.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name given to the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful query of connection states.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorQueryResult"
+ }
+ },
+ "202": {
+ "description": "Accepted query of connection states.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorQueryResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors": {
+ "get": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_List",
+ "description": "Lists all connection monitors for the specified Network Watcher.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful connection monitor enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
}
},
"definitions": {
@@ -2381,6 +2721,233 @@
}
},
"description": "City or town details."
+ },
+ "ConnectionMonitor": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Connection monitor location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Connection monitor tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConnectionMonitorParameters"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ "ConnectionMonitorParameters": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectionMonitorSource"
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectionMonitorDestination"
+ },
+ "autoStart": {
+ "type": "boolean",
+ "default": true,
+ "description": "Determines if the connection monitor will start automatically once created."
+ },
+ "monitoringIntervalInSeconds": {
+ "type": "integer",
+ "default": 60,
+ "description": "Monitoring interval in seconds."
+ }
+ },
+ "required": [
+ "source",
+ "destination"
+ ],
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ "ConnectionMonitorSource": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource used as the source by connection monitor."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The source port used by connection monitor."
+ }
+ },
+ "required": [
+ "resourceId"
+ ],
+ "description": "Describes the source of connection monitor."
+ },
+ "ConnectionMonitorDestination": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource used as the destination by connection monitor."
+ },
+ "address": {
+ "type": "string",
+ "description": "Address of the connection monitor destination (IP or domain name)."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The destination port used by connection monitor."
+ }
+ },
+ "description": "Describes the destination of connection monitor."
+ },
+ "ConnectionMonitorListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ },
+ "description": "Information about connection monitors."
+ }
+ },
+ "description": "List of connection monitors."
+ },
+ "ConnectionMonitorResult": {
+ "x-ms-azure-resource": true,
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the connection monitor."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ID of the connection monitor."
+ },
+ "etag": {
+ "type": "string",
+ "default": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Connection monitor type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Connection monitor location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Connection monitor tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConnectionMonitorResultProperties"
+ }
+ },
+ "description": "Information about the connection monitor."
+ },
+ "ConnectionMonitorResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the connection monitor."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the connection monitor was started."
+ },
+ "monitoringStatus": {
+ "type": "string",
+ "description": "The monitoring status of the connection monitor."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConnectionMonitorParameters"
+ }
+ ],
+ "description": "Describes the properties of a connection monitor."
+ },
+ "ConnectionMonitorQueryResult": {
+ "properties": {
+ "states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionStateSnapshot"
+ },
+ "description": "Information about connection states."
+ }
+ },
+ "description": "List of connection states snaphots."
+ },
+ "ConnectionStateSnapshot": {
+ "properties": {
+ "connectionState": {
+ "type": "string",
+ "enum": [
+ "Reachable",
+ "Unreachable",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionState",
+ "modelAsString": true
+ },
+ "description": "The connection state."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the connection snapshot."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of the connection snapshot."
+ },
+ "evaluationState": {
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "EvaluationState",
+ "modelAsString": true
+ },
+ "description": "Connectivity analysis evaluation state."
+ },
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ }
+ },
+ "description": "Connection state snapshot."
}
},
"parameters": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/applicationGateway.json
new file mode 100644
index 000000000000..5e14c9452c52
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/applicationGateway.json
@@ -0,0 +1,2022 @@
+{
+ "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": "2017-11-01"
+ },
+ "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/applicationGateways/{applicationGatewayName}": {
+ "delete": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Delete",
+ "description": "Deletes the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Request successful. Resource with the specified name does not exist"
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Get",
+ "description": "Gets the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns an ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_CreateOrUpdate",
+ "description": "Creates or updates the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ },
+ "description": "Parameters supplied to the create or update application gateway operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_UpdateTags",
+ "description": "Updates the specified application gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update application gateway tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Application Gateway tags": { "$ref": "./examples/ApplicationGatewayUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_List",
+ "description": "Lists all application gateways in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of ApplicationGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAll",
+ "description": "Gets all the application gateways in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of ApplicationGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Start",
+ "description": "Starts the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation starts the ApplicationGateway resource."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Stop",
+ "description": "Stops the specified application gateway in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the ApplicationGateway resource."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_BackendHealth",
+ "description": "Gets the backend health of the specified application gateway in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands BackendAddressPool and BackendHttpSettings referenced in backend health."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealth"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableWafRuleSets",
+ "description": "Lists all available web application firewall rule sets.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available web application firewall rule sets.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableWafRuleSetsResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableSslOptions",
+ "x-ms-examples": {
+ "ApplicationGatewayAvailableSslOptionsGet": { "$ref": "./examples/ApplicationGatewayAvailableSslOptionsGet.json" }
+ },
+ "description": "Lists available Ssl options for configuring Ssl policy.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns all available Ssl options for configuring Ssl policy.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableSslOptions"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableSslPredefinedPolicies",
+ "x-ms-examples": {
+ "ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet": { "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "description": "Lists all SSL predefined policies for configuring Ssl policy.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a lists of all Ssl predefined policies for configuring Ssl policy.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableSslPredefinedPolicies"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_GetSslPredefinedPolicy",
+ "x-ms-examples": {
+ "ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet": { "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json" }
+ },
+ "description": "Gets Ssl predefined policy with the specified policy name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "predefinedPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of Ssl predefined policy."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a Ssl predefined policy with the specified policy name.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApplicationGatewayBackendHealth": {
+ "properties": {
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthPool"
+ }
+ }
+ },
+ "description": "List of ApplicationGatewayBackendHealthPool resources."
+ },
+ "ApplicationGatewayBackendHealthPool": {
+ "properties": {
+ "backendAddressPool": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPool",
+ "description": "Reference of an ApplicationGatewayBackendAddressPool resource."
+ },
+ "backendHttpSettingsCollection": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings"
+ },
+ "description": "List of ApplicationGatewayBackendHealthHttpSettings resources."
+ }
+ },
+ "description": "Application gateway BackendHealth pool."
+ },
+ "ApplicationGatewayBackendHealthHttpSettings": {
+ "properties": {
+ "backendHttpSettings": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings",
+ "description": "Reference of an ApplicationGatewayBackendHttpSettings resource."
+ },
+ "servers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthServer"
+ },
+ "description": "List of ApplicationGatewayBackendHealthServer resources."
+ }
+ },
+ "description": "Application gateway BackendHealthHttp settings."
+ },
+ "ApplicationGatewayBackendHealthServer": {
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "IP address or FQDN of backend server."
+ },
+ "ipConfiguration": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration",
+ "description": "Reference of IP configuration of backend server."
+ },
+ "health": {
+ "type": "string",
+ "description": "Health of backend server.",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "Partial",
+ "Draining"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayBackendHealthServerHealth",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Application gateway backendhealth http settings."
+ },
+ "ApplicationGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of an application gateway SKU.",
+ "enum": [
+ "Standard_Small",
+ "Standard_Medium",
+ "Standard_Large",
+ "WAF_Medium",
+ "WAF_Large"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of an application gateway.",
+ "enum": [
+ "Standard",
+ "WAF"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Capacity (instance count) of an application gateway."
+ }
+ },
+ "description": "SKU of an application gateway"
+ },
+ "ApplicationGatewaySslPolicy": {
+ "properties": {
+ "disabledSslProtocols": {
+ "type": "array",
+ "description": "Ssl protocols to be disabled on application gateway.",
+ "items":{
+ "type": "string",
+ "$ref": "#/definitions/ProtocolsEnum",
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslProtocol",
+ "modelAsString": true
+ }
+ }
+ },
+ "policyType": {
+ "type": "string",
+ "description": "Type of Ssl Policy",
+ "enum": [
+ "Predefined",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslPolicyType",
+ "modelAsString": true
+ }
+ },
+ "policyName":{
+ "$ref": "#/definitions/PolicyNameEnum",
+ "description": "Name of Ssl predefined policy"
+ },
+ "cipherSuites":{
+ "type": "array",
+ "items":{
+ "$ref": "#/definitions/CipherSuitesEnum"
+ },
+ "description":"Ssl cipher suites to be enabled in the specified order to application gateway."
+ },
+ "minProtocolVersion":{
+ "$ref": "#/definitions/ProtocolsEnum",
+ "description": "Minimum version of Ssl protocol to be supported on application gateway."
+ }
+ },
+ "description": "Application Gateway Ssl policy."
+ },
+ "ApplicationGatewayIPConfigurationPropertiesFormat": {
+ "properties": {
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the subnet resource. A subnet from where application gateway gets its private address."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the application gateway subnet resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of IP configuration of an application gateway."
+ },
+ "ApplicationGatewayIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed."
+ },
+ "ApplicationGatewayAuthenticationCertificatePropertiesFormat": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Certificate public data."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the authentication certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Authentication certificates properties of an application gateway."
+ },
+ "ApplicationGatewayAuthenticationCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Authentication certificates of an application gateway."
+ },
+ "ApplicationGatewaySslCertificatePropertiesFormat": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Base-64 encoded pfx certificate. Only applicable in PUT Request."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for the pfx file specified in data. Only applicable in PUT request."
+ },
+ "publicCertData": {
+ "type": "string",
+ "description": "Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the SSL certificate resource Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of SSL certificates of an application gateway."
+ },
+ "ApplicationGatewaySslCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "SSL certificates of an application gateway."
+ },
+ "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAddress": {
+ "type": "string",
+ "description": "PrivateIPAddress of the network interface IP Configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "PrivateIP allocation method.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the PublicIP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendPortPropertiesFormat": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frontend port"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Frontend port of an application gateway."
+ },
+ "ApplicationGatewayFrontendPort": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Frontend port of an application gateway."
+ },
+ "ApplicationGatewayBackendAddress": {
+ "properties": {
+ "fqdn": {
+ "type": "string",
+ "description": "Fully qualified domain name (FQDN)."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "IP address"
+ }
+ },
+ "description": "Backend address of an application gateway."
+ },
+ "ApplicationGatewayBackendAddressPoolPropertiesFormat": {
+ "properties": {
+ "backendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "Collection of references to IPs defined in network interfaces."
+ },
+ "backendAddresses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddress"
+ },
+ "description": "Backend addresses"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Backend Address Pool of an application gateway."
+ },
+ "ApplicationGatewayBackendAddressPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Backend Address Pool of an application gateway."
+ },
+ "ApplicationGatewayBackendHttpSettingsPropertiesFormat": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Port"
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ },
+ "cookieBasedAffinity": {
+ "type": "string",
+ "description": "Cookie based affinity.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayCookieBasedAffinity",
+ "modelAsString": true
+ }
+ },
+ "requestTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds."
+ },
+ "probe": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Probe resource of an application gateway."
+ },
+ "authenticationCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Array of references to application gateway authentication certificates."
+ },
+ "connectionDraining": {
+ "$ref": "#/definitions/ApplicationGatewayConnectionDraining",
+ "description": "Connection draining of the backend http settings resource."
+ },
+ "hostName": {
+ "type": "string",
+ "description": "Host header to be sent to the backend servers."
+ },
+ "pickHostNameFromBackendAddress": {
+ "type": "boolean",
+ "description": "Whether to pick host header should be picked from the host name of the backend server. Default value is false."
+ },
+ "affinityCookieName": {
+ "type": "string",
+ "description": "Cookie name to use for the affinity cookie."
+ },
+ "probeEnabled": {
+ "type": "boolean",
+ "description": "Whether the probe is enabled. Default value is false."
+ },
+ "path": {
+ "type": "string",
+ "description": "Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Backend address pool settings of an application gateway."
+ },
+ "ApplicationGatewayBackendHttpSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Backend address pool settings of an application gateway."
+ },
+ "ApplicationGatewayHttpListenerPropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Frontend IP configuration resource of an application gateway."
+ },
+ "frontendPort": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Frontend port resource of an application gateway."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ },
+ "hostName": {
+ "type": "string",
+ "description": "Host name of HTTP listener."
+ },
+ "sslCertificate": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "SSL certificate resource of an application gateway."
+ },
+ "requireServerNameIndication": {
+ "type": "boolean",
+ "description": "Applicable only if protocol is https. Enables SNI for multi-hosting."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of HTTP listener of an application gateway."
+ },
+ "ApplicationGatewayHttpListener": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Http listener of an application gateway."
+ },
+ "ApplicationGatewayPathRulePropertiesFormat": {
+ "properties": {
+ "paths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Path rules of URL path map."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Backend address pool resource of URL path map path rule."
+ },
+ "backendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Backend http settings resource of URL path map path rule."
+ },
+ "redirectConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Redirect configuration resource of URL path map path rule."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of path rule of an application gateway."
+ },
+ "ApplicationGatewayPathRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Path rule of URL path map of an application gateway."
+ },
+ "ApplicationGatewayProbePropertiesFormat": {
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "Protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ },
+ "host": {
+ "type": "string",
+ "description": "Host name to send the probe to."
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:"
+ },
+ "interval": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds."
+ },
+ "timeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "the probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds."
+ },
+ "unhealthyThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20."
+ },
+ "pickHostNameFromBackendHttpSettings":{
+ "type":"boolean",
+ "description": "Whether the host header should be picked from the backend http settings. Default value is false."
+ },
+ "minServers":{
+ "type":"integer",
+ "format": "int32",
+ "description": "Minimum number of servers that are always marked healthy. Default value is 0."
+ },
+ "match":{
+ "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch",
+ "description": "Criterion for classifying a healthy probe response."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of probe of an application gateway."
+ },
+ "ApplicationGatewayProbeHealthResponseMatch": {
+ "properties": {
+ "body":{
+ "type": "string",
+ "description": "Body that must be contained in the health response. Default value is empty."
+ },
+ "statusCodes":{
+ "type": "array",
+ "items":{
+ "type": "string"
+ },
+ "description":"Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399."
+ }
+ },
+ "description": "Application gateway probe health response match"
+ },
+ "ApplicationGatewayProbe": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayProbePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Probe of the application gateway."
+ },
+ "ApplicationGatewayRequestRoutingRulePropertiesFormat": {
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "description": "Rule type.",
+ "enum": [
+ "Basic",
+ "PathBasedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayRequestRoutingRuleType",
+ "modelAsString": true
+ }
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Backend address pool resource of the application gateway. "
+ },
+ "backendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Frontend port resource of the application gateway."
+ },
+ "httpListener": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Http listener resource of the application gateway. "
+ },
+ "urlPathMap": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "URL path map resource of the application gateway."
+ },
+ "redirectConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Redirect configuration resource of the application gateway."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of request routing rule of the application gateway."
+ },
+ "ApplicationGatewayRequestRoutingRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Request routing rule of an application gateway."
+ },
+ "ApplicationGatewayRedirectConfigurationPropertiesFormat": {
+ "properties": {
+ "redirectType": {
+ "type": "string",
+ "$ref":"#/definitions/RedirectTypeEnum",
+ "description": "Supported http redirection types - Permanent, Temporary, Found, SeeOther.",
+ "x-ms-enum": {
+ "name": "ApplicationGatewayRedirectType",
+ "modelAsString": true
+ }
+ },
+ "targetListener": {
+ "$ref":"./network.json#/definitions/SubResource",
+ "description": "Reference to a listener to redirect the request to."
+ },
+ "targetUrl": {
+ "type": "string",
+ "description": "Url to redirect the request to."
+ },
+ "includePath": {
+ "type": "boolean",
+ "description": "Include path in the redirected url."
+ },
+ "includeQueryString": {
+ "type": "boolean",
+ "description": "Include query string in the redirected url."
+ },
+ "requestRoutingRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Request routing specifying redirect configuration."
+ },
+ "urlPathMaps": {
+ "type": "array",
+ "items": {
+ "$ref":"./network.json#/definitions/SubResource"
+ },
+ "description": "Url path maps specifying default redirect configuration."
+ },
+ "pathRules": {
+ "type": "array",
+ "items": {
+ "$ref":"./network.json#/definitions/SubResource"
+ },
+ "description": "Path rules specifying redirect configuration."
+ }
+ },
+ "description": "Properties of redirect configuration of the application gateway."
+ },
+ "ApplicationGatewayRedirectConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Redirect configuration of an application gateway."
+ },
+ "ApplicationGatewayPropertiesFormat": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ApplicationGatewaySku",
+ "description": "SKU of the application gateway resource."
+ },
+ "sslPolicy": {
+ "$ref": "#/definitions/ApplicationGatewaySslPolicy",
+ "description": "SSL policy of the application gateway resource."
+ },
+ "operationalState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operational state of the application gateway resource.",
+ "enum": [
+ "Stopped",
+ "Starting",
+ "Running",
+ "Stopping"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayOperationalState",
+ "modelAsString": true
+ }
+ },
+ "gatewayIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayIPConfiguration"
+ },
+ "description": "Subnets of application the gateway resource."
+ },
+ "authenticationCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate"
+ },
+ "description": "Authentication certificates of the application gateway resource."
+ },
+ "sslCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewaySslCertificate"
+ },
+ "description": "SSL certificates of the application gateway resource."
+ },
+ "frontendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration"
+ },
+ "description": "Frontend IP addresses of the application gateway resource."
+ },
+ "frontendPorts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFrontendPort"
+ },
+ "description": "Frontend ports of the application gateway resource."
+ },
+ "probes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayProbe"
+ },
+ "description": "Probes of the application gateway resource."
+ },
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPool"
+ },
+ "description": "Backend address pool of the application gateway resource."
+ },
+ "backendHttpSettingsCollection": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings"
+ },
+ "description": "Backend http settings of the application gateway resource."
+ },
+ "httpListeners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayHttpListener"
+ },
+ "description": "Http listeners of the application gateway resource."
+ },
+ "urlPathMaps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayUrlPathMap"
+ },
+ "description": "URL path map of the application gateway resource."
+ },
+ "requestRoutingRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule"
+ },
+ "description": "Request routing rules of the application gateway resource."
+ },
+ "redirectConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRedirectConfiguration"
+ },
+ "description": "Redirect configurations of the application gateway resource."
+ },
+ "webApplicationFirewallConfiguration": {
+ "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration",
+ "description": "Web application firewall configuration."
+ },
+ "enableHttp2": {
+ "type": "boolean",
+ "description": "Whether HTTP2 is enabled on the application gateway resource."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "Resource GUID property of the application gateway resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the application gateway."
+ },
+ "ApplicationGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayPropertiesFormat"
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Application gateway resource"
+ },
+ "ApplicationGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGateway"
+ },
+ "description": "List of an application gateways in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListApplicationGateways API service call."
+ },
+ "ApplicationGatewayUrlPathMapPropertiesFormat": {
+ "properties": {
+ "defaultBackendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default backend address pool resource of URL path map."
+ },
+ "defaultBackendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default backend http settings resource of URL path map."
+ },
+ "defaultRedirectConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default redirect configuration resource of URL path map."
+ },
+ "pathRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayPathRule"
+ },
+ "description": "Path rule of URL path map resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of UrlPathMap of the application gateway."
+ },
+ "ApplicationGatewayUrlPathMap": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "UrlPathMaps give a url path to the backend mapping information for PathBasedRouting."
+ },
+ "ApplicationGatewayWebApplicationFirewallConfiguration": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the web application firewall is enabled or not."
+ },
+ "firewallMode": {
+ "type": "string",
+ "description": "Web application firewall mode.",
+ "enum": [
+ "Detection",
+ "Prevention"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayFirewallMode",
+ "modelAsString": true
+ }
+ },
+ "ruleSetType": {
+ "type": "string",
+ "description": "The type of the web application firewall rule set. Possible values are: 'OWASP'."
+ },
+ "ruleSetVersion": {
+ "type": "string",
+ "description": "The version of the rule set type."
+ },
+ "disabledRuleGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallDisabledRuleGroup"
+ },
+ "description": "The disabled rule groups."
+ }
+ },
+ "required": [
+ "enabled",
+ "firewallMode",
+ "ruleSetType",
+ "ruleSetVersion"
+ ],
+ "description": "Application gateway web application firewall configuration."
+ },
+ "ApplicationGatewayConnectionDraining": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether connection draining is enabled or not."
+ },
+ "drainTimeoutInSec": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 3600,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false,
+ "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds."
+ }
+ },
+ "required": [
+ "enabled",
+ "drainTimeoutInSec"
+ ],
+ "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration."
+ },
+ "ApplicationGatewayFirewallDisabledRuleGroup": {
+ "properties": {
+ "ruleGroupName": {
+ "type": "string",
+ "description": "The name of the rule group that will be disabled."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false
+ },
+ "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled."
+ }
+ },
+ "required": [
+ "ruleGroupName"
+ ],
+ "description": "Allows to disable rules within a rule group or an entire rule group."
+ },
+ "ApplicationGatewayAvailableWafRuleSetsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallRuleSet"
+ },
+ "description": "The list of application gateway rule sets."
+ }
+ },
+ "description": "Response for ApplicationGatewayAvailableWafRuleSets API service call."
+ },
+ "ApplicationGatewayFirewallRuleSet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFirewallRuleSetPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A web application firewall rule set."
+ },
+ "ApplicationGatewayFirewallRuleSetPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the web application firewall rule set."
+ },
+ "ruleSetType": {
+ "type": "string",
+ "description": "The type of the web application firewall rule set."
+ },
+ "ruleSetVersion": {
+ "type": "string",
+ "description": "The version of the web application firewall rule set type."
+ },
+ "ruleGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallRuleGroup"
+ },
+ "description": "The rule groups of the web application firewall rule set."
+ }
+ },
+ "required": [
+ "ruleSetType",
+ "ruleSetVersion",
+ "ruleGroups"
+ ],
+ "description": "Properties of the web application firewall rule set."
+ },
+ "ApplicationGatewayFirewallRuleGroup": {
+ "properties": {
+ "ruleGroupName": {
+ "type": "string",
+ "description": "The name of the web application firewall rule group."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the web application firewall rule group."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallRule"
+ },
+ "description": "The rules of the web application firewall rule group."
+ }
+ },
+ "required": [
+ "ruleGroupName",
+ "rules"
+ ],
+ "description": "A web application firewall rule group."
+ },
+ "ApplicationGatewayFirewallRule": {
+ "properties": {
+ "ruleId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The identifier of the web application firewall rule."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the web application firewall rule."
+ }
+ },
+ "required": [
+ "ruleId"
+ ],
+ "description": "A web application firewall rule."
+ },
+ "ApplicationGatewayAvailableSslOptions": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayAvailableSslOptionsPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Response for ApplicationGatewayAvailableSslOptions API service call."
+ },
+ "ApplicationGatewayAvailableSslOptionsPropertiesFormat": {
+ "properties": {
+ "predefinedPolicies":{
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "List of available Ssl predefined policy."
+ },
+ "defaultPolicy":{
+ "$ref": "#/definitions/PolicyNameEnum",
+ "description": "Name of the Ssl predefined policy applied by default to application gateway"
+ },
+ "availableCipherSuites":{
+ "type":"array",
+ "items":{
+ "$ref": "#/definitions/CipherSuitesEnum"
+ },
+ "description": "List of available Ssl cipher suites."
+ },
+ "availableProtocols":{
+ "type":"array",
+ "items":{
+ "$ref": "#/definitions/ProtocolsEnum"
+ },
+ "description": "List of available Ssl protocols."
+ }
+ },
+ "description": "Properties of ApplicationGatewayAvailableSslOptions"
+ },
+ "ApplicationGatewayAvailableSslPredefinedPolicies": {
+ "properties": {
+ "value":{
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy"
+ },
+ "description": "List of available Ssl predefined policy."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ApplicationGatewayAvailableSslOptions API service call."
+ },
+ "ApplicationGatewaySslPredefinedPolicy": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of Ssl predefined policy."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicyPropertiesFormat"
+ }
+ },
+ "allOf":[
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "An Ssl predefined policy"
+ },
+ "ApplicationGatewaySslPredefinedPolicyPropertiesFormat":{
+ "properties":{
+ "cipherSuites":{
+ "type":"array",
+ "items":{
+ "$ref": "#/definitions/CipherSuitesEnum"
+ },
+ "description": "Ssl cipher suites to be enabled in the specified order for application gateway."
+ },
+ "minProtocolVersion":{
+ "$ref": "#/definitions/ProtocolsEnum",
+ "description": "Minimum version of Ssl protocol to be supported on application gateway."
+ }
+ },
+ "description": "Properties of ApplicationGatewaySslPredefinedPolicy"
+ },
+ "PolicyNameEnum":{
+ "type": "string",
+ "description": "Ssl predefined policy name enums.",
+ "enum":[
+ "AppGwSslPolicy20150501",
+ "AppGwSslPolicy20170401",
+ "AppGwSslPolicy20170401S"
+ ],
+ "x-ms-enum":{
+ "name": "ApplicationGatewaySslPolicyName",
+ "modelAsString": true
+ }
+ },
+ "ProtocolsEnum":{
+ "type": "string",
+ "description": "Ssl protocol enums.",
+ "enum":[
+ "TLSv1_0",
+ "TLSv1_1",
+ "TLSv1_2"
+ ],
+ "x-ms-enum":{
+ "name": "ApplicationGatewaySslProtocol",
+ "modelAsString": true
+ }
+ },
+ "CipherSuitesEnum":{
+ "type": "string",
+ "description": "Ssl cipher suites enums.",
+ "enum":[
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
+ "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_RSA_WITH_AES_256_CBC_SHA256",
+ "TLS_RSA_WITH_AES_128_CBC_SHA256",
+ "TLS_RSA_WITH_AES_256_CBC_SHA",
+ "TLS_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
+ "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
+ "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
+ "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
+ "TLS_RSA_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslCipherSuite",
+ "modelAsString": true
+ }
+ },
+ "RedirectTypeEnum":{
+ "type": "string",
+ "enum":[
+ "Permanent",
+ "Found",
+ "SeeOther",
+ "Temporary"
+ ],
+ "x-ms-enum":{
+ "name": "ApplicationGatewayRedirectType",
+ "modelAsString": true
+ }
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..6a79d14ce13a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/applicationSecurityGroup.json
@@ -0,0 +1,319 @@
+{
+ "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": "2017-11-01"
+ },
+ "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/applicationSecurityGroups/{applicationSecurityGroupName}": {
+ "delete": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_Delete",
+ "description": "Deletes the specified application security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete application security group": { "$ref": "./examples/ApplicationSecurityGroupDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_Get",
+ "description": "Gets information about the specified application security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the specified application security group resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get application security group": { "$ref": "./examples/ApplicationSecurityGroupGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_CreateOrUpdate",
+ "description": "Creates or updates an application security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application security group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "Parameters supplied to the create or update ApplicationSecurityGroup operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting application security group resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting application security group resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create application security group": { "$ref": "./examples/ApplicationSecurityGroupCreate.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups": {
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_ListAll",
+ "description": "Gets all application security groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of application security group resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all application security groups": { "$ref": "./examples/ApplicationSecurityGroupListAll.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups": {
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_List",
+ "description": "Gets all the application security groups in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of application security group resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List load balancers in resource group": { "$ref": "./examples/ApplicationSecurityGroupList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApplicationSecurityGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationSecurityGroupPropertiesFormat",
+ "description": "Properties of the application security group."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "An application security group in a resource group."
+ },
+ "ApplicationSecurityGroupPropertiesFormat": {
+ "properties": {
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the application security group resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Application security group properties."
+ },
+ "ApplicationSecurityGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "A list of application security groups."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "A list of application security groups."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..371757b33652
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/checkDnsAvailability.json
@@ -0,0 +1,106 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability": {
+ "get": {
+ "operationId": "CheckDnsNameAvailability",
+ "description": "Checks whether a domain name in the cloudapp.azure.com zone is available for use.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "name": "domainNameLabel",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The domain name to be verified. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns whether the DNS name is available.",
+ "schema": {
+ "$ref": "#/definitions/DnsNameAvailabilityResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Dns Name Availability": { "$ref": "./examples/CheckDnsNameAvailability.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DnsNameAvailabilityResult": {
+ "properties": {
+ "available": {
+ "type": "boolean",
+ "description": "Domain availability (True/False)."
+ }
+ },
+ "description": "Response for the CheckDnsNameAvailability API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/endpointService.json
new file mode 100644
index 000000000000..1dbcb2115dc6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/endpointService.json
@@ -0,0 +1,127 @@
+{
+ "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": "2017-11-01"
+ },
+ "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}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices": {
+ "get": {
+ "operationId": "AvailableEndpointServices_List",
+ "description": "List what values of endpoint services are available for use.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location to check available endpoint services."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns list of available endpoint services.",
+ "schema": {
+ "$ref": "#/definitions/EndpointServicesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EndpointServicesList": { "$ref": "./examples/EndpointServicesList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EndpointServicesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointServiceResult"
+ },
+ "description": "List of available endpoint services in a region."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListAvailableEndpointServices API service call."
+ },
+ "EndpointServiceResult": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the endpoint service.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the endpoint service.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Endpoint service."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..71efea0a9861
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..71efea0a9861
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..34ffdd415536
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "predefinedPolicyName": "AppGwSslPolicy20150501"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..a3621356539f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "applicationGatewayName" : "AppGw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "AppGw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "sku": {
+ "name": "Standard_Small",
+ "tier": "Standard",
+ "capacity": 2
+ },
+ "operationalState": "Running",
+ "gatewayIPConfigurations": [
+ {
+ "name": "GatewayIp01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/gatewayIPConfigurations/GatewayIp01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet1"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [],
+ "authenticationCertificates": [],
+ "frontendIPConfigurations": [
+ {
+ "name": "FrontEndConfig01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicIp1"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "FrontEndPort01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "Pool01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendAddresses": [
+ {
+ "ipAddress": "10.10.10.1"
+ },
+ {
+ "ipAddress": "10.10.10.2"
+ },
+ {
+ "ipAddress": "10.10.10.3"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "PoolSetting01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "pickHostNameFromBackendAddress": false,
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "listener1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01"
+ },
+ "protocol": "Http",
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "urlPathMaps": [],
+ "requestRoutingRules": [
+ {
+ "name": "Rule01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/requestRoutingRules/Rule01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01"
+ }
+ }
+ }
+ ],
+ "probes": [],
+ "redirectConfigurations": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..27273fc49fc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg",
+ "parameters": {
+ "location": "westus",
+ "properties": { }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..52fd1fc97b86
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..2e6f2bba097c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..8a5941782796
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1",
+ "name": "asg1",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2",
+ "name": "asg2",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..a9f1b61c8cf9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1",
+ "name": "asg1",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2",
+ "name": "asg2",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..8caf6fd6ea20
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "location" : "westus",
+ "domainNameLabel" : "testdns"
+ },
+ "responses" : {
+ "200" : {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..e3e41a978a25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "networkSecurityGroupName": "nsg1",
+ "defaultSecurityRuleName": "AllowVnetInBound"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..0058b4f4c51a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "networkSecurityGroupName": "nsg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..367b764bb12b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Storage",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Storage",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ },
+ {
+ "name": "Microsoft.Sql",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Sql",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.AzureActiveDirectory",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..042febb3d469
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "ertest",
+ "circuitName" : "er1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "er1",
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Failed",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "bandwidthInMbps": 1000
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "",
+ "serviceKey": "0b392c2e-1e9d-46d7-b5e0-9ce90ca6b60c",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..1d18d2896ddb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1",
+ "inboundNatRuleParameters": {
+ "properties": {
+ "protocol": "Tcp",
+ "frontendIPConfiguration": { "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"},
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "idleTimeoutInMinutes": 4,
+ "enableFloatingIP": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..002477923b99
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..27cae4dd826a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..bbfa0390f4a3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/InboundNatRuleList.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ },
+ {
+ "name": "natRule1.3",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.3",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3392,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..6126d6944045
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "backend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config"
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..81654a6b2b4e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "backend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config"
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..3b2f45e44c18
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,332 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..8834095e2615
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,335 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..9b87b5e86864
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,165 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "properties": {
+ "serviceEndpoints": [],
+ "resourceNavigationLinks": []
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
+ }
+ },
+ "name": "test",
+ "zones": [],
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ ],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "inboundNatPools": [
+ {
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ },
+ "protocol": "Tcp",
+ "frontendPortRangeStart": 8080,
+ "frontendPortRangeEnd": 8085,
+ "backendPort": 8888,
+ "idleTimeoutInMinutes": 10,
+ "enableFloatingIP": true
+ },
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
+ },
+ "inboundNatPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendPortRangeStart": 8080,
+ "frontendPortRangeEnd": 8085,
+ "backendPort": 8888,
+ "idleTimeoutInMinutes": 10,
+ "enableFloatingIP": true,
+ "protocol": "Tcp",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
+ },
+ "inboundNatPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendPortRangeStart": 8080,
+ "frontendPortRangeEnd": 8085,
+ "backendPort": 8888,
+ "idleTimeoutInMinutes": 10,
+ "enableFloatingIP": true,
+ "protocol": "Tcp",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..afaf96e1016e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,335 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ },
+ "zones": [ "1" ]
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "zones": [ "1" ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "zones": [ "1" ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..c0e6dc9b9fe7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..01c8e9e43803
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "frontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..971468c33d26
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "frontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..032d908b22d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerGet.json
@@ -0,0 +1,125 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..a0a8899dc29e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerList.json
@@ -0,0 +1,140 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "belb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration":{
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "prlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "inrlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb2",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..f95387c79ee5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,139 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "belb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration":{
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "prlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "inrlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb3",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..dec902f6b6b9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..d120b9087c1e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..95d474d9a301
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "mynic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet"
+ },
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": []
+ },
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..85889b32816a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "vmss1Nic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "vmss1IpConfig",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.0"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0"
+ }
+ }
+ },
+ {
+ "name": "vmss1Nic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "vmss1IpConfig",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.5",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool"
+ }
+ ],
+ "loadBalancerInboundNatRules":[
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..6f60c7a70514
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "probe1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/probe1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..c837566a463e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "prlb",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/prlb",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..37e03108e45b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..01cb7f869bc7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "localNetworkGatewayName": "lgw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "gatewayIpAddress": "12.0.0.1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..5b796abd2c19
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,98 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic",
+ "parameters": {
+ "properties": {
+ "enableAcceleratedNetworking": true,
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "properties": {
+ "publicIPAddress": {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet": {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..2c0fde594d80
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..6ddf62d1d52e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "nic1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg"
+ },
+ "association" : {
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "networkInterface" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"
+ }
+ },
+ "effectiveSecurityRules" : [
+ {
+ "name" : "securityRules/rule1",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "456-456",
+ "destinationPortRange" : "6579-6579",
+ "sourceAddressPrefix" : "0.0.0.0/32",
+ "destinationAddressPrefix" : "0.0.0.0/32",
+ "access" : "Allow",
+ "priority" : 234,
+ "direction" : "Inbound"
+ },
+ {
+ "name" : "securityRules/default-allow-rdp",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "3389-3389",
+ "sourceAddressPrefix" : "1.1.1.1/32",
+ "destinationAddressPrefix" : "0.0.0.0/0",
+ "access" : "Allow",
+ "priority" : 1000,
+ "direction" : "Inbound"
+ },
+ {
+ "name" : "defaultSecurityRules/AllowInternetOutBound",
+ "protocol" : "All",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "0-65535",
+ "sourceAddressPrefix" : "0.0.0.0/0",
+ "destinationAddressPrefix" : "Internet",
+ "expandedDestinationAddressPrefix" : [
+ "32.0.0.0/3",
+ "4.0.0.0/6",
+ "2.0.0.0/7",
+ "1.0.0.0/8"
+ ],
+ "access" : "Allow",
+ "priority" : 65001,
+ "direction" : "Outbound"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..6b0aae845c91
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "nic1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "172.20.2.0/24"
+ ],
+ "nextHopType": "VnetLocal",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "Internet",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "10.0.0.0/8"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "100.64.0.0/10"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "172.16.0.0/12"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "192.168.0.0/16"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ }
+ ]
+ }
+ },
+ "202" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..fd9d699b916c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,54 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "test.bx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..ae019b4655a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet"
+ },
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..69b95c684f29
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet12/subnets/subnet12"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..7b0342763f05
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,90 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "test.bx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ },
+ {
+ "name" : "test-nic2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip2"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet2/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..4959b9fcdc68
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,89 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "test.bx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ },
+ {
+ "name" : "test-nic2",
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/publicIPAddresses/test-ip2"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/virtualNetworks/rgnew-vnet2/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..e57385b4ea56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "lbname1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "lbfrontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/publicIPAddresses/myDynamicPublicIP"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "bepool1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1"
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "inbound1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1"
+ }
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..d464ebc11b46
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..1abc20e5b751
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,231 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..51ddd81285ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,281 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "parameters": {
+ "properties": {
+ "securityRules": [
+ {
+ "name": "rule1",
+ "properties": {
+ "protocol": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "destinationPortRange": "80",
+ "sourcePortRange": "*",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..fa69fd8b30e3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..5d245c981584
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..c5d734160bc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nsg1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "nsg3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..38516d433c75
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nsg1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "nsg3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..d633da5b3a56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1",
+ "securityRuleParameters": {
+ "properties": {
+ "protocol": "*",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "destinationPortRange": "8080",
+ "sourcePortRange": "*",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "8080",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "8080",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..a34c3c8e5354
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..3fb63ee657ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..16eddfdebe14
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..a3d84614ba2e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..61198b394290
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,66 @@
+{
+ "parameters" : {
+ "api-version" : "2017-08-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "azureLocations" : [ "West US" ],
+ "country" : "United States",
+ "state" : "washington",
+ "city" : "seattle"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "countries" : [
+ {
+ "countryName" : "United States",
+ "states" : [
+ {
+ "stateName" : "washington",
+ "cities" : [
+ {
+ "cityName" : "seattle",
+ "providers" : [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "countries" : [
+ {
+ "countryName" : "United States",
+ "states" : [
+ {
+ "stateName" : "washington",
+ "cities" : [
+ {
+ "cityName" : "seattle",
+ "providers" : [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..dca51d710b16
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters" : {
+ "api-version" : "2017-08-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "providerLocation" : {
+ "country" : "United States",
+ "state" : "washington"
+ },
+ "providers" : [
+ "Frontier Communications of America, Inc. - ASN 5650"
+ ],
+ "azureLocations" : [
+ "West US"
+ ],
+ "startTime": "2017-09-07T00:00:00Z",
+ "endTime": "2017-09-10T00:00:00Z"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "aggregationLevel" : "State",
+ "providerLocation" : {
+ "country" : "United States",
+ "state" : "washington"
+ },
+ "reachabilityReport" : [
+ {
+ "provider" : "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "aggregationLevel" : "State",
+ "providerLocation" : {
+ "country" : "United States",
+ "state" : "washington"
+ },
+ "reachabilityReport" : [
+ {
+ "provider" : "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorCreate.json
new file mode 100644
index 000000000000..577cd57dc4c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorCreate.json
@@ -0,0 +1,70 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1",
+ "location": "centraluseuap",
+ "parameters" : {
+ "properties": {
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60
+ }
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties" : {
+ "provisioningState": "Updating",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "monitoringStatus": "NotStarted"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ },
+ "200" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties" : {
+ "provisioningState": "Updating",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "monitoringStatus": "NotStarted"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorDelete.json
new file mode 100644
index 000000000000..05ceee212913
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorGet.json
new file mode 100644
index 000000000000..40ebf319770e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorList.json
new file mode 100644
index 000000000000..c9b96f5082ab
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ },
+ {
+ "name" : "cm2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm2",
+ "port": 0
+ },
+ "destination": {
+ "address": "google.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 30,
+ "autoStart": true,
+ "startTime": "2018-01-08T05:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorQuery.json
new file mode 100644
index 000000000000..2c0c3ad65a9f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorQuery.json
@@ -0,0 +1,75 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "states" : [
+ {
+ "connectionState" : "Reachable",
+ "startTime" : "2018-01-08T03:42:33.3387305Z",
+ "endTime" : "2018-01-08T05:12:41.5265438Z",
+ "evaluationState" : "Completed",
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "states" : [
+ {
+ "connectionState" : "Reachable",
+ "startTime" : "2018-01-08T03:42:33.3387305Z",
+ "endTime" : "2018-01-08T05:12:41.5265438Z",
+ "evaluationState" : "Completed",
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorStart.json
new file mode 100644
index 000000000000..20209c8e15dd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorStop.json
new file mode 100644
index 000000000000..20209c8e15dd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectionMonitorStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..050e1504ec8f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,79 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "source" : {
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ "destination" : {
+ "address" : "192.168.100.4",
+ "port" : 3389
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ],
+ "connectionStatus" : "Connected",
+ "avgLatencyInMs" : 1,
+ "minLatencyInMs" : 1,
+ "maxLatencyInMs" : 4,
+ "probesSent" : 100,
+ "probesFailed" : 0
+ }
+ },
+ "202" : {
+ "body" : {
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwor",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ],
+ "connectionStatus" : "Connected",
+ "avgLatencyInMs" : 1,
+ "minLatencyInMs" : 1,
+ "maxLatencyInMs" : 4,
+ "probesSent" : 100,
+ "probesFailed" : 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..da719a2306f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters": {
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..839f25d57e1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "202" : {},
+ "204" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..c30dc804dee4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ },
+ "202" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..9b7082bd1bed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ },
+ "202" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..eeb48159af68
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..1de99fbcde81
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "direction" : "Outbound",
+ "protocol" : "TCP",
+ "localPort" : "80",
+ "remotePort" : "80",
+ "localIPAddress" : "10.2.0.4",
+ "remoteIPAddress" : "121.10.1.1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "access" : "Allow",
+ "ruleName" : "Rule1"
+ }
+ },
+ "202" : {
+ "body" : {
+ "access" : "Allow",
+ "ruleName" : "Rule1"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..984441526d95
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherList.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "name" : "nw2",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..cc38c8f3cc3e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "name" : "nw2",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..fa20653bcc53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "sourceIPAddress" : "10.0.0.5",
+ "destinationIPAddress" : "10.0.0.10",
+ "targetNicResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "nextHopType" : "VnetLocal",
+ "nextHopIpAddress" : "10.0.0.1",
+ "routeTableId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1"
+ }
+ },
+ "202" : {
+ "body" : {
+ "nextHopType" : "VnetLocal",
+ "nextHopIpAddress" : "10.0.0.1",
+ "routeTableId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..8b80f62ea44f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1",
+ "parameters" : {
+ "properties" : {
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag": "W/\"a3a2b157-1edc-44c2-a759-f881be9f0069\"",
+ "properties" : {
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ],
+ "provisioningState" : "Updating"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..cbb3db49f96c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..535f2ebed51f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ],
+ "provisioningState" : "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..7c73e966d69a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime" : "2016-01-08T03:42:33.3387305Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ },
+ "202" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime" : "2016-01-08T03:42:33.3387305Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..62ff3a4dbfe5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..c4a2755ceeaa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Updating",
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ]
+ }
+ },
+ {
+ "name" : "pc2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc2.cap",
+ "filePath" : "D:\\capture\\pc2.cap"
+ },
+ "filters" : []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..0b01344f0076
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,191 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "networkInterfaces" : [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRuleAssociations" : {
+ "networkInterfaceAssociation": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRules": [
+ {
+ "name": "default-allow-rdp",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/securityRules/default-allow-rdp",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Tcp",
+ "sourcePortRange": "*",
+ "destinationPortRange": "3389",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 1000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ ]
+ },
+ "subnetAssociation" : {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "securityRules" : [
+ {
+ "name" : "fe_rule",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow Frontend",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "10.1.0.0/24",
+ "destinationAddressPrefix" : "*",
+ "access" : "Allow",
+ "priority" : 100,
+ "direction" : "Inbound"
+ }
+ }
+ ]
+ },
+ "defaultSecurityRules" : [
+ {
+ "name" : "AllowVnetInBound",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow inbound traffic from all VMs in VNET",
+ "protocol" : "*",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "VirtualNetwork",
+ "destinationAddressPrefix" : "VirtualNetwork",
+ "access" : "Allow",
+ "priority" : 65000,
+ "direction" : "Inbound"
+ }
+ }
+ ],
+ "effectiveSecurityRules" : [
+ {
+ "name" : "DefaultOutboundDenyAll",
+ "protocol" : "All",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "0-65535",
+ "sourceAddressPrefix" : "*",
+ "destinationAddressPrefix" : "*",
+ "access" : "Deny",
+ "priority" : 65500,
+ "direction" : "Outbound"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "networkInterfaces" : [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRuleAssociations" : {
+ "networkInterfaceAssociation": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRules": [
+ {
+ "name": "default-allow-rdp",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/securityRules/default-allow-rdp",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Tcp",
+ "sourcePortRange": "*",
+ "destinationPortRange": "3389",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 1000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ ]
+ },
+ "subnetAssociation" : {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "securityRules" : [
+ {
+ "name" : "fe_rule",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow Frontend",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "10.1.0.0/24",
+ "destinationAddressPrefix" : "*",
+ "access" : "Allow",
+ "priority" : 100,
+ "direction" : "Inbound"
+ }
+ }
+ ]
+ },
+ "defaultSecurityRules" : [
+ {
+ "name" : "AllowVnetInBound",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow inbound traffic from all VMs in VNET",
+ "protocol" : "*",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "VirtualNetwork",
+ "destinationAddressPrefix" : "VirtualNetwork",
+ "access" : "Allow",
+ "priority" : 65000,
+ "direction" : "Inbound"
+ }
+ }
+ ],
+ "effectiveSecurityRules" : [
+ {
+ "name" : "DefaultOutboundDenyAll",
+ "protocol" : "All",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "0-65535",
+ "sourceAddressPrefix" : "*",
+ "destinationAddressPrefix" : "*",
+ "access" : "Deny",
+ "priority" : 65500,
+ "direction" : "Outbound"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..c8fb3f33e935
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceGroupName": "rg2"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "id" : "ce592f46-8164-4bf2-ad36-b8e4acf6fb68",
+ "createdDateTime" : "2017-08-02T19:31:55.9461781Z",
+ "lastModified" : "2017-05-27T00:00:13.2005337Z",
+ "resources" : [
+ {
+ "name" : "MultiTierApp0",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/MultiTierApp0",
+ "location" : "westus",
+ "associations" : [
+ {
+ "name" : "appNic0",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic0",
+ "associationType" : "Contains"
+ },
+ {
+ "name" : "appNic10",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic10",
+ "associationType" : "Contains"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..612cccc2e2bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "storagePath" : "https://st1.blob.core.windows.net/cn1"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id": "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id": "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..e059d86aa09e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id": "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary" : "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail" : "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions" : [
+ {
+ "actionText" : "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri" : "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText" : "Verify"
+ },
+ {
+ "actionText" : "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri" : "http://azure.microsoft.com/support",
+ "actionUriText" : "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id" : "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary" : "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail" : "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions" : [
+ {
+ "actionText" : "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri" : "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText" : "Verify"
+ },
+ {
+ "actionText" : "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri" : "http://azure.microsoft.com/support",
+ "actionUriText" : "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..870a9d56dca3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "nw1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/OperationList.json
new file mode 100644
index 000000000000..4bf12924e63f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Network/localnetworkgateways/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Get LocalNetworkGateway",
+ "description": "Gets LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/localnetworkgateways/write",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Create or update LocalNetworkGateway",
+ "description": "Creates or updates an existing LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/localnetworkgateways/delete",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Delete LocalNetworkGateway",
+ "description": "Deletes LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/networkInterfaces/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "Network Interface metric definition",
+ "operation": "Read Network Interface metric definitions",
+ "description": "Gets available metrics for the Network Interface"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "BytesSentRate",
+ "displayName": "Bytes Sent",
+ "displayDescription": "Number of bytes the Network Interface sent",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "availabilities": [
+ {
+ "timeGrain": "00:01:00",
+ "retention": "00:00:00",
+ "blobDuration": "01:00:00"
+ },
+ {
+ "timeGrain": "01:00:00",
+ "retention": "00:00:00",
+ "blobDuration": "1.00:00:00"
+ }
+ ],
+ "enableRegionalMdmAccount": false,
+ "metricFilterPattern": "^__Ready__$",
+ "fillGapWithZero": false,
+ "dimensions": [],
+ "isInternal": false
+ },
+ {
+ "name": "BytesReceivedRate",
+ "displayName": "Bytes Received",
+ "displayDescription": "Number of bytes the Network Interface received",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "availabilities": [
+ {
+ "timeGrain": "00:01:00",
+ "retention": "00:00:00",
+ "blobDuration": "01:00:00"
+ },
+ {
+ "timeGrain": "01:00:00",
+ "retention": "00:00:00",
+ "blobDuration": "1.00:00:00"
+ }
+ ],
+ "enableRegionalMdmAccount": false,
+ "metricFilterPattern": "^__Ready__$",
+ "fillGapWithZero": false,
+ "dimensions": [],
+ "isInternal": false
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.Network/networksecuritygroups/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "Network Security Groups Log Definitions",
+ "operation": "Get Network Security Group Event Log Definitions",
+ "description": "Gets the events for network security group"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "NetworkSecurityGroupEvent",
+ "displayName": "Network Security Group Event",
+ "blobDuration": "PT1H"
+ },
+ {
+ "name": "NetworkSecurityGroupRuleCounter",
+ "displayName": "Network Security Group Rule Counter",
+ "blobDuration": "PT1H"
+ },
+ {
+ "name": "NetworkSecurityGroupFlowEvent",
+ "displayName": "Network Security Group Rule Flow Event",
+ "blobDuration": "PT1H"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..072acc4b394a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,63 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "zones": [ "1" ],
+ "parameters": {
+ "properties": {
+ "publicIPAllocationMethod": "Static",
+ "idleTimeoutInMinutes": 10,
+ "publicIPAddressVersion": "IPv4"
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Static",
+ "idleTimeoutInMinutes" : 10,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Static",
+ "idleTimeoutInMinutes" : 10,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..4a712d4bc240
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,51 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..181ea3643baa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,59 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {
+ "properties": {
+ "dnsSettings": {
+ "domainNameLabel": "dnslbl"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "dnslbl",
+ "fqdn" : "dnslbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "dnslbl",
+ "fqdn" : "dnslbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..6fe6c8e20f3f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..95a9442d4a24
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "testDNS-ip"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ },
+ "ipTags" : [
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "SQL"
+ },
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "Storage"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..0eb00fea3ac5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ },
+ "ipTags" : [
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "SQL"
+ },
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "Storage"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ },
+ {
+ "name" : "ip03",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/ip03",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipAddress" : "40.85.154.247",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "testlbl",
+ "fqdn" : "testlbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..66ae5727b013
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ },
+ {
+ "name" : "ip01",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/ip01",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipAddress" : "40.85.154.247",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "testlbl",
+ "fqdn" : "testlbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..3810385ce93d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Static",
+ "idleTimeoutInMinutes" : 10,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..bf66a75fda40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterCreate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "routeFilterParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "rules": [
+ {
+ "name": "ruleName",
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": [ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": [ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..2fc8efa9c46f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..c2c9df7e07ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..6fdeac61652a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..19174fbc0e5f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..650d85d8141b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..91b6df5a808b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..0fa540fdbe47
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..ac8468de5b83
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "routeFilterName": "filterName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleUpdate.json
new file mode 100644
index 000000000000..a9abd7ce4c9a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterRuleUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterUpdate.json
new file mode 100644
index 000000000000..1f325fd6d37a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteFilterUpdate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "routeFilterParameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "rules": [
+ {
+ "name": "ruleName",
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..1fb1c4c58c8c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableCreate.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [ ],
+ "disableBgpRoutePropagation": true
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..b00e0b405358
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,69 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..34544b76e999
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..7f2af5b7a360
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": false,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..642685999b1d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "testrt2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt2",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "provisioningState": "Succeeded",
+ "routes": [ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..9678c37aad39
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "testrt3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/testrt3",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..425a80931d61
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1",
+ "routeParameters": {
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..5d65c23b7fd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..18b665d37f19
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "Internet"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..2d767fec11ae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "Internet"
+ }
+ },
+ {
+ "name": "route2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.2.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..54614f7698b3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..a69319b8c6be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsofot.Network/bgpServiceCommunities/skype",
+ "name": "skype",
+ "type": "Microsofot.Network/bgpServiceCommunities",
+ "properties": {
+ "serviceName" : "skype",
+ "bgpCommunities": [
+ {
+ "serviceSupportedRegion": "Global",
+ "communityName": "Skype For Business Online",
+ "communityValue": "12076:5030",
+ "communityPrefixes": [
+ "13.67.56.225/32",
+ "13.67.186.105/32"
+ ],
+ "isAuthorizedToUse": true,
+ "serviceGroup" : "O365"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsofot.Network/bgpServiceCommunities/exchange",
+ "name": "exchange",
+ "type": "Microsofot.Network/bgpServiceCommunities",
+ "properties": {
+ "serviceName" : "exchange",
+ "bgpCommunities": [
+ {
+ "serviceSupportedRegion": "Global",
+ "communityName": "Exchange Online",
+ "communityValue": "12076:5040",
+ "communityPrefixes": [
+ "13.67.56.225/32",
+ "13.67.186.105/32"
+ ],
+ "isAuthorizedToUse": true,
+ "serviceGroup" : "O365"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..03df3d15d115
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "subnetParameters": {
+ "properties": {
+ "addressPrefix": "10.0.0.0/16"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..595e08d6d539
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "subnetParameters": {
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ { "service": "Microsoft.Storage" }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [{
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ],
+ "provisioningState": "Succeeded"
+ }],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [{
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ],
+ "provisioningState": "Succeeded"
+ }],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..d8427c1f5b75
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..d0ed3a13ac50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetList.json
new file mode 100644
index 000000000000..4255cdedf17f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet2",
+ "name": "subnet2",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/UsageList.json
new file mode 100644
index 000000000000..784edd3062a0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 8.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/VirtualNetworks",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Virtual Networks",
+ "value": "VirtualNetworks"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/StaticPublicIPAddresses",
+ "limit": 20.0,
+ "name": {
+ "localizedValue": "Static Public IP Addresses",
+ "value": "StaticPublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkSecurityGroups",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Network Security Groups",
+ "value": "NetworkSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 8.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PublicIPAddresses",
+ "limit": 60.0,
+ "name": {
+ "localizedValue": "Public IP Addresses",
+ "value": "PublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkInterfaces",
+ "limit": 350.0,
+ "name": {
+ "localizedValue": "Network Interfaces",
+ "value": "NetworkInterfaces"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/LoadBalancers",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Load Balancers",
+ "value": "LoadBalancers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/ApplicationGateways",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Application Gateways",
+ "value": "ApplicationGateways"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteTables",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Route Tables",
+ "value": "RouteTables"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilters",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Route Filters",
+ "value": "RouteFilters"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkWatchers",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Network Watchers",
+ "value": "NetworkWatchers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PacketCaptures",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Packet Captures",
+ "value": "PacketCaptures"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/DnsServersPerVirtualNetwork",
+ "limit": 9.0,
+ "name": {
+ "localizedValue": "DNS servers per Virtual Network",
+ "value": "DnsServersPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SubnetsPerVirtualNetwork",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Subnets per Virtual Network",
+ "value": "SubnetsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/IPConfigurationsPerVirtualNetwork",
+ "limit": 4096.0,
+ "name": {
+ "localizedValue": "IP Configurations per Virtual Network",
+ "value": "IPConfigurationsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PeeringsPerVirtualNetwork",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Peerings per Virtual Network",
+ "value": "PeeringsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerNetworkSecurityGroup",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Security rules per Network Security Group",
+ "value": "SecurityRulesPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup",
+ "limit": 2000.0,
+ "name": {
+ "localizedValue": "Security rules addresses or ports per Network Security Group",
+ "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerLoadBalancer",
+ "limit": 150.0,
+ "name": {
+ "localizedValue": "Inbound Rules per Load Balancer",
+ "value": "InboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/FrontendIPConfigurationPerLoadBalancer",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Frontend IP Configurations per Load Balancer",
+ "value": "FrontendIPConfigurationPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/OutboundNatRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound NAT Rules per Load Balancer",
+ "value": "OutboundNatRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RoutesPerRouteTable",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Routes per Route Table",
+ "value": "RoutesPerRouteTable"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecondaryIPConfigurationsPerNetworkInterface",
+ "limit": 256.0,
+ "name": {
+ "localizedValue": "Secondary IP Configurations per Network Interface",
+ "value": "SecondaryIPConfigurationsPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerNetworkInterface",
+ "limit": 500.0,
+ "name": {
+ "localizedValue": "Inbound rules per Network Interface",
+ "value": "InboundRulesPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilterRulesPerRouteFilter",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filter rules per Route Filter",
+ "value": "RouteFilterRulesPerRouteFilter"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFiltersPerExpressRouteBgpPeering",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filters per Express route BGP Peering",
+ "value": "RouteFiltersPerExpressRouteBgpPeering"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..b16f96b5517d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "IPAddress": "10.0.1.4"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "available": false,
+ "availableIPAddresses": [
+ "10.0.1.5",
+ "10.0.1.6",
+ "10.0.1.7",
+ "10.0.1.8",
+ "10.0.1.9"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..77b28c66a3f7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "location": "westus",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..f8ccdbb4473c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,110 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "vnetTest",
+ "virtualNetworkName" : "vnet1",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ {
+ "service": "Microsoft.Storage"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "vnet1",
+ "id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "ipConfigurations": [],
+ "resourceNavigationLinks": [],
+ "serviceEndpoints": [
+ {
+ "provisioningState": "Succeeded",
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "vnet1",
+ "id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "ipConfigurations": [],
+ "resourceNavigationLinks": [],
+ "serviceEndpoints": [
+ {
+ "provisioningState": "Succeeded",
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..655414e5ce68
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,81 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..ea955d78444d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..4def8eab1a42
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkGatewayConnectionName": "test",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/test",
+ "type": "Microsoft.Network/connections",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw"
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw"
+ },
+ "connectionType": "IPsec",
+ "routingWeight": 0,
+ "sharedKey": "temp1234",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "connectionStatus": "Unknown",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..d77728c68e8a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,62 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testpub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 2
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.254",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..b52434333a03
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2017-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-vpn-connection",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/connections/test-vpn-connection",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "type": "Microsoft.Network/connections",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-1"
+ },
+ "virtualNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/testrg-2/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-2"
+ },
+ "connectionType": "Vnet2Vnet",
+ "routingWeight": 22,
+ "enableBgp": true,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..441b9455baf7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [{
+ "name" : "subnet1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+
+ "addressPrefix" : "10.0.1.0/24",
+ "ipConfigurations" : [{
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe"
+ }
+ ]
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..dea9539818c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "name": "vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/8"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": []
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2",
+ "name": "vnet2",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": [
+ "8.8.8.8"
+ ]
+ },
+ "subnets": [],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..ec9c0139438a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "name": "vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/8"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": []
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2",
+ "name": "vnet2",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": [
+ "8.8.8.8"
+ ]
+ },
+ "subnets": [],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..3b13dc0525e4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": -1.0,
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/GatewaySubnet",
+ "limit": -1.0,
+ "name": {
+ "localizedValue": "Subnet size and usage",
+ "value": "SubnetSpace"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/newSubnet",
+ "limit": 3.0,
+ "name": {
+ "localizedValue": "Subnet size and usage",
+ "value": "SubnetSpace"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..34a0b0773c48
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid",
+ "VirtualNetworkPeeringParameters": {
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..f9eec9e85d93
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..f6ca44c3ac48
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..bb272e6372f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2017-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": false,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "13.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..b6c960d2d42b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2017-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "location": "westus",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..6a309c899c6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceGet.json
@@ -0,0 +1,65 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkInterfaceName" : "nic1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "nic1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [
+ {
+ "name" : "ip1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "10.0.0.5",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4",
+ "loadBalancerBackendAddressPools" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "dns.cdmx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-00-00-00-00-00",
+ "enableAcceleratedNetworking" : false,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..50253777dc63
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceIpConfigGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "2",
+ "networkInterfaceName": "nic1",
+ "ipConfigurationName": "ip1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.6",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..fe4db041f128
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceIpConfigList.json
@@ -0,0 +1,42 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "2",
+ "networkInterfaceName": "nic1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.6",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..01cc5ea64615
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssNetworkInterfaceList.json
@@ -0,0 +1,118 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nic1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.0"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0"
+ }
+ }
+ },
+ {
+ "name": "nic1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.5",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..6163cda40a8d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssPublicIpGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2017-03-30",
+ "subscriptionId": "subid",
+ "virtualmachineIndex": 1,
+ "networkInterfaceName": "nic1",
+ "ipConfigurationName": "ip1",
+ "publicIpAddressName": "pub1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm1.testvmssacc",
+ "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.119.72",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..5d20af64ab0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssPublicIpListAll.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2017-03-30",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm1.testvmssacc",
+ "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.119.72",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm3.testvmssacc",
+ "fqdn": "vm3.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.118.216",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..36e0b86265c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssVmNetworkInterfaceList.json
@@ -0,0 +1,68 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nic1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.5",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..5f179ef0a801
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/examples/VmssVmPublicIpList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2017-03-30",
+ "subscriptionId": "subid",
+ "virtualmachineIndex": 1,
+ "networkInterfaceName": "nic1",
+ "ipConfigurationName": "ip1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm1.testvmssacc",
+ "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.119.72",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..278d2eeaa759
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/expressRouteCircuit.json
@@ -0,0 +1,1622 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_Delete",
+ "description": "Deletes the specified authorization from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "authorizationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the authorization."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_Get",
+ "description": "Gets the specified authorization from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "authorizationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the authorization."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate",
+ "description": "Creates or updates an authorization in the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "authorizationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the authorization."
+ },
+ {
+ "name": "authorizationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ },
+ "description": "Parameters supplied to the create or update express route circuit authorization operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_List",
+ "description": "Gets all authorizations in an express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_Delete",
+ "description": "Deletes the specified peering from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_Get",
+ "description": "Gets the specified authorization from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate",
+ "description": "Creates or updates a peering in the specified express route circuits.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "peeringParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "Parameters supplied to the create or update express route circuit peering operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_List",
+ "description": "Gets all peerings in a specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_Delete",
+ "description": "Deletes the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. Sets 'Disabling' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_Get",
+ "description": "Gets information about the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_CreateOrUpdate",
+ "description": "Creates or updates an express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the circuit."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ },
+ "description": "Parameters supplied to the create or update express route circuit operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_UpdateTags",
+ "description": "Updates an express route circuit tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the circuit."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update express route circuit tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Express Route Circuit Tags": { "$ref": "./examples/ExpressRouteCircuitUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCircuitArpTable"
+ ],
+ "operationId": "ExpressRouteCircuits_ListArpTable",
+ "description": "Gets the currently advertised ARP table associated with the express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "devicePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path of the device."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsArpTable resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitsArpTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCircuitRoutesTable"
+ ],
+ "operationId": "ExpressRouteCircuits_ListRoutesTable",
+ "description": "Gets the currently advertised routes table associated with the express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "devicePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path of the device."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCircuitRoutesTableSummary"
+ ],
+ "operationId": "ExpressRouteCircuits_ListRoutesTableSummary",
+ "description": "Gets the currently advertised routes table summary associated with the express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "devicePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path of the device."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRoutesTableSummary resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableSummaryListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitStats"
+ ],
+ "operationId": "ExpressRouteCircuits_GetStats",
+ "description": "Gets all the stats from an express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitStats"
+ ],
+ "operationId": "ExpressRouteCircuits_GetPeeringStats",
+ "description": "Gets all stats from an express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_List",
+ "description": "Gets all the express route circuits in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_ListAll",
+ "description": "Gets all the express route circuits in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": {
+ "get": {
+ "tags": [
+ "ExpressRouteServiceProviders"
+ ],
+ "operationId": "ExpressRouteServiceProviders_List",
+ "description": "Gets all the available express route service providers.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteServiceProdiver resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AuthorizationPropertiesFormat": {
+ "properties": {
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorization key."
+ },
+ "authorizationUseStatus": {
+ "type": "string",
+ "description": "AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'.",
+ "enum": [
+ "Available",
+ "InUse"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationUseStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRouteCircuitAuthorization": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Authorization in an ExpressRouteCircuit resource."
+ },
+ "AuthorizationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ },
+ "description": "The authorizations in an ExpressRoute Circuit."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitPeeringConfig": {
+ "properties": {
+ "advertisedPublicPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The reference of AdvertisedPublicPrefixes."
+ },
+ "advertisedCommunities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The communities of bgp peering. Spepcified for microsoft peering"
+ },
+ "advertisedPublicPrefixesState": {
+ "type": "string",
+ "description": "AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'.",
+ "enum": [
+ "NotConfigured",
+ "Configuring",
+ "Configured",
+ "ValidationNeeded"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState",
+ "modelAsString": true
+ }
+ },
+ "legacyMode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The legacy mode of the peering."
+ },
+ "customerASN": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The CustomerASN of the peering."
+ },
+ "routingRegistryName": {
+ "type": "string",
+ "description": "The RoutingRegistryName of the configuration."
+ }
+ },
+ "description": "Specifies the peering configuration."
+ },
+ "Ipv6ExpressRouteCircuitPeeringConfig": {
+ "properties": {
+ "primaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The primary address prefix."
+ },
+ "secondaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The secondary address prefix."
+ },
+ "microsoftPeeringConfig": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
+ "description": "The Microsoft peering configuration."
+ },
+ "routeFilter": {
+ "$ref": "./routeFilter.json#/definitions/RouteFilter",
+ "description": "The reference of the RouteFilter resource."
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of peering. Possible values are: 'Disabled' and 'Enabled'",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Contains IPv6 peering config."
+ },
+ "ExpressRouteCircuitStats": {
+ "properties": {
+ "primarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesIn of the peering."
+ },
+ "primarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesOut of the peering."
+ },
+ "secondarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesIn of the peering."
+ },
+ "secondarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesOut of the peering."
+ }
+ },
+ "description": "Contains stats associated with the peering."
+ },
+ "ExpressRouteCircuitPeeringPropertiesFormat": {
+ "properties": {
+ "peeringType": {
+ "type": "string",
+ "description": "The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'.",
+ "enum": [
+ "AzurePublicPeering",
+ "AzurePrivatePeering",
+ "MicrosoftPeering"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringType",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of peering. Possible values are: 'Disabled' and 'Enabled'",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringState",
+ "modelAsString": true
+ }
+ },
+ "azureASN": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Azure ASN."
+ },
+ "peerASN": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 1,
+ "maximum": 4294967295,
+ "description": "The peer ASN."
+ },
+ "primaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The primary address prefix."
+ },
+ "secondaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The secondary address prefix."
+ },
+ "primaryAzurePort": {
+ "type": "string",
+ "description": "The primary port."
+ },
+ "secondaryAzurePort": {
+ "type": "string",
+ "description": "The secondary port."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The shared key."
+ },
+ "vlanId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The VLAN ID."
+ },
+ "microsoftPeeringConfig": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
+ "description": "The Microsoft peering configuration."
+ },
+ "stats": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats",
+ "description": "Gets peering stats."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Gets whether the provider or the customer last modified the peering."
+ },
+ "routeFilter": {
+ "$ref": "./routeFilter.json#/definitions/RouteFilter",
+ "description": "The reference of the RouteFilter resource."
+ },
+ "ipv6PeeringConfig": {
+ "$ref": "#/definitions/Ipv6ExpressRouteCircuitPeeringConfig",
+ "description": "The IPv6 peering configuration."
+ }
+ }
+ },
+ "ExpressRouteCircuitPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Peering in an ExpressRouteCircuit resource."
+ },
+ "ExpressRouteCircuitPeeringListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "The peerings in an express route circuit."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the SKU. Possible values are 'Standard' and 'Premium'.",
+ "enum": [
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitSkuTier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "type": "string",
+ "description": "The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'.",
+ "enum": [
+ "UnlimitedData",
+ "MeteredData"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitSkuFamily",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Contains SKU in an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitServiceProviderProperties": {
+ "properties": {
+ "serviceProviderName": {
+ "type": "string",
+ "description": "The serviceProviderName."
+ },
+ "peeringLocation": {
+ "type": "string",
+ "description": "The peering location."
+ },
+ "bandwidthInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The BandwidthInMbps."
+ }
+ },
+ "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitPropertiesFormat": {
+ "properties": {
+ "allowClassicOperations": {
+ "type": "boolean",
+ "description": "Allow classic operations"
+ },
+ "circuitProvisioningState": {
+ "type": "string",
+ "description": "The CircuitProvisioningState state of the resource."
+ },
+ "serviceProviderProvisioningState": {
+ "type": "string",
+ "description": "The ServiceProviderProvisioningState state of the resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'.",
+ "enum": [
+ "NotProvisioned",
+ "Provisioning",
+ "Provisioned",
+ "Deprovisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceProviderProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "authorizations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ },
+ "description": "The list of authorizations."
+ },
+ "peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "The list of peerings."
+ },
+ "serviceKey": {
+ "type": "string",
+ "description": "The ServiceKey."
+ },
+ "serviceProviderNotes": {
+ "type": "string",
+ "description": "The ServiceProviderNotes."
+ },
+ "serviceProviderProperties": {
+ "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties",
+ "description": "The ServiceProviderProperties."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ }
+ },
+ "description": "Properties of ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuit": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ExpressRouteCircuitSku",
+ "description": "The SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat"
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "ExpressRouteCircuit resource"
+ },
+ "ExpressRouteCircuitArpTable": {
+ "properties": {
+ "age": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Age"
+ },
+ "interface": {
+ "type": "string",
+ "description": "Interface"
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The IP address."
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "The MAC address."
+ }
+ },
+ "description": "The ARP table associated with the ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitsArpTableListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitArpTable"
+ },
+ "description": "Gets list of the ARP table."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListArpTable associated with the Express Route Circuits API."
+ },
+ "ExpressRouteCircuitRoutesTable": {
+ "properties": {
+ "network": {
+ "type": "string",
+ "description": "network"
+ },
+ "nextHop": {
+ "type": "string",
+ "description": "nextHop"
+ },
+ "locPrf": {
+ "type": "string",
+ "description": "locPrf"
+ },
+ "weight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "weight."
+ },
+ "path": {
+ "type": "string",
+ "description": "path"
+ }
+ },
+ "description": "The routes table associated with the ExpressRouteCircuit"
+ },
+ "ExpressRouteCircuitsRoutesTableListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitRoutesTable"
+ },
+ "description": "The list of routes table."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListRoutesTable associated with the Express Route Circuits API."
+ },
+ "ExpressRouteCircuitRoutesTableSummary": {
+ "properties": {
+ "neighbor": {
+ "type": "string",
+ "description": "Neighbor"
+ },
+ "v": {
+ "type": "integer",
+ "format": "int32",
+ "description": "BGP version number spoken to the neighbor."
+ },
+ "as": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Autonomous system number."
+ },
+ "upDown": {
+ "type": "string",
+ "description": "The length of time that the BGP session has been in the Established state, or the current status if not in the Established state."
+ },
+ "statePfxRcd": {
+ "type": "string",
+ "description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group."
+ }
+ },
+ "description": "The routes table associated with the ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitsRoutesTableSummaryListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitRoutesTableSummary"
+ },
+ "description": "A list of the routes table."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListRoutesTable associated with the Express Route Circuits API."
+ },
+ "ExpressRouteCircuitListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ },
+ "description": "A list of ExpressRouteCircuits in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListExpressRouteCircuit API service call."
+ },
+ "ExpressRouteServiceProviderBandwidthsOffered": {
+ "properties": {
+ "offerName": {
+ "type": "string",
+ "description": "The OfferName."
+ },
+ "valueInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ValueInMbps."
+ }
+ },
+ "description": "Contains bandwidths offered in ExpressRouteServiceProvider resources."
+ },
+ "ExpressRouteServiceProviderPropertiesFormat": {
+ "properties": {
+ "peeringLocations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Get a list of peering locations."
+ },
+ "bandwidthsOffered": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered"
+ },
+ "description": "Gets bandwidths offered."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the resource."
+ }
+ },
+ "description": "Properties of ExpressRouteServiceProvider."
+ },
+ "ExpressRouteServiceProvider": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A ExpressRouteResourceProvider object."
+ },
+ "ExpressRouteServiceProviderListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteServiceProvider"
+ },
+ "description": "A list of ExpressRouteResourceProvider resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListExpressRouteServiceProvider API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/loadBalancer.json
new file mode 100644
index 000000000000..cc3803e932f3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/loadBalancer.json
@@ -0,0 +1,1674 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}": {
+ "delete": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_Delete",
+ "description": "Deletes the specified load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete load balancer": { "$ref": "./examples/LoadBalancerDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_Get",
+ "description": "Gets the specified load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get load balancer": { "$ref": "./examples/LoadBalancerGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_CreateOrUpdate",
+ "description": "Creates or updates a load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ },
+ "description": "Parameters supplied to the create or update load balancer operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create load balancer": { "$ref": "./examples/LoadBalancerCreate.json" },
+ "Create load balancer with inbound nat pool": { "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_UpdateTags",
+ "description": "Updates a load balancer tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update load balancer tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update load balancer tags": { "$ref": "./examples/LoadBalancerUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_ListAll",
+ "description": "Gets all the load balancers in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all load balancers": { "$ref": "./examples/LoadBalancerListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_List",
+ "description": "Gets all the load balancers in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List load balancers in resource group": { "$ref": "./examples/LoadBalancerList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerBackendAddressPools_List",
+ "description": "Gets all the load balancer backed address pools.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer BackendAddressPool resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerBackendAddressPoolListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerBackendAddressPoolList": { "$ref": "./examples/LoadBalancerBackendAddressPoolList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerBackendAddressPools_Get",
+ "description": "Gets load balancer backend address pool.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "backendAddressPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the backend address pool."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns LoadBalancer BackendAddressPool resource.",
+ "schema": {
+ "$ref": "#/definitions/BackendAddressPool"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerBackendAddressPoolGet": { "$ref": "./examples/LoadBalancerBackendAddressPoolGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerFrontendIPConfigurations_List",
+ "description": "Gets all the load balancer frontend IP configurations.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer FrontendIPConfiguration resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerFrontendIPConfigurationList": { "$ref": "./examples/LoadBalancerFrontendIPConfigurationList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerFrontendIPConfigurations_Get",
+ "description": "Gets load balancer frontend IP configuration.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "frontendIPConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the frontend IP configuration."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns LoadBalancer FrontendIPConfiguration resource.",
+ "schema": {
+ "$ref": "#/definitions/FrontendIPConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerFrontendIPConfigurationGet": { "$ref": "./examples/LoadBalancerFrontendIPConfigurationGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_List",
+ "description": "Gets all the inbound nat rules in a load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer InboundNatRule resources.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "InboundNatRuleList": { "$ref": "./examples/InboundNatRuleList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}": {
+ "delete": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_Delete",
+ "description": "Deletes the specified load balancer inbound nat rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "inboundNatRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the inbound nat rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "InboundNatRuleDelete": { "$ref": "./examples/InboundNatRuleDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_Get",
+ "description": "Gets the specified load balancer inbound nat rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "inboundNatRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the inbound nat rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting InboundNatRule resource.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "InboundNatRuleGet": { "$ref": "./examples/InboundNatRuleGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_CreateOrUpdate",
+ "description": "Creates or updates a load balancer inbound nat rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "inboundNatRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the inbound nat rule."
+ },
+ {
+ "name": "inboundNatRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ },
+ "description": "Parameters supplied to the create or update inbound nat rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting InboundNatRule resource.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting InboundNatRule resource.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "InboundNatRuleCreate": { "$ref": "./examples/InboundNatRuleCreate.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerLoadBalancingRules_List",
+ "description": "Gets all the load balancing rules in a load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer LoadBalancingRule resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerLoadBalancingRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "LoadBalancerLoadBalancingRuleList": { "$ref": "./examples/LoadBalancerLoadBalancingRuleList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerLoadBalancingRules_Get",
+ "description": "Gets the specified load balancer load balancing rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "loadBalancingRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancing rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LoadBalancingRule resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancingRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerLoadBalancingRuleGet": { "$ref": "./examples/LoadBalancerLoadBalancingRuleGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerNetworkInterfaces_List",
+ "description": "Gets associated load balancer network interfaces.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerNetworkInterfaceListVmss": { "$ref": "./examples/LoadBalancerNetworkInterfaceListVmss.json" },
+ "LoadBalancerNetworkInterfaceListSimple": { "$ref": "./examples/LoadBalancerNetworkInterfaceListSimple.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerProbes_List",
+ "description": "Gets all the load balancer probes.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer Probe resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerProbeListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerProbeList": { "$ref": "./examples/LoadBalancerProbeList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerProbes_Get",
+ "description": "Gets load balancer probe.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "probeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the probe."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns LoadBalancer Probe resource.",
+ "schema": {
+ "$ref": "#/definitions/Probe"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerProbeGet": { "$ref": "./examples/LoadBalancerProbeGet.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LoadBalancerSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a load balancer SKU.",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerSkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of a load balancer"
+ },
+ "FrontendIPConfigurationPropertiesFormat": {
+ "properties": {
+ "inboundNatRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Read only. Inbound rules URIs that use this frontend IP."
+ },
+ "inboundNatPools": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Read only. Inbound pools URIs that use this frontend IP."
+ },
+ "outboundNatRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Read only. Outbound rules URIs that use this frontend IP."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Gets load balancing rules URIs that use this frontend IP."
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "The Private IP allocation method. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "The reference of the Public IP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Frontend IP Configuration of the load balancer."
+ },
+ "FrontendIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat",
+ "description": "Properties of the load balancer probe."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting the IP allocated for the resource needs to come from."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Frontend IP address of the load balancer."
+ },
+ "BackendAddressPoolPropertiesFormat": {
+ "properties": {
+ "backendIPConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "Gets collection of references to IP addresses defined in network interfaces."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Gets load balancing rules that use this backend address pool."
+ },
+ "outboundNatRule": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Gets outbound rules that use this backend address pool."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the backend address pool."
+ },
+ "BackendAddressPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendAddressPoolPropertiesFormat",
+ "description": "Properties of load balancer backend address pool."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Pool of backend IP addresses."
+ },
+ "LoadBalancingRulePropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to frontend IP addresses."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs."
+ },
+ "probe": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the load balancer probe used by the load balancing rule."
+ },
+ "protocol": {
+ "$ref": "#/definitions/TransportProtocol"
+ },
+ "loadDistribution": {
+ "type": "string",
+ "description": "The load distribution policy for this rule. Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'.",
+ "enum": [
+ "Default",
+ "SourceIP",
+ "SourceIPProtocol"
+ ],
+ "x-ms-enum": {
+ "name": "LoadDistribution",
+ "modelAsString": true
+ }
+ },
+ "frontendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables \"Any Port\""
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables \"Any Port\""
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
+ },
+ "enableFloatingIP": {
+ "type": "boolean",
+ "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
+ },
+ "disableOutboundSnat": {
+ "type": "boolean",
+ "description": "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "frontendPort"
+ ],
+ "description": "Properties of the load balancer."
+ },
+ "LoadBalancingRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoadBalancingRulePropertiesFormat",
+ "description": "Properties of load balancer load balancing rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "A load balancing rule for a load balancer."
+ },
+ "ProbePropertiesFormat": {
+ "properties": {
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The load balancer rules that use this probe."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.",
+ "enum": [
+ "Http",
+ "Tcp"
+ ],
+ "x-ms-enum": {
+ "name": "ProbeProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive."
+ },
+ "intervalInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5."
+ },
+ "numberOfProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure."
+ },
+ "requestPath": {
+ "type": "string",
+ "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "port"
+ ],
+ "description": "Load balancer probe resource."
+ },
+ "Probe": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProbePropertiesFormat",
+ "description": "Properties of load balancer probe."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "A load balancer probe."
+ },
+ "InboundNatRulePropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to frontend IP addresses."
+ },
+ "backendIPConfiguration": {
+ "readOnly": true,
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration",
+ "description": "A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP."
+ },
+ "protocol": {
+ "$ref": "#/definitions/TransportProtocol"
+ },
+ "frontendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
+ },
+ "enableFloatingIP": {
+ "type": "boolean",
+ "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the inbound NAT rule."
+ },
+ "InboundNatRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InboundNatRulePropertiesFormat",
+ "description": "Properties of load balancer inbound nat rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Inbound NAT rule of the load balancer."
+ },
+ "InboundNatPoolPropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to frontend IP addresses."
+ },
+ "protocol": {
+ "$ref": "#/definitions/TransportProtocol"
+ },
+ "frontendPortRangeStart": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534."
+ },
+ "frontendPortRangeEnd": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
+ },
+ "enableFloatingIP": {
+ "type": "boolean",
+ "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "frontendPortRangeStart",
+ "frontendPortRangeEnd",
+ "backendPort"
+ ],
+ "description": "Properties of Inbound NAT pool."
+ },
+ "InboundNatPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InboundNatPoolPropertiesFormat",
+ "description": "Properties of load balancer inbound nat pool."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Inbound NAT pool of the load balancer."
+ },
+ "OutboundNatRulePropertiesFormat": {
+ "properties": {
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of outbound ports to be used for NAT."
+ },
+ "frontendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The Frontend IP addresses of the load balancer."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "backendAddressPool"
+ ],
+ "description": "Outbound NAT pool of the load balancer."
+ },
+ "OutboundNatRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OutboundNatRulePropertiesFormat",
+ "description": "Properties of load balancer outbound nat rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Outbound NAT pool of the load balancer."
+ },
+ "LoadBalancerPropertiesFormat": {
+ "properties": {
+ "frontendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FrontendIPConfiguration"
+ },
+ "description": "Object representing the frontend IPs to be used for the load balancer"
+ },
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendAddressPool"
+ },
+ "description": "Collection of backend address pools used by a load balancer"
+ },
+ "loadBalancingRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancingRule"
+ },
+ "description": "Object collection representing the load balancing rules Gets the provisioning "
+ },
+ "probes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ },
+ "description": "Collection of probe objects used in the load balancer"
+ },
+ "inboundNatRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatRule"
+ },
+ "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules."
+ },
+ "inboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatPool"
+ },
+ "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules."
+ },
+ "outboundNatRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundNatRule"
+ },
+ "description": "The outbound NAT rules."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the load balancer resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the load balancer."
+ },
+ "LoadBalancer": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/LoadBalancerSku",
+ "description": "The load balancer SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoadBalancerPropertiesFormat",
+ "description": "Properties of load balancer."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "LoadBalancer resource"
+ },
+ "LoadBalancerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancer"
+ },
+ "description": "A list of load balancers in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListLoadBalancers API service call."
+ },
+ "InboundNatRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatRule"
+ },
+ "description": "A list of inbound nat rules in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListInboundNatRule API service call."
+ },
+ "LoadBalancerBackendAddressPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendAddressPool"
+ },
+ "description": "A list of backend address pools in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListBackendAddressPool API service call."
+ },
+ "LoadBalancerFrontendIPConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FrontendIPConfiguration"
+ },
+ "description": "A list of frontend IP configurations in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListFrontendIPConfiguration API service call."
+ },
+ "LoadBalancerLoadBalancingRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancingRule"
+ },
+ "description": "A list of load balancing rules in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListLoadBalancingRule API service call."
+ },
+ "LoadBalancerProbeListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ },
+ "description": "A list of probes in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListProbe API service call."
+ },
+ "TransportProtocol": {
+ "type": "string",
+ "description": "The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 'All.'",
+ "enum": [
+ "Udp",
+ "Tcp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "TransportProtocol",
+ "modelAsString": true
+ }
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/network.json
new file mode 100644
index 000000000000..00eaa12de4ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/network.json
@@ -0,0 +1,167 @@
+{
+ "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": "2017-11-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": {
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkInterface.json
new file mode 100644
index 000000000000..a6a50c3abc35
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkInterface.json
@@ -0,0 +1,1113 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}": {
+ "delete": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_Delete",
+ "description": "Deletes the specified network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network interface": { "$ref": "./examples/NetworkInterfaceDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_Get",
+ "description": "Gets information about the specified network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network interface": { "$ref": "./examples/NetworkInterfaceGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_CreateOrUpdate",
+ "description": "Creates or updates a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "description": "Parameters supplied to the create or update network interface operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network interface": { "$ref": "./examples/NetworkInterfaceCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_UpdateTags",
+ "description": "Updates a network interface tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network interface tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network interface tags": { "$ref": "./examples/NetworkInterfaceUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListAll",
+ "description": "Gets all network interfaces in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all network interfaces": { "$ref": "./examples/NetworkInterfaceListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_List",
+ "description": "Gets all network interfaces in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List network interfaces in resource group": { "$ref": "./examples/NetworkInterfaceList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable": {
+ "post": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_GetEffectiveRouteTable",
+ "description": "Gets all route tables applied to a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of EffectRoute resources.",
+ "schema": {
+ "$ref": "#/definitions/EffectiveRouteListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Show network interface effective route tables": { "$ref": "./examples/NetworkInterfaceEffectiveRouteTableList.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups": {
+ "post": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListEffectiveNetworkSecurityGroups",
+ "description": "Gets all network security groups applied to a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityGroupListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "List network interface effective network security groups": { "$ref": "./examples/NetworkInterfaceEffectiveNSGList.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceIPConfigurations_List",
+ "description": "Get all ip configurations in a network interface",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface IPConfiguration resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NetworkInterfaceIPConfigurationList": { "$ref": "./examples/NetworkInterfaceIPConfigurationList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceIPConfigurations_Get",
+ "description": "Gets the specified network interface ip configuration.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ip configuration name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterface IPConfiguration resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkInterfaceIPConfigurationGet": { "$ref": "./examples/NetworkInterfaceIPConfigurationGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceLoadBalancers_List",
+ "description": "List all load balancers in a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface LoadBalancer resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceLoadBalancerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NetworkInterfaceLoadBalancerList": { "$ref": "./examples/NetworkInterfaceLoadBalancerList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkInterfaceIPConfigurationPropertiesFormat": {
+ "properties": {
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool"
+ },
+ "description": "The reference of ApplicationGatewayBackendAddressPool resource."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/BackendAddressPool"
+ },
+ "description": "The reference of LoadBalancerBackendAddressPool resource."
+ },
+ "loadBalancerInboundNatRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/InboundNatRule"
+ },
+ "description": "A list of references of LoadBalancerInboundNatRules."
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "Private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "Subnet bound to the IP configuration."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Gets whether this is a primary customer address on the network interface."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "Public IP address bound to the IP configuration."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "Application security groups in which the IP configuration is included."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the network interface IP configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of IP configuration."
+ },
+ "NetworkInterfaceIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat",
+ "description": "Network interface IP configuration properties."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IPConfiguration in a network interface."
+ },
+ "NetworkInterfaceDnsSettings": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection."
+ },
+ "appliedDnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs."
+ },
+ "internalDnsNameLabel": {
+ "type": "string",
+ "description": "Relative DNS name for this NIC used for internal communications between VMs in the same virtual network."
+ },
+ "internalFqdn": {
+ "type": "string",
+ "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network."
+ },
+ "internalDomainNameSuffix": {
+ "type": "string",
+ "description": "Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix."
+ }
+ },
+ "description": "DNS settings of a network interface."
+ },
+ "NetworkInterfacePropertiesFormat": {
+ "properties": {
+ "virtualMachine": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of a virtual machine."
+ },
+ "networkSecurityGroup": {
+ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
+ "description": "The reference of the NetworkSecurityGroup resource."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "A list of IPConfigurations of the network interface."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/NetworkInterfaceDnsSettings",
+ "description": "The DNS settings in network interface."
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "The MAC address of the network interface."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Gets whether this is a primary network interface on a virtual machine."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "If the network interface is accelerated networking enabled."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Indicates whether IP forwarding is enabled on this network interface."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the network interface resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "NetworkInterface properties. "
+ },
+ "NetworkInterface": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfacePropertiesFormat",
+ "description": "Properties of the network interface."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A network interface in a resource group."
+ },
+ "NetworkInterfaceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "description": "A list of network interfaces in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListNetworkInterface API service call."
+ },
+ "NetworkInterfaceIPConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "A list of ip configurations."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list ip configurations API service call."
+ },
+ "NetworkInterfaceLoadBalancerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/LoadBalancer"
+ },
+ "description": "A list of load balancers."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list ip configurations API service call."
+ },
+ "EffectiveNetworkSecurityGroup": {
+ "properties": {
+ "networkSecurityGroup": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The ID of network security group that is applied."
+ },
+ "association": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityGroupAssociation",
+ "description": "Associated resources."
+ },
+ "effectiveSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityRule"
+ },
+ "description": "A collection of effective security rules."
+ },
+ "tagMap": {
+ "type": "string",
+ "additionalProperties": {
+ "type":"array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of IP Addresses within the tag (key)"
+ },
+ "description": "Mapping of tags to list of IP Addresses included within the tag."
+ }
+ },
+ "description": "Effective network security group."
+ },
+ "EffectiveNetworkSecurityGroupAssociation": {
+ "properties": {
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The ID of the subnet if assigned."
+ },
+ "networkInterface": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The ID of the network interface if assigned."
+ }
+ },
+ "description": "The effective network security group association."
+ },
+ "EffectiveNetworkSecurityRule": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the security rule specified by the user (if created by the user)."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', and 'All'.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveSecurityRuleProtocol",
+ "modelAsString": true
+ }
+ },
+ "sourcePortRange": {
+ "type": "string",
+ "description": "The source port or range."
+ },
+ "destinationPortRange": {
+ "type": "string",
+ "description": "The destination port or range."
+ },
+ "sourcePortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as seperator (e.g. 100-400), or an asterix (*)"
+ },
+ "destinationPortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as seperator (e.g. 100-400), or an asterix (*)"
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "description": "The source address prefix."
+ },
+ "destinationAddressPrefix": {
+ "type": "string",
+ "description": "The destination address prefix."
+ },
+ "sourceAddressPrefixes" : {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ },
+ "destinationAddressPrefixes" : {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ },
+ "expandedSourceAddressPrefix": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The expanded source address prefix."
+ },
+ "expandedDestinationAddressPrefix": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Expanded destination address prefix."
+ },
+ "access": {
+ "type": "string",
+ "description": "Whether network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleAccess",
+ "modelAsString": true
+ }
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority of the rule."
+ },
+ "direction": {
+ "type": "string",
+ "description": "The direction of the rule. Possible values are: 'Inbound and Outbound'.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleDirection",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Effective network security rules."
+ },
+ "EffectiveNetworkSecurityGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityGroup"
+ },
+ "description": "A list of effective network security groups."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list effective network security groups API service call."
+ },
+ "EffectiveRoute": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the user defined route. This is optional."
+ },
+ "source": {
+ "type": "string",
+ "description": "Who created the route. Possible values are: 'Unknown', 'User', 'VirtualNetworkGateway', and 'Default'.",
+ "enum": [
+ "Unknown",
+ "User",
+ "VirtualNetworkGateway",
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveRouteSource",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "The value of effective route. Possible values are: 'Active' and 'Invalid'.",
+ "enum": [
+ "Active",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveRouteState",
+ "modelAsString": true
+ }
+ },
+ "addressPrefix": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The address prefixes of the effective routes in CIDR notation."
+ },
+ "nextHopIpAddress": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The IP address of the next hop of the effective route."
+ },
+ "nextHopType": {
+ "type": "string",
+ "description": "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'.",
+ "enum": [
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "Internet",
+ "VirtualAppliance",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "RouteNextHopType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Effective Route"
+ },
+ "EffectiveRouteListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EffectiveRoute"
+ },
+ "description": "A list of effective routes."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list effective route API service call."
+ },
+ "IPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "The private IP allocation method. Possible values are 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "The reference of the public IP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of IP configuration."
+ },
+ "IPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IPConfigurationPropertiesFormat",
+ "description": "Properties of the IP configuration"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..ff3122a9cab1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkSecurityGroup.json
@@ -0,0 +1,866 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}": {
+ "delete": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_Delete",
+ "description": "Deletes the specified network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network security group": { "$ref": "./examples/NetworkSecurityGroupDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_Get",
+ "description": "Gets the specified network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network security group": { "$ref": "./examples/NetworkSecurityGroupGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_CreateOrUpdate",
+ "description": "Creates or updates a network security group in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ },
+ "description": "Parameters supplied to the create or update network security group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network security group": { "$ref": "./examples/NetworkSecurityGroupCreate.json" },
+ "Create network security group with rule": { "$ref": "./examples/NetworkSecurityGroupCreateWithRule.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_UpdateTags",
+ "description": "Updates a network security group tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network security group tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network security group tags": { "$ref": "./examples/NetworkSecurityGroupUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups": {
+ "get": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_ListAll",
+ "description": "Gets all network security groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all network security groups": { "$ref": "./examples/NetworkSecurityGroupListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups": {
+ "get": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_List",
+ "description": "Gets all network security groups in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List network security groups in resource group": { "$ref": "./examples/NetworkSecurityGroupList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}": {
+ "delete": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_Delete",
+ "description": "Deletes the specified network security rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "securityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the security rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network security rule from network security group": { "$ref": "./examples/NetworkSecurityGroupRuleDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_Get",
+ "description": "Get the specified network security rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "securityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the security rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network security rule in network security group": { "$ref": "./examples/NetworkSecurityGroupRuleGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_CreateOrUpdate",
+ "description": "Creates or updates a security rule in the specified network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "securityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the security rule."
+ },
+ {
+ "name": "securityRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "Parameters supplied to the create or update network security rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create security rule": { "$ref": "./examples/NetworkSecurityGroupRuleCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules": {
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_List",
+ "description": "Gets all security rules in a network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of SecurityRule resources.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRuleListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List network security rules in network security group": { "$ref": "./examples/NetworkSecurityGroupRuleList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules": {
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "DefaultSecurityRules_List",
+ "description": "Gets all default security rules in a network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of SecurityRule resources.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRuleListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DefaultSecurityRuleList": { "$ref": "./examples/DefaultSecurityRuleList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}" : {
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "DefaultSecurityRules_Get",
+ "description": "Get the specified default network security rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "defaultSecurityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the default security rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DefaultSecurityRuleGet": { "$ref": "./examples/DefaultSecurityRuleGet.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SecurityRulePropertiesFormat": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for this rule. Restricted to 140 chars."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "*"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleProtocol",
+ "modelAsString": true
+ }
+ },
+ "sourcePortRange": {
+ "type": "string",
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ },
+ "destinationPortRange": {
+ "type": "string",
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "description": "The CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. "
+ },
+ "sourceAddressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The CIDR or source IP ranges."
+ },
+ "sourceApplicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "The application security group specified as source."
+ },
+ "destinationAddressPrefix": {
+ "type": "string",
+ "description": "The destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
+ },
+ "destinationAddressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination address prefixes. CIDR or destination IP ranges."
+ },
+ "destinationApplicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "The application security group specified as destination."
+ },
+ "sourcePortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The source port."
+ },
+ "description": "The source port ranges."
+ },
+ "destinationPortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The destination port."
+ },
+ "description": "The destination port ranges."
+ },
+ "access": {
+ "type": "string",
+ "description": "The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleAccess",
+ "modelAsString": true
+ }
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule."
+ },
+ "direction": {
+ "type": "string",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outcoming traffic. Possible values are: 'Inbound' and 'Outbound'.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleDirection",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "access",
+ "direction"
+ ],
+ "description": "Security rule resource."
+ },
+ "SecurityRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecurityRulePropertiesFormat",
+ "description": "Properties of the security rule"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Network security rule."
+ },
+ "SecurityRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "The security rules in a network security group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group."
+ },
+ "NetworkSecurityGroupPropertiesFormat": {
+ "properties": {
+ "securityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "A collection of security rules of the network security group."
+ },
+ "defaultSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "The default security rules of network security group."
+ },
+ "networkInterfaces": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ },
+ "description": "A collection of references to network interfaces."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet"
+ },
+ "description": "A collection of references to subnets."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the network security group resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Network Security Group resource."
+ },
+ "NetworkSecurityGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat",
+ "description": "Properties of the network security group"
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "NetworkSecurityGroup resource."
+ },
+ "NetworkSecurityGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ },
+ "description": "A list of NetworkSecurityGroup resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListNetworkSecurityGroups API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkWatcher.json
new file mode 100644
index 000000000000..37cf2736a194
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/networkWatcher.json
@@ -0,0 +1,3050 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}": {
+ "put": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_CreateOrUpdate",
+ "description": "Creates or updates a network watcher in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ },
+ "description": "Parameters that define the network watcher resource."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network watcher": { "$ref": "./examples/NetworkWatcherCreate.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_Get",
+ "description": "Gets the specified network watcher by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network watcher": { "$ref": "./examples/NetworkWatcherGet.json" }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified network watcher resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network watcher": { "$ref": "./examples/NetworkWatcherDelete.json" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_UpdateTags",
+ "description": "Updates a network watcher tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network watcher tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network watcher tags": { "$ref": "./examples/NetworkWatcherUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers": {
+ "get": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_List",
+ "description": "Gets all network watchers by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List network watchers": { "$ref": "./examples/NetworkWatcherList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers": {
+ "get": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_ListAll",
+ "description": "Gets all network watchers by subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List all network watchers": { "$ref": "./examples/NetworkWatcherListAll.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTopology",
+ "description": "Gets the current network topology by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopologyParameters"
+ },
+ "description": "Parameters that define the representation of topology."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the topology of resource group.",
+ "schema": {
+ "$ref": "#/definitions/Topology"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Topology": {
+ "$ref": "./examples/NetworkWatcherTopologyGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_VerifyIPFlow",
+ "x-ms-long-running-operation": true,
+ "description": "Verify IP flow from the specified VM to a location given the currently configured NSG rules.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VerificationIPFlowParameters"
+ },
+ "description": "Parameters that define the IP flow to be verified."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the result of IP flow verification.",
+ "schema": {
+ "$ref": "#/definitions/VerificationIPFlowResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/VerificationIPFlowResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Ip flow verify": { "$ref": "./examples/NetworkWatcherIpFlowVerify.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNextHop",
+ "x-ms-long-running-operation": true,
+ "description": "Gets the next hop from the specified VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NextHopParameters"
+ },
+ "description": "Parameters that define the source and destination endpoint."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the next hop from the VM.",
+ "schema": {
+ "$ref": "#/definitions/NextHopResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NextHopResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get next hop": { "$ref": "./examples/NetworkWatcherNextHopGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetVMSecurityRules",
+ "x-ms-long-running-operation": true,
+ "description": "Gets the configured and effective security group rules on the specified VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecurityGroupViewParameters"
+ },
+ "description": "Parameters that define the VM to check security groups for."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns security group rules on the VM.",
+ "schema": {
+ "$ref": "#/definitions/SecurityGroupViewResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/SecurityGroupViewResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get security group view": { "$ref": "./examples/NetworkWatcherSecurityGroupViewGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}": {
+ "put": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Create",
+ "x-ms-long-running-operation": true,
+ "description": "Create and start a packet capture on the specified VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PacketCapture"
+ },
+ "description": "Parameters that define the create packet capture operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request successful. The operation returns the resulting packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureCreate.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Get",
+ "description": "Gets a packet capture session by name.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureGet.json" }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified packet capture session.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureDelete.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Stop",
+ "x-ms-long-running-operation": true,
+ "description": "Stops a specified packet capture session.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the packet capture session."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Stop packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureStop.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_GetStatus",
+ "x-ms-long-running-operation": true,
+ "description": "Query the status of a running packet capture session.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name given to the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful query of packet capture status.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureQueryStatusResult"
+ }
+ },
+ "202": {
+ "description": "Accepted query status of packet capture.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureQueryStatusResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query packet capture status": { "$ref": "./examples/NetworkWatcherPacketCaptureQueryStatus.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures": {
+ "get": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_List",
+ "description": "Lists all packet capture sessions within the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful packet capture enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List packet captures": { "$ref": "./examples/NetworkWatcherPacketCapturesList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTroubleshooting",
+ "x-ms-long-running-operation": true,
+ "description": "Initiate troubleshooting on a specified resource",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingParameters"
+ },
+ "description": "Parameters that define the resource to troubleshoot."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful troubleshooting request",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "202": {
+ "description": "Accepted get troubleshooting request.",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get troubleshooting": { "$ref": "./examples/NetworkWatcherTroubleshootGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTroubleshootingResult",
+ "x-ms-long-running-operation": true,
+ "description": "Get the last completed troubleshooting result on a specified resource",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryTroubleshootingParameters"
+ },
+ "description": "Parameters that define the resource to query the troubleshooting result."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful get troubleshooting result request",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "202": {
+ "description": "Accepted get troubleshooting result request.",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get troubleshoot result": { "$ref": "./examples/NetworkWatcherTroubleshootResultQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_SetFlowLogConfiguration",
+ "x-ms-long-running-operation": true,
+ "description": "Configures flow log on a specified resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ },
+ "description": "Parameters that define the configuration of flow log."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for setting flow log configuration.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configure flow log": { "$ref": "./examples/NetworkWatcherFlowLogConfigure.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetFlowLogStatus",
+ "x-ms-long-running-operation": true,
+ "description": "Queries status of flow log on a specified resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FlowLogStatusParameters"
+ },
+ "description": "Parameters that define a resource to query flow log status."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for query flow log status.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get flow log status": { "$ref": "./examples/NetworkWatcherFlowLogStatusQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_CheckConnectivity",
+ "x-ms-long-running-operation": true,
+ "description": "Verifies the possibility of establishing a direct TCP connection from a virtual machine to a given endpoint including another VM or an arbitrary remote server.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectivityParameters"
+ },
+ "description": "Parameters that determine how the connectivity check will be performed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for checking connectivity.",
+ "schema": {
+ "$ref": "#/definitions/ConnectivityInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectivityInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check connectivity": { "$ref": "./examples/NetworkWatcherConnectivityCheck.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetAzureReachabilityReport",
+ "x-ms-long-running-operation": true,
+ "description": "Gets the relative latency score for internet service providers from a specified location to Azure regions.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureReachabilityReportParameters"
+ },
+ "description": "Parameters that determine Azure reachability report configuration."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for Azure reachability report.",
+ "schema": {
+ "$ref": "#/definitions/AzureReachabilityReport"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/AzureReachabilityReport"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Reachability Report": {
+ "$ref": "./examples/NetworkWatcherAzureReachabilityReportGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_ListAvailableProviders",
+ "x-ms-long-running-operation": true,
+ "description": "Lists all available internet service providers for a specified Azure region.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableProvidersListParameters"
+ },
+ "description": "Parameters that scope the list of available providers."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for list of available providers.",
+ "schema": {
+ "$ref": "#/definitions/AvailableProvidersList"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/AvailableProvidersList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Reachability Report": {
+ "$ref": "./examples/NetworkWatcherAvailableProvidersListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}": {
+ "put": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitor"
+ },
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting connection monitor resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting connection monitor resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorCreate.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Get",
+ "description": "Gets a connection monitor by name.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a connection monitor.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorGet.json" }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorDelete.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Stop",
+ "x-ms-long-running-operation": true,
+ "description": "Stops the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Stop connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorStop.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Start",
+ "x-ms-long-running-operation": true,
+ "description": "Starts the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation starts the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Start connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorStart.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Query",
+ "x-ms-long-running-operation": true,
+ "description": "Query a snapshot of the most recent connection states.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name given to the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful query of connection states.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorQueryResult"
+ }
+ },
+ "202": {
+ "description": "Accepted query of connection states.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorQueryResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors": {
+ "get": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_List",
+ "description": "Lists all connection monitors for the specified Network Watcher.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful connection monitor enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List connection monitors": { "$ref": "./examples/NetworkWatcherConnectionMonitorList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkWatcher": {
+ "properties": {
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkWatcherPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "location"
+ ],
+ "description": "Network watcher in a resource group."
+ },
+ "NetworkWatcherPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "The network watcher properties."
+ },
+ "NetworkWatcherListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "description": "List of network watcher resources."
+ },
+ "TopologyParameters": {
+ "properties": {
+ "targetResourceGroupName": {
+ "type": "string",
+ "description": "The name of the target resource group to perform topology on."
+ },
+ "targetVirtualNetwork": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the Virtual Network resource."
+ },
+ "targetSubnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the Subnet resource."
+ }
+ },
+ "description": "Parameters that define the representation of topology."
+ },
+ "Topology": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "GUID representing the operation id."
+ },
+ "createdDateTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The datetime when the topology was initially created for the resource group."
+ },
+ "lastModified": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The datetime when the topology was last modified."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TopologyResource"
+ }
+ }
+ },
+ "description": "Topology of the specified resource group."
+ },
+ "TopologyResource": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "ID of the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "associations": {
+ "type": "array",
+ "description": "Holds the associations the resource has with other resources in the resource group.",
+ "items": {
+ "$ref": "#/definitions/TopologyAssociation"
+ }
+ }
+ },
+ "description": "The network resource topology information for the given resource group."
+ },
+ "TopologyAssociation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is associated with the parent resource."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource that is associated with the parent resource."
+ },
+ "associationType": {
+ "type": "string",
+ "enum": [
+ "Associated",
+ "Contains"
+ ],
+ "x-ms-enum": {
+ "name": "AssociationType",
+ "modelAsString": true
+ },
+ "description": "The association type of the child resource to the parent resource."
+ }
+ },
+ "description": "Resources that have an association with the parent resource."
+ },
+ "VerificationIPFlowParameters": {
+ "description": "Parameters that define the IP flow to be verified.",
+ "required": [
+ "targetResourceId",
+ "direction",
+ "protocol",
+ "localPort",
+ "remotePort",
+ "localIPAddress",
+ "remoteIPAddress"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "The ID of the target resource to perform next-hop on."
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Direction",
+ "modelAsString": true
+ },
+ "description": "The direction of the packet represented as a 5-tuple."
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ },
+ "description": "Protocol to be verified on."
+ },
+ "localPort": {
+ "type": "string",
+ "description": "The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction."
+ },
+ "remotePort": {
+ "type": "string",
+ "description": "The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction."
+ },
+ "localIPAddress": {
+ "type": "string",
+ "description": "The local IP address. Acceptable values are valid IPv4 addresses."
+ },
+ "remoteIPAddress": {
+ "type": "string",
+ "description": "The remote IP address. Acceptable values are valid IPv4 addresses."
+ },
+ "targetNicResourceId": {
+ "type": "string",
+ "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional)."
+ }
+ }
+ },
+ "VerificationIPFlowResult": {
+ "description": "Results of IP flow verification on the target resource.",
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ },
+ "description": "Indicates whether the traffic is allowed or denied."
+ },
+ "ruleName": {
+ "type": "string",
+ "description": "Name of the rule. If input is not matched against any security rule, it is not displayed."
+ }
+ }
+ },
+ "NextHopParameters": {
+ "description": "Parameters that define the source and destination endpoint.",
+ "required": [
+ "targetResourceId",
+ "sourceIPAddress",
+ "destinationIPAddress"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "The resource identifier of the target resource against which the action is to be performed."
+ },
+ "sourceIPAddress": {
+ "type": "string",
+ "description": "The source IP address."
+ },
+ "destinationIPAddress": {
+ "type": "string",
+ "description": "The destination IP address."
+ },
+ "targetNicResourceId": {
+ "type": "string",
+ "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional)."
+ }
+ }
+ },
+ "NextHopResult": {
+ "description": "The information about next hop from the specified VM.",
+ "properties": {
+ "nextHopType": {
+ "type": "string",
+ "enum": [
+ "Internet",
+ "VirtualAppliance",
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "HyperNetGateway",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "NextHopType",
+ "modelAsString": true
+ },
+ "description": "Next hop type."
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "Next hop IP Address"
+ },
+ "routeTableId": {
+ "type": "string",
+ "description": "The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'."
+ }
+ }
+ },
+ "SecurityGroupViewParameters": {
+ "description": "Parameters that define the VM to check security groups for.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "ID of the target VM."
+ }
+ }
+ },
+ "SecurityGroupViewResult": {
+ "description": "The information about security rules applied to the specified VM.",
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "description": "List of network interfaces on the specified VM.",
+ "items": {
+ "$ref": "#/definitions/SecurityGroupNetworkInterface"
+ }
+ }
+ }
+ },
+ "SecurityGroupNetworkInterface": {
+ "description": "Network interface and all its associated security rules.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID of the network interface."
+ },
+ "securityRuleAssociations": {
+ "$ref": "#/definitions/SecurityRuleAssociations"
+ }
+ }
+ },
+ "SecurityRuleAssociations": {
+ "description": "All security rules associated with the network interface.",
+ "properties": {
+ "networkInterfaceAssociation": {
+ "$ref": "#/definitions/NetworkInterfaceAssociation"
+ },
+ "subnetAssociation": {
+ "$ref": "#/definitions/SubnetAssociation"
+ },
+ "defaultSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule"
+ },
+ "description": "Collection of default security rules of the network security group."
+ },
+ "effectiveSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/EffectiveNetworkSecurityRule"
+ },
+ "description": "Collection of effective security rules."
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "description": "Network interface and its custom security rules.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network interface ID."
+ },
+ "securityRules": {
+ "type": "array",
+ "description": "Collection of custom security rules.",
+ "items": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule"
+ }
+ }
+ }
+ },
+ "SubnetAssociation": {
+ "description": "Network interface and its custom security rules.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Subnet ID."
+ },
+ "securityRules": {
+ "type": "array",
+ "description": "Collection of custom security rules.",
+ "items": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule"
+ }
+ }
+ }
+ },
+ "PacketCapture": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PacketCaptureParameters"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Parameters that define the create packet capture operation."
+ },
+ "PacketCaptureParameters": {
+ "properties": {
+ "target": {
+ "type": "string",
+ "description": "The ID of the targeted resource, only VM is currently supported."
+ },
+ "bytesToCapturePerPacket": {
+ "type": "integer",
+ "default": 0,
+ "description": "Number of bytes captured per packet, the remaining bytes are truncated."
+ },
+ "totalBytesPerSession": {
+ "type": "integer",
+ "default": 1073741824,
+ "description": "Maximum size of the capture output."
+ },
+ "timeLimitInSeconds": {
+ "type": "integer",
+ "default": 18000,
+ "description": "Maximum duration of the capture session in seconds."
+ },
+ "storageLocation": {
+ "$ref": "#/definitions/PacketCaptureStorageLocation"
+ },
+ "filters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PacketCaptureFilter"
+ }
+ }
+ },
+ "required": [
+ "target",
+ "storageLocation"
+ ],
+ "description": "Parameters that define the create packet capture operation."
+ },
+ "PacketCaptureStorageLocation": {
+ "properties": {
+ "storageId": {
+ "type": "string",
+ "description": "The ID of the storage account to save the packet capture session. Required if no local file path is provided."
+ },
+ "storagePath": {
+ "type": "string",
+ "description": "The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional."
+ }
+ },
+ "description": "Describes the storage location for a packet capture session."
+ },
+ "PacketCaptureFilter": {
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "TCP",
+ "UDP",
+ "Any"
+ ],
+ "x-ms-enum": {
+ "name": "PcProtocol",
+ "modelAsString": true
+ },
+ "default": "Any",
+ "description": "Protocol to be filtered on."
+ },
+ "localIPAddress": {
+ "type": "string",
+ "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ },
+ "remoteIPAddress": {
+ "type": "string",
+ "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ },
+ "localPort": {
+ "type": "string",
+ "description": "Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ },
+ "remotePort": {
+ "type": "string",
+ "description": "Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ }
+ },
+ "description": "Filter that is applied to packet capture request. Multiple filters can be applied."
+ },
+ "PacketCaptureListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ },
+ "description": "Information about packet capture sessions."
+ }
+ },
+ "description": "List of packet capture sessions."
+ },
+ "PacketCaptureResult": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the packet capture session."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ID of the packet capture operation."
+ },
+ "etag": {
+ "type": "string",
+ "default": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PacketCaptureResultProperties"
+ }
+ },
+ "description": "Information about packet capture session."
+ },
+ "PacketCaptureResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the packet capture session."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PacketCaptureParameters"
+ }
+ ],
+ "description": "Describes the properties of a packet capture session."
+ },
+ "PacketCaptureQueryStatusResult": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the packet capture resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the packet capture resource."
+ },
+ "captureStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the packet capture session."
+ },
+ "packetCaptureStatus": {
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Stopped",
+ "Error",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "PcStatus",
+ "modelAsString": true
+ },
+ "description": "The status of the packet capture session."
+ },
+ "stopReason": {
+ "type": "string",
+ "description": "The reason the current packet capture session was stopped."
+ },
+ "packetCaptureError": {
+ "type": "array",
+ "description": "List of errors of packet capture session.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "InternalError",
+ "AgentStopped",
+ "CaptureFailed",
+ "LocalFileFailed",
+ "StorageFailed"
+ ],
+ "x-ms-enum": {
+ "name": "PcError",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "description": "Status of packet capture session."
+ },
+ "TroubleshootingParameters": {
+ "description": "Parameters that define the resource to troubleshoot.",
+ "required": [
+ "targetResourceId",
+ "properties"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource to troubleshoot.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TroubleshootingProperties"
+ }
+ }
+ },
+ "QueryTroubleshootingParameters": {
+ "description": "Parameters that define the resource to query the troubleshooting result.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource ID to query the troubleshooting result.",
+ "type": "string"
+ }
+ }
+ },
+ "TroubleshootingProperties": {
+ "description": "Storage location provided for troubleshoot.",
+ "required": [
+ "storageId",
+ "storagePath"
+ ],
+ "properties": {
+ "storageId": {
+ "description": "The ID for the storage account to save the troubleshoot result.",
+ "type": "string"
+ },
+ "storagePath": {
+ "description": "The path to the blob to save the troubleshoot result in.",
+ "type": "string"
+ }
+ }
+ },
+ "TroubleshootingResult": {
+ "description": "Troubleshooting information gained from specified resource.",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the troubleshooting."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of the troubleshooting."
+ },
+ "code": {
+ "type": "string",
+ "description": "The result code of the troubleshooting."
+ },
+ "results": {
+ "type": "array",
+ "description": "Information from troubleshooting.",
+ "items": {
+ "$ref": "#/definitions/TroubleshootingDetails"
+ }
+ }
+ }
+ },
+ "TroubleshootingDetails": {
+ "description": "Information gained from troubleshooting of specified resource.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The id of the get troubleshoot operation."
+ },
+ "reasonType": {
+ "type": "string",
+ "description": "Reason type of failure."
+ },
+ "summary": {
+ "type": "string",
+ "description": "A summary of troubleshooting."
+ },
+ "detail": {
+ "type": "string",
+ "description": "Details on troubleshooting results."
+ },
+ "recommendedActions": {
+ "type": "array",
+ "description": "List of recommended actions.",
+ "items": {
+ "$ref": "#/definitions/TroubleshootingRecommendedActions"
+ }
+ }
+ }
+ },
+ "TroubleshootingRecommendedActions": {
+ "description": "Recommended actions based on discovered issues.",
+ "properties": {
+ "actionId": {
+ "description": "ID of the recommended action.",
+ "type": "string"
+ },
+ "actionText": {
+ "description": "Description of recommended actions.",
+ "type": "string"
+ },
+ "actionUri": {
+ "description": "The uri linking to a documentation for the recommended troubleshooting actions.",
+ "type": "string"
+ },
+ "actionUriText": {
+ "description": "The information from the URI for the recommended troubleshooting actions.",
+ "type": "string"
+ }
+ }
+ },
+ "FlowLogProperties": {
+ "description": "Parameters that define the configuration of flow log.",
+ "required": [
+ "storageId",
+ "enabled"
+ ],
+ "properties": {
+ "storageId": {
+ "description": "ID of the storage account which is used to store the flow log.",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Flag to enable/disable flow logging.",
+ "type": "boolean"
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicyParameters"
+ }
+ }
+ },
+ "FlowLogStatusParameters": {
+ "description": "Parameters that define a resource to query flow log status.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource where getting the flow logging status.",
+ "type": "string"
+ }
+ }
+ },
+ "RetentionPolicyParameters": {
+ "description": "Parameters that define the retention policy for flow log.",
+ "properties": {
+ "days": {
+ "description": "Number of days to retain flow log records.",
+ "type": "integer",
+ "default": 0
+ },
+ "enabled": {
+ "description": "Flag to enable/disable retention.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "FlowLogInformation": {
+ "description": "Information on the configuration of flow log.",
+ "required": [
+ "targetResourceId",
+ "properties"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The ID of the resource to configure for flow logging.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FlowLogProperties"
+ }
+ }
+ },
+ "ConnectivityParameters": {
+ "description": "Parameters that determine how the connectivity check will be performed.",
+ "required": [
+ "source",
+ "destination"
+ ],
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectivitySource"
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectivityDestination"
+ }
+ }
+ },
+ "ConnectivitySource": {
+ "description": "Parameters that define the source of the connection.",
+ "required": [
+ "resourceId"
+ ],
+ "properties": {
+ "resourceId": {
+ "description": "The ID of the resource from which a connectivity check will be initiated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The source port from which a connectivity check will be performed.",
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityDestination": {
+ "description": "Parameters that define destination of connection.",
+ "properties": {
+ "resourceId": {
+ "description": "The ID of the resource to which a connection attempt will be made.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The IP address or URI the resource to which a connection attempt will be made.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port on which check connectivity will be performed.",
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityInformation": {
+ "description": "Information on the connectivity status.",
+ "properties": {
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Connected",
+ "Disconnected",
+ "Degraded"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ },
+ "description": "The connection status."
+ },
+ "avgLatencyInMs": {
+ "description": "Average latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "minLatencyInMs": {
+ "description": "Minimum latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "maxLatencyInMs": {
+ "description": "Maximum latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "probesSent": {
+ "description": "Total number of probes sent.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "probesFailed": {
+ "description": "Number of failed probes.",
+ "readOnly": true,
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityHop": {
+ "description": "Information about a hop between the source and the destination.",
+ "properties": {
+ "type": {
+ "description": "The type of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "address": {
+ "description": "The IP address of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The ID of the resource corresponding to this hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextHopIds": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of next hop identifiers.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "issues": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of issues.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityIssue"
+ }
+ }
+ }
+ },
+ "ConnectivityIssue": {
+ "description": "Information about an issue encountered in the process of checking for connectivity.",
+ "properties": {
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Local",
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Origin",
+ "modelAsString": true
+ },
+ "description": "The origin of the issue."
+ },
+ "severity": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Error",
+ "Warning"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ },
+ "description": "The severity of the issue."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "AgentStopped",
+ "GuestFirewall",
+ "DnsResolution",
+ "SocketBind",
+ "NetworkSecurityRule",
+ "UserDefinedRoute",
+ "PortThrottled",
+ "Platform"
+ ],
+ "x-ms-enum": {
+ "name": "IssueType",
+ "modelAsString": true
+ },
+ "description": "The type of issue."
+ },
+ "context": {
+ "readOnly": true,
+ "type": "array",
+ "description": "Provides additional context on the issue.",
+ "items": {
+ "$ref": "#/definitions/IssueContext"
+ }
+ }
+ }
+ },
+ "IssueContext": {
+ "description": "A key-value pair that provides additional context on the issue.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "AzureReachabilityReportParameters": {
+ "properties": {
+ "providerLocation": {
+ "$ref": "#/definitions/AzureReachabilityReportLocation"
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Internet service providers."
+ },
+ "azureLocations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional Azure regions to scope the query to."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the Azure reachability report."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the Azure reachability report."
+ }
+ },
+ "required": [
+ "providerLocation",
+ "startTime",
+ "endTime"
+ ],
+ "description": "Geographic and time constraints for Azure reachability report."
+ },
+ "AzureReachabilityReportLocation": {
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "The name of the country."
+ },
+ "state": {
+ "type": "string",
+ "description": "The name of the state."
+ },
+ "city": {
+ "type": "string",
+ "description": "The name of the city or town."
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "description": "Parameters that define a geographic location."
+ },
+ "AzureReachabilityReport": {
+ "properties": {
+ "aggregationLevel": {
+ "type": "string",
+ "description": "The aggregation level of Azure reachability report. Can be Country, State or City."
+ },
+ "providerLocation": {
+ "$ref": "#/definitions/AzureReachabilityReportLocation"
+ },
+ "reachabilityReport": {
+ "type": "array",
+ "description": "List of Azure reachability report items.",
+ "items": {
+ "$ref": "#/definitions/AzureReachabilityReportItem"
+ }
+ }
+ },
+ "required": [
+ "aggregationLevel",
+ "providerLocation",
+ "reachabilityReport"
+ ],
+ "description": "Azure reachability report details."
+ },
+ "AzureReachabilityReportItem": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "The Internet service provider."
+ },
+ "azureLocation": {
+ "type": "string",
+ "description": "The Azure region."
+ },
+ "latencies": {
+ "type": "array",
+ "description": "List of latency details for each of the time series.",
+ "items": {
+ "$ref": "#/definitions/AzureReachabilityReportLatencyInfo"
+ }
+ }
+ },
+ "description": "Azure reachability report details for a given provider location."
+ },
+ "AzureReachabilityReportLatencyInfo": {
+ "properties": {
+ "timeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time stamp."
+ },
+ "score": {
+ "type": "integer",
+ "description": "The relative latency score between 1 and 100, higher values indicating a faster connection.",
+ "minimum": 1,
+ "maximum": 100
+ }
+ },
+ "description": "Details on latency for a time series."
+ },
+ "AvailableProvidersListParameters": {
+ "properties": {
+ "azureLocations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Azure regions."
+ },
+ "country": {
+ "type": "string",
+ "description": "The country for available providers list."
+ },
+ "state": {
+ "type": "string",
+ "description": "The state for available providers list."
+ },
+ "city": {
+ "type": "string",
+ "description": "The city or town for available providers list."
+ }
+ },
+ "description": "Constraints that determine the list of available Internet service providers."
+ },
+ "AvailableProvidersList": {
+ "properties": {
+ "countries": {
+ "type": "array",
+ "description": "List of available countries.",
+ "items": {
+ "$ref": "#/definitions/AvailableProvidersListCountry"
+ }
+ }
+ },
+ "required": [
+ "countries"
+ ],
+ "description": "List of available countries with details."
+ },
+ "AvailableProvidersListCountry": {
+ "properties": {
+ "countryName": {
+ "type": "string",
+ "description": "The country name."
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Internet service providers."
+ },
+ "states": {
+ "type": "array",
+ "description": "List of available states in the country.",
+ "items": {
+ "$ref": "#/definitions/AvailableProvidersListState"
+ }
+ }
+ },
+ "description": "Country details."
+ },
+ "AvailableProvidersListState": {
+ "properties": {
+ "stateName": {
+ "type": "string",
+ "description": "The state name."
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Internet service providers."
+ },
+ "cities": {
+ "type": "array",
+ "description": "List of available cities or towns in the state.",
+ "items": {
+ "$ref": "#/definitions/AvailableProvidersListCity"
+ }
+ }
+ },
+ "description": "State details."
+ },
+ "AvailableProvidersListCity": {
+ "properties": {
+ "cityName": {
+ "type": "string",
+ "description": "The city or town name."
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Internet service providers."
+ }
+ },
+ "description": "City or town details."
+ },
+ "ConnectionMonitor": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Connection monitor location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Connection monitor tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConnectionMonitorParameters"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ "ConnectionMonitorParameters": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectionMonitorSource"
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectionMonitorDestination"
+ },
+ "autoStart": {
+ "type": "boolean",
+ "default": true,
+ "description": "Determines if the connection monitor will start automatically once created."
+ },
+ "monitoringIntervalInSeconds": {
+ "type": "integer",
+ "default": 60,
+ "description": "Monitoring interval in seconds."
+ }
+ },
+ "required": [
+ "source",
+ "destination"
+ ],
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ "ConnectionMonitorSource": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource used as the source by connection monitor."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The source port used by connection monitor."
+ }
+ },
+ "required": [
+ "resourceId"
+ ],
+ "description": "Describes the source of connection monitor."
+ },
+ "ConnectionMonitorDestination": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource used as the destination by connection monitor."
+ },
+ "address": {
+ "type": "string",
+ "description": "Address of the connection monitor destination (IP or domain name)."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The destination port used by connection monitor."
+ }
+ },
+ "description": "Describes the destination of connection monitor."
+ },
+ "ConnectionMonitorListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ },
+ "description": "Information about connection monitors."
+ }
+ },
+ "description": "List of connection monitors."
+ },
+ "ConnectionMonitorResult": {
+ "x-ms-azure-resource": true,
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the connection monitor."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ID of the connection monitor."
+ },
+ "etag": {
+ "type": "string",
+ "default": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Connection monitor type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Connection monitor location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Connection monitor tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConnectionMonitorResultProperties"
+ }
+ },
+ "description": "Information about the connection monitor."
+ },
+ "ConnectionMonitorResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the connection monitor."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the connection monitor was started."
+ },
+ "monitoringStatus": {
+ "type": "string",
+ "description": "The monitoring status of the connection monitor."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConnectionMonitorParameters"
+ }
+ ],
+ "description": "Describes the properties of a connection monitor."
+ },
+ "ConnectionMonitorQueryResult": {
+ "properties": {
+ "states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionStateSnapshot"
+ },
+ "description": "Information about connection states."
+ }
+ },
+ "description": "List of connection states snaphots."
+ },
+ "ConnectionStateSnapshot": {
+ "properties": {
+ "connectionState": {
+ "type": "string",
+ "enum": [
+ "Reachable",
+ "Unreachable",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionState",
+ "modelAsString": true
+ },
+ "description": "The connection state."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the connection snapshot."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of the connection snapshot."
+ },
+ "evaluationState": {
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "EvaluationState",
+ "modelAsString": true
+ },
+ "description": "Connectivity analysis evaluation state."
+ },
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ }
+ },
+ "description": "Connection state snapshot."
+ }
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/operation.json
new file mode 100644
index 000000000000..307994bc9899
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/operation.json
@@ -0,0 +1,279 @@
+{
+ "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": "2017-11-01"
+ },
+ "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.Network/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Network Rest API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get a list of operations for a resource provider": { "$ref": "./examples/OperationList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Network operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Network operations supported by the Network resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Network REST API operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft Network.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of the operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "description": "Origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationPropertiesFormat",
+ "description": "Operation properties format."
+ }
+ }
+ },
+ "OperationPropertiesFormat": {
+ "description": "Description of operation properties format.",
+ "properties": {
+ "serviceSpecification": {
+ "description": "Specification of the service.",
+ "properties": {
+ "metricSpecifications": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ },
+ "description": "Operation service specification."
+ },
+ "logSpecifications": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ },
+ "description": "Operation log specification."
+ }
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Description of logging specification.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the specification."
+ },
+ "blobDuration": {
+ "type": "string",
+ "description": "Duration of the blob."
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Description of metrics specification.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the metric."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "The description of the metric."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Units the metric to be displayed in."
+ },
+ "aggregationType": {
+ "type": "string",
+ "description": "The aggregation type."
+ },
+ "availabilities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Availability"
+ },
+ "description": "List of availability."
+ },
+ "enableRegionalMdmAccount": {
+ "type": "boolean",
+ "description": "Whether regional MDM account enabled."
+ },
+ "fillGapWithZero": {
+ "type": "boolean",
+ "description": "Whether gaps would be filled with zeros."
+ },
+ "metricFilterPattern": {
+ "type": "string",
+ "description": "Pattern for the filter of the metric."
+ },
+ "dimensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "description": "List of dimensions."
+ },
+ "isInternal": {
+ "type": "boolean",
+ "description": "Whether the metric is internal."
+ },
+ "sourceMdmAccount": {
+ "type": "string",
+ "description": "The source MDM account."
+ },
+ "sourceMdmNamespace": {
+ "type": "string",
+ "description": "The source MDM namespace."
+ },
+ "resourceIdDimensionNameOverride": {
+ "type": "string",
+ "description": "The resource Id dimension name override."
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Dimension of the metric.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the dimension."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the dimension."
+ },
+ "internalName": {
+ "type": "string",
+ "description": "The internal name of the dimension."
+ }
+ }
+ },
+ "Availability": {
+ "description": "Availability of the metric.",
+ "properties": {
+ "timeGrain": {
+ "type": "string",
+ "description": "The time grain of the availability."
+ },
+ "retention": {
+ "type": "string",
+ "description": "The retention of the availability."
+ },
+ "blobDuration": {
+ "type": "string",
+ "description": "Duration of the availability blob."
+ }
+ }
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/publicIpAddress.json
new file mode 100644
index 000000000000..2088f8660427
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/publicIpAddress.json
@@ -0,0 +1,483 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}": {
+ "delete": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_Delete",
+ "description": "Deletes the specified public IP address.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete public IP address": { "$ref": "./examples/PublicIpAddressDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_Get",
+ "description": "Gets the specified public IP address in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get public IP address": { "$ref": "./examples/PublicIpAddressGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_CreateOrUpdate",
+ "description": "Creates or updates a static or dynamic public IP address.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP address."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ },
+ "description": "Parameters supplied to the create or update public IP address operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create public IP address defaults": { "$ref": "./examples/PublicIpAddressCreateDefaults.json" },
+ "Create public IP address allocation method": { "$ref": "./examples/PublicIpAddressCreateCustomizedValues.json" },
+ "Create public IP address DNS": { "$ref": "./examples/PublicIpAddressCreateDns.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_UpdateTags",
+ "description": "Updates public IP address tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP address."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update public IP address tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP address tags": { "$ref": "./examples/PublicIpAddressUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses": {
+ "get": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_ListAll",
+ "description": "Gets all the public IP addresses in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPAddress resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all public IP addresses": { "$ref": "./examples/PublicIpAddressListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses": {
+ "get": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_List",
+ "description": "Gets all public IP addresses in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPAddress resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group public IP addresses": { "$ref": "./examples/PublicIpAddressList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PublicIPAddressSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a public IP address SKU.",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAddressSkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of a public IP address"
+ },
+ "PublicIPAddressPropertiesFormat": {
+ "properties": {
+ "publicIPAllocationMethod": {
+ "type": "string",
+ "description": "The public IP allocation method. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "publicIPAddressVersion": {
+ "type": "string",
+ "description": "The public IP address version. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "ipConfiguration": {
+ "readOnly": true,
+ "$ref": "./networkInterface.json#/definitions/IPConfiguration",
+ "description": "The IP configuration associated with the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/PublicIPAddressDnsSettings",
+ "description": "The FQDN of the DNS record associated with the public IP address."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpTag"
+ },
+ "description": "The list of tags associated with the public IP address."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The IP address associated with the public IP address resource."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the public IP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Public IP address properties."
+ },
+ "PublicIPAddress": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/PublicIPAddressSku",
+ "description": "The public IP address SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PublicIPAddressPropertiesFormat",
+ "description": "Public IP address properties."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting the IP allocated for the resource needs to come from."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Public IP address resource."
+ },
+ "PublicIPAddressListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicIPAddress"
+ },
+ "description": "A list of public IP addresses that exists in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListPublicIpAddresses API service call."
+ },
+ "PublicIPAddressDnsSettings": {
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system."
+ },
+ "fqdn": {
+ "type": "string",
+ "description": "Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone."
+ },
+ "reverseFqdn": {
+ "type": "string",
+ "description": "Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. "
+ }
+ },
+ "description": "Contains FQDN of the DNS record associated with the public IP address"
+ },
+ "IpTag": {
+ "properties": {
+ "ipTagType": {
+ "type": "string",
+ "description": "Gets or sets the ipTag type: Example FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "Gets or sets value of the IpTag associated with the public IP. Example SQL, Storage etc"
+ }
+ },
+ "description": "Contains the IpTag associated with the public IP address"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/routeFilter.json
new file mode 100644
index 000000000000..f2bdcda15485
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/routeFilter.json
@@ -0,0 +1,799 @@
+{
+ "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": "2017-11-01"
+ },
+ "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/routeFilters/{routeFilterName}": {
+ "delete": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_Delete",
+ "x-ms-examples": {
+ "RouteFilterDelete": { "$ref": "./examples/RouteFilterDelete.json" }
+ },
+ "description": "Deletes the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_Get",
+ "x-ms-examples": {
+ "RouteFilterGet": { "$ref": "./examples/RouteFilterGet.json" }
+ },
+ "description": "Gets the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced express route bgp peering resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_CreateOrUpdate",
+ "x-ms-examples": {
+ "RouteFilterCreate": { "$ref": "./examples/RouteFilterCreate.json" }
+ },
+ "description": "Creates or updates a route filter in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "routeFilterParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ },
+ "description": "Parameters supplied to the create or update route filter operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_Update",
+ "x-ms-examples": {
+ "RouteFilterUpdate": { "$ref": "./examples/RouteFilterUpdate.json" }
+ },
+ "description": "Updates a route filter in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "routeFilterParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchRouteFilter"
+ },
+ "description": "Parameters supplied to the update route filter operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters": {
+ "get": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_ListByResourceGroup",
+ "x-ms-examples": {
+ "RouteFilterListByResourceGroup": { "$ref": "./examples/RouteFilterListByResourceGroup.json" }
+ },
+ "description": "Gets all route filters in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route Filter resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters": {
+ "get": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_List",
+ "x-ms-examples": {
+ "RouteFilterList": { "$ref": "./examples/RouteFilterList.json" }
+ },
+ "description": "Gets all route filters in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route Filter resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}": {
+ "delete": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_Delete",
+ "x-ms-examples": {
+ "RouteFilterRuleDelete": { "$ref": "./examples/RouteFilterRuleDelete.json" }
+ },
+ "description": "Deletes the specified rule from a route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "Rule was deleted or not found."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_Get",
+ "x-ms-examples": {
+ "RouteFilterRuleGet": { "$ref": "./examples/RouteFilterRuleGet.json" }
+ },
+ "description": "Gets the specified rule from a route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_CreateOrUpdate",
+ "x-ms-examples": {
+ "RouteFilterRuleCreate": { "$ref": "./examples/RouteFilterRuleCreate.json" }
+ },
+ "description": "Creates or updates a route in the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter rule."
+ },
+ {
+ "name": "routeFilterRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ },
+ "description": "Parameters supplied to the create or update route filter rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_Update",
+ "x-ms-examples": {
+ "RouteFilterRuleUpdate": { "$ref": "./examples/RouteFilterRuleUpdate.json" }
+ },
+ "description": "Updates a route in the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter rule."
+ },
+ {
+ "name": "routeFilterRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchRouteFilterRule"
+ },
+ "description": "Parameters supplied to the update route filter rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules": {
+ "get": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_ListByRouteFilter",
+ "x-ms-examples": {
+ "RouteFilterRuleListByRouteFilter": { "$ref": "./examples/RouteFilterRuleListByRouteFilter.json" }
+ },
+ "description": "Gets all RouteFilterRules in a route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route Filter Rule resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RouteFilterRulePropertiesFormat": {
+ "required": [
+ "access",
+ "routeFilterRuleType",
+ "communities"
+ ],
+ "properties": {
+ "access": {
+ "type": "string",
+ "description": "The access type of the rule. Valid values are: 'Allow', 'Deny'",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ }
+ },
+ "routeFilterRuleType": {
+ "type": "string",
+ "description": "The rule type of the rule. Valid value is: 'Community'",
+ "enum": [
+ "Community"
+ ],
+ "x-ms-enum": {
+ "name": "RouteFilterRuleType",
+ "modelAsString": true
+ }
+ },
+ "communities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'."
+ }
+ },
+ "description": "Route Filter Rule Resource"
+ },
+ "RouteFilterRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route Filter Rule Resource"
+ },
+ "PatchRouteFilterRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route Filter Rule Resource"
+ },
+ "RouteFilterPropertiesFormat": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteFilterRule"
+ },
+ "description": "Collection of RouteFilterRules contained within a route filter."
+ },
+ "peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "A collection of references to express route circuit peerings."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'."
+ }
+ },
+ "description": "Route Filter Resource"
+ },
+ "RouteFilter": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat"
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Route Filter Resource."
+ },
+ "PatchRouteFilter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route Filter Resource."
+ },
+ "RouteFilterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteFilter"
+ },
+ "description": "Gets a list of route filters in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRouteFilters API service call."
+ },
+ "RouteFilterRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteFilterRule"
+ },
+ "description": "Gets a list of RouteFilterRules in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRouteFilterRules API service call"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/routeTable.json
new file mode 100644
index 000000000000..fff5c2fed839
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/routeTable.json
@@ -0,0 +1,672 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}": {
+ "delete": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_Delete",
+ "description": "Deletes the specified route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "200": {
+ "description": "Request successful. Operation to delete was accepted."
+ },
+ "202": {
+ "description": "Accepted. If route table not found returned synchronously, otherwise if found returned asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete route table": { "$ref": "./examples/RouteTableDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_Get",
+ "description": "Gets the specified route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get route table": { "$ref": "./examples/RouteTableGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_CreateOrUpdate",
+ "description": "Create or updates a route table in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ },
+ "description": "Parameters supplied to the create or update route table operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create route table": { "$ref": "./examples/RouteTableCreate.json" },
+ "Create route table with route": { "$ref": "./examples/RouteTableCreateWithRoute.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_UpdateTags",
+ "description": "Updates a route table tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update route table tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update route table tags": { "$ref": "./examples/RouteTableUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables": {
+ "get": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_List",
+ "description": "Gets all route tables in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of RouteTable resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteTableListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List route tables in resource group": { "$ref": "./examples/RouteTableList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables": {
+ "get": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_ListAll",
+ "description": "Gets all route tables in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of RouteTable resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteTableListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all route tables": { "$ref": "./examples/RouteTableListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}": {
+ "delete": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_Delete",
+ "description": "Deletes the specified route from a route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "routeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "Route was deleted or not found."
+ }
+ },
+ "x-ms-examples": {
+ "Delete route": { "$ref": "./examples/RouteTableRouteDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_Get",
+ "description": "Gets the specified route from a route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "routeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route resource.",
+ "schema": {
+ "$ref": "#/definitions/Route"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get route": { "$ref": "./examples/RouteTableRouteGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_CreateOrUpdate",
+ "description": "Creates or updates a route in the specified route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "routeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route."
+ },
+ {
+ "name": "routeParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Route"
+ },
+ "description": "Parameters supplied to the create or update route operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Route resource.",
+ "schema": {
+ "$ref": "#/definitions/Route"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Route resource.",
+ "schema": {
+ "$ref": "#/definitions/Route"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create route": { "$ref": "./examples/RouteTableRouteCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes": {
+ "get": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_List",
+ "description": "Gets all routes in a route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List routes": { "$ref": "./examples/RouteTableRouteList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RoutePropertiesFormat": {
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The destination CIDR to which the route applies."
+ },
+ "nextHopType": {
+ "type": "string",
+ "description": "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'",
+ "enum": [
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "Internet",
+ "VirtualAppliance",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "RouteNextHopType",
+ "modelAsString": true
+ }
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "nextHopType"
+ ],
+ "description": "Route resource"
+ },
+ "Route": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoutePropertiesFormat",
+ "description": "Properties of the route."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route resource"
+ },
+ "RouteTablePropertiesFormat": {
+ "properties": {
+ "routes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Route"
+ },
+ "description": "Collection of routes contained within a route table."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet"
+ },
+ "description": "A collection of references to subnets."
+ },
+ "disableBgpRoutePropagation": {
+ "type": "boolean",
+ "description": "Gets or sets whether to disable the routes learned by BGP on that route table. True means disable."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Route Table resource"
+ },
+ "RouteTable": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteTablePropertiesFormat",
+ "description": "Properties of the route table."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Route table resource."
+ },
+ "RouteTableListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteTable"
+ },
+ "description": "Gets a list of route tables in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRouteTable API service call."
+ },
+ "RouteListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Route"
+ },
+ "description": "Gets a list of routes in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRoute API service call"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/serviceCommunity.json
new file mode 100644
index 000000000000..a61602143085
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/serviceCommunity.json
@@ -0,0 +1,165 @@
+{
+ "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": "2017-11-01"
+ },
+ "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}/providers/Microsoft.Network/bgpServiceCommunities": {
+ "get": {
+ "tags": [
+ "BgpServiceCommunities"
+ ],
+ "operationId": "BgpServiceCommunities_List",
+ "x-ms-examples": {
+ "ServiceCommunityList": { "$ref": "./examples/ServiceCommunityList.json" }
+ },
+ "description": "Gets all the available bgp service communities.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of BgpServiceCommunity resources.",
+ "schema": {
+ "$ref": "#/definitions/BgpServiceCommunityListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BGPCommunity": {
+ "properties": {
+ "serviceSupportedRegion": {
+ "type": "string",
+ "description": "The region which the service support. e.g. For O365, region is Global."
+ },
+ "communityName": {
+ "type": "string",
+ "description": "The name of the bgp community. e.g. Skype."
+ },
+ "communityValue": {
+ "type": "string",
+ "description": "The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing."
+ },
+ "communityPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The prefixes that the bgp community contains."
+ },
+ "isAuthorizedToUse": {
+ "type": "boolean",
+ "description": "Customer is authorized to use bgp community or not."
+ },
+ "serviceGroup": {
+ "type": "string",
+ "description": "The service group of the bgp community contains."
+ }
+ },
+ "description": "Contains bgp community information offered in Service Community resources."
+ },
+ "BgpServiceCommunityPropertiesFormat": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the bgp community. e.g. Skype."
+ },
+ "bgpCommunities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BGPCommunity"
+ },
+ "description": "Get a list of bgp communities."
+ }
+ },
+ "description": "Properties of Service Community."
+ },
+ "BgpServiceCommunity": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BgpServiceCommunityPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Service Community Properties."
+ },
+ "BgpServiceCommunityListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BgpServiceCommunity"
+ },
+ "description": "A list of service community resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListServiceCommunity API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/usage.json
new file mode 100644
index 000000000000..e3da7eed720c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/usage.json
@@ -0,0 +1,167 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages": {
+ "get": {
+ "tags": [
+ "Usages"
+ ],
+ "operationId": "Usages_List",
+ "description": "List network usages for a subscription.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location where resource usage is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Usage resources.",
+ "schema": {
+ "$ref": "#/definitions/UsagesListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List usages": { "$ref": "./examples/UsageList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UsageName": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "A string describing the resource name."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "A localized string describing the resource name."
+ }
+ },
+ "description": "The usage names."
+ },
+ "Usage": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource identifier."
+ },
+ "unit": {
+ "type": "string",
+ "description": "An enum describing the unit of measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "UsageUnit",
+ "modelAsString": true
+ }
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The current value of the usage."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The limit of usage."
+ },
+ "name": {
+ "$ref": "#/definitions/UsageName",
+ "description": "The name of the type of usage."
+ }
+ },
+ "required": [
+ "unit",
+ "currentValue",
+ "limit",
+ "name"
+ ],
+ "description": "Describes network resource usage."
+ },
+ "UsagesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list network resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "The list usages operation response."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/virtualNetwork.json
new file mode 100644
index 000000000000..9741fd62c65a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/virtualNetwork.json
@@ -0,0 +1,1251 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Delete",
+ "description": "Deletes the specified virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete virtual network": { "$ref": "./examples/VirtualNetworkDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Get",
+ "description": "Gets the specified virtual network by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get virtual network": { "$ref": "./examples/VirtualNetworkGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_CreateOrUpdate",
+ "description": "Creates or updates a virtual network in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ },
+ "description": "Parameters supplied to the create or update virtual network operation"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create virtual network": { "$ref": "./examples/VirtualNetworkCreate.json" },
+ "Create virtual network with subnet": { "$ref": "./examples/VirtualNetworkCreateSubnet.json" },
+ "Create virtual network with service endpoints": { "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_UpdateTags",
+ "description": "Updates a virtual network tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update virtual network tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update virtual network tags": { "$ref": "./examples/VirtualNetworkUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": {
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_ListAll",
+ "description": "Gets all virtual networks in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetwork resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual networks": { "$ref": "./examples/VirtualNetworkListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": {
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_List",
+ "description": "Gets all virtual networks in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetwork resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual networks in resource group": { "$ref": "./examples/VirtualNetworkList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": {
+ "delete": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_Delete",
+ "description": "Deletes the specified subnet.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "subnetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete subnet": { "$ref": "./examples/SubnetDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_Get",
+ "description": "Gets the specified subnet by virtual network and resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "subnetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Subnet resource.",
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get subnet": { "$ref": "./examples/SubnetGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_CreateOrUpdate",
+ "description": "Creates or updates a subnet in the specified virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "subnetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "name": "subnetParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ },
+ "description": "Parameters supplied to the create or update subnet operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Subnet resource.",
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Subnet resource.",
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create subnet": { "$ref": "./examples/SubnetCreate.json" },
+ "Create subnet with service endpoints": { "$ref": "./examples/SubnetCreateServiceEndpoint.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": {
+ "get": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_List",
+ "description": "Gets all subnets in a virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Subnet resources.",
+ "schema": {
+ "$ref": "#/definitions/SubnetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List subnets": { "$ref": "./examples/SubnetList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_Delete",
+ "description": "Deletes the specified virtual network peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "virtualNetworkPeeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete peering": { "$ref": "./examples/VirtualNetworkPeeringDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_Get",
+ "description": "Gets the specified virtual network peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "virtualNetworkPeeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get peering": { "$ref": "./examples/VirtualNetworkPeeringGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_CreateOrUpdate",
+ "description": "Creates or updates a peering in the specified virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "virtualNetworkPeeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "VirtualNetworkPeeringParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "Parameters supplied to the create or update virtual network peering operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create peering": { "$ref": "./examples/VirtualNetworkPeeringCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": {
+ "get": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_List",
+ "description": "Gets all virtual network peerings in a virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeeringListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List peerings": { "$ref": "./examples/VirtualNetworkPeeringList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability": {
+ "get": {
+ "operationId": "VirtualNetworks_CheckIPAddressAvailability",
+ "description": "Checks whether a private IP address is available for use.",
+ "parameters": [
+ {
+ "name": "ipAddress",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The private IP address to be verified."
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private IP address availability and list of other free addresses if the requested one is not available.",
+ "schema": {
+ "$ref": "#/definitions/IPAddressAvailabilityResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check IP address availability": { "$ref": "./examples/VirtualNetworkCheckIPAddressAvailability.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages": {
+ "get": {
+ "operationId": "VirtualNetworks_ListUsage",
+ "description": "Lists usage stats.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Usage stats for vnet.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkListUsageResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VnetGetUsage": { "$ref": "./examples/VirtualNetworkListUsage.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceNavigationLinkFormat": {
+ "properties": {
+ "linkedResourceType": {
+ "type": "string",
+ "description": "Resource type of the linked resource."
+ },
+ "link": {
+ "type": "string",
+ "description": "Link to the external resource"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the ResourceNavigationLink resource."
+ }
+ },
+ "description": "Properties of ResourceNavigationLink."
+ },
+ "ResourceNavigationLink": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ResourceNavigationLinkFormat",
+ "description": "Resource navigation link properties format."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "ResourceNavigationLink resource."
+ },
+ "SubnetPropertiesFormat": {
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The address prefix for the subnet."
+ },
+ "networkSecurityGroup": {
+ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
+ "description": "The reference of the NetworkSecurityGroup resource."
+ },
+ "routeTable": {
+ "$ref": "./routeTable.json#/definitions/RouteTable",
+ "description": "The reference of the RouteTable resource."
+ },
+ "serviceEndpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPropertiesFormat"
+ },
+ "description": "An array of service endpoints."
+ },
+ "ipConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/IPConfiguration"
+ },
+ "description": "Gets an array of references to the network interface IP configurations using subnet."
+ },
+ "resourceNavigationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "Gets an array of references to the external resources using subnet."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of the subnet."
+ },
+ "ServiceEndpointPropertiesFormat": {
+ "properties": {
+ "service": {
+ "type": "string",
+ "description": "The type of the endpoint service."
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of locations."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "The service endpoint properties."
+ },
+ "VirtualNetworkPeeringPropertiesFormat": {
+ "properties": {
+ "allowVirtualNetworkAccess": {
+ "type": "boolean",
+ "description": "Whether the VMs in the linked virtual network space would be able to access all the VMs in local Virtual network space."
+ },
+ "allowForwardedTraffic": {
+ "type": "boolean",
+ "description": "Whether the forwarded traffic from the VMs in the remote virtual network will be allowed/disallowed."
+ },
+ "allowGatewayTransit": {
+ "type": "boolean",
+ "description": "If gateway links can be used in remote virtual networking to link to this virtual network."
+ },
+ "useRemoteGateways": {
+ "type": "boolean",
+ "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway."
+ },
+ "remoteVirtualNetwork": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)."
+ },
+ "remoteAddressSpace": {
+ "$ref": "#/definitions/AddressSpace",
+ "description": "The reference of the remote virtual network address space."
+ },
+ "peeringState": {
+ "type": "string",
+ "description": "The status of the virtual network peering. Possible values are 'Initiated', 'Connected', and 'Disconnected'.",
+ "enum": [
+ "Initiated",
+ "Connected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkPeeringState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of the virtual network peering."
+ },
+ "Subnet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubnetPropertiesFormat",
+ "description": "Properties of the subnet."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Subnet in a virtual network resource."
+ },
+ "VirtualNetworkPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat",
+ "description": "Properties of the virtual network peering."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Peerings in a virtual network resource."
+ },
+ "SubnetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ },
+ "description": "The subnets in a virtual network."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network"
+ },
+ "VirtualNetworkPeeringListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "The peerings in a virtual network."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network."
+ },
+ "VirtualNetworkPropertiesFormat": {
+ "properties": {
+ "addressSpace": {
+ "$ref": "#/definitions/AddressSpace",
+ "description": "The AddressSpace that contains an array of IP address ranges that can be used by subnets."
+ },
+ "dhcpOptions": {
+ "$ref": "#/definitions/DhcpOptions",
+ "description": "The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network."
+ },
+ "subnets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ },
+ "description": "A list of subnets in a Virtual Network."
+ },
+ "virtualNetworkPeerings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "A list of peerings in a Virtual Network."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resourceGuid property of the Virtual Network resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "enableDdosProtection": {
+ "type": "boolean",
+ "description": "Indicates if DDoS protection is enabled for all the protected resources in a Virtual Network."
+ },
+ "enableVmProtection": {
+ "type": "boolean",
+ "description": "Indicates if Vm protection is enabled for all the subnets in a Virtual Network."
+ }
+ },
+ "description": "Properties of the virtual network."
+ },
+ "VirtualNetwork": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkPropertiesFormat",
+ "description": "Properties of the virtual network."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Virtual Network resource."
+ },
+ "VirtualNetworkListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetwork"
+ },
+ "description": "Gets a list of VirtualNetwork resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListVirtualNetworks API service call."
+ },
+ "AddressSpace": {
+ "properties": {
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of address blocks reserved for this virtual network in CIDR notation."
+ }
+ },
+ "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network."
+ },
+ "DhcpOptions": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of DNS servers IP addresses."
+ }
+ },
+ "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options."
+ },
+ "IPAddressAvailabilityResult": {
+ "properties": {
+ "available": {
+ "type": "boolean",
+ "description": "Private IP address availability."
+ },
+ "availableIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Contains other available private IP addresses if the asked for address is taken."
+ }
+ },
+ "description": "Response for CheckIPAddressAvailability API service call"
+ },
+ "VirtualNetworkListUsageResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkUsage"
+ },
+ "description": "VirtualNetwork usage stats."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the virtual networks GetUsage API service call."
+ },
+ "VirtualNetworkUsage": {
+ "properties": {
+ "currentValue": {
+ "type": "number",
+ "format": "double",
+ "readOnly": true,
+ "description": "Indicates number of IPs used from the Subnet."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Subnet identifier."
+ },
+ "limit": {
+ "type": "number",
+ "format": "double",
+ "readOnly": true,
+ "description": "Indicates the size of the subnet."
+ },
+ "name": {
+ "$ref": "#/definitions/VirtualNetworkUsageName",
+ "readOnly": true,
+ "description": "The name containing common and localized value for usage."
+ },
+ "unit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Usage units. Returns 'Count'"
+ }
+ },
+ "description": "Usage details for subnet."
+ },
+ "VirtualNetworkUsageName": {
+ "properties": {
+ "localizedValue": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Localized subnet size and usage string."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Subnet size and usage string."
+ }
+ },
+ "description": "Usage strings container."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..2f4f81e19bd5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/virtualNetworkGateway.json
@@ -0,0 +1,2432 @@
+{
+ "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": "2017-11-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": {
+ "put": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_CreateOrUpdate",
+ "description": "Creates or updates a virtual network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ },
+ "description": "Parameters supplied to create or update virtual network gateway operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Get",
+ "description": "Gets the specified virtual network gateway by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Delete",
+ "description": "Deletes the specified virtual network gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_UpdateTags",
+ "description": "Updates a virtual network gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update virtual network gateway tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Virtual Network Gateway Tags": { "$ref": "./examples/VirtualNetworkGatewayUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": {
+ "get": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_List",
+ "description": "Gets all virtual network gateways by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections": {
+ "get": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_ListConnections",
+ "description": "Gets all the connections in a virtual network gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayListConnectionsResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "VirtualNetworkGatewaysListConnections": { "$ref": "./examples/VirtualNetworkGatewaysListConnections.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Reset",
+ "description": "Resets the primary of the virtual network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "gatewayVip",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Request successful. The operation reset the primary of the virtual network gateway.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Generatevpnclientpackage",
+ "description": "Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnClientParameters"
+ },
+ "description": "Parameters supplied to the generate virtual network gateway VPN client package operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN client package URL.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GenerateVpnProfile",
+ "description": "Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnClientParameters"
+ },
+ "description": "Parameters supplied to the generate virtual network gateway VPN client package operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetVpnProfilePackageUrl",
+ "description": "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetBgpPeerStatus",
+ "description": "The GetBgpPeerStatus operation retrieves the status of all BGP peers.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "peer",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The IP address of the peer to retrieve the status of."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of BGP peer statuses",
+ "schema": {
+ "$ref": "#/definitions/BgpPeerStatusListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_SupportedVpnDevices",
+ "description": "Gets a xml format representation for supported vpn devices.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for supported vpn devices.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetLearnedRoutes",
+ "description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of advertised BGP routes",
+ "schema": {
+ "$ref": "#/definitions/GatewayRouteListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetAdvertisedRoutes",
+ "description": "This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "peer",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The IP address of the peer"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of learned BGP routes",
+ "schema": {
+ "$ref": "#/definitions/GatewayRouteListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_VpnDeviceConfigurationScript",
+ "description": "Gets a xml format representation for vpn device configuration script.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection for which the configuration script is generated."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnDeviceScriptParameters"
+ },
+ "description": "Parameters supplied to the generate vpn device script operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for vpn device configuration script.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": {
+ "put": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate",
+ "description": "Creates or updates a virtual network gateway connection in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ },
+ "description": "Parameters supplied to the create or update virtual network gateway connection operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_Get",
+ "description": "Gets the specified virtual network gateway connection by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_Delete",
+ "description": "Deletes the specified virtual network Gateway connection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_UpdateTags",
+ "description": "Updates a virtual network gateway connection tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update virtual network gateway connection tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntity"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Virtual Network Gateway Connection Tags": { "$ref": "./examples/VirtualNetworkGatewayConnectionUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": {
+ "put": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_SetSharedKey",
+ "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway connection name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ },
+ "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_GetSharedKey",
+ "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway connection shared key name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
+ "get": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_List",
+ "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation resets the virtual network gateway connection shared key.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey",
+ "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway connection reset shared key Name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionResetSharedKey"
+ },
+ "description": "Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation sets the virtual network gateway connection shared key.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionResetSharedKey"
+ }
+ },
+ "202": {
+ "description": ""
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": {
+ "put": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_CreateOrUpdate",
+ "description": "Creates or updates a local network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ },
+ "description": "Parameters supplied to the create or update local network gateway operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_Get",
+ "description": "Gets the specified local network gateway in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_Delete",
+ "description": "Deletes the specified local network gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_UpdateTags",
+ "description": "Updates a local network gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update local network gateway tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Local Network Gateway Tags": { "$ref": "./examples/LocalNetworkGatewayUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways": {
+ "get": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_List",
+ "description": "Gets all the local network gateways in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualNetworkGatewayIPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "The private IP allocation method. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the public IP resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of VirtualNetworkGatewayIPConfiguration"
+ },
+ "VirtualNetworkGatewayIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayIPConfigurationPropertiesFormat",
+ "description": "Properties of the virtual network gateway ip configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration for virtual network gateway"
+ },
+ "VirtualNetworkGatewayPropertiesFormat": {
+ "properties": {
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration"
+ },
+ "description": "IP configurations for virtual network gateway."
+ },
+ "gatewayType": {
+ "type": "string",
+ "description": "The type of this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'.",
+ "enum": [
+ "Vpn",
+ "ExpressRoute"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayType",
+ "modelAsString": true
+ }
+ },
+ "vpnType": {
+ "type": "string",
+ "description": "The type of this virtual network gateway. Possible values are: 'PolicyBased' and 'RouteBased'.",
+ "enum": [
+ "PolicyBased",
+ "RouteBased"
+ ],
+ "x-ms-enum": {
+ "name": "VpnType",
+ "modelAsString": true
+ }
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "Whether BGP is enabled for this virtual network gateway or not."
+ },
+ "activeActive": {
+ "type": "boolean",
+ "description": "ActiveActive flag"
+ },
+ "gatewayDefaultSite": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting."
+ },
+ "sku": {
+ "$ref": "#/definitions/VirtualNetworkGatewaySku",
+ "description": "The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway."
+ },
+ "vpnClientConfiguration": {
+ "$ref": "#/definitions/VpnClientConfiguration",
+ "description": "The reference of the VpnClientConfiguration resource which represents the P2S VpnClient configurations."
+ },
+ "bgpSettings": {
+ "$ref": "#/definitions/BgpSettings",
+ "description": "Virtual network gateway's BGP speaker settings."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the VirtualNetworkGateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VirtualNetworkGateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "VirtualNetworkGateway properties"
+ },
+ "VpnClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VPN client root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "publicCertData"
+ ],
+ "description": "Properties of SSL certificates of application gateway"
+ },
+ "VpnClientRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat",
+ "description": "Properties of the vpn client root certificate."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "VPN client root certificate of virtual network gateway"
+ },
+ "VpnClientRevokedCertificatePropertiesFormat": {
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "description": "The revoked VPN client certificate thumbprint."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VPN client revoked certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the revoked VPN client certificate of virtual network gateway."
+ },
+ "VpnClientRevokedCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat",
+ "description": "Properties of the vpn client revoked certificate."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VPN client revoked certificate of virtual network gateway."
+ },
+ "VpnClientConfiguration": {
+ "properties": {
+ "vpnClientAddressPool": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents Address space for P2S VpnClient."
+ },
+ "vpnClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnClientRootCertificate"
+ },
+ "description": "VpnClientRootCertificate for virtual network gateway."
+ },
+ "vpnClientRevokedCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnClientRevokedCertificate"
+ },
+ "description": "VpnClientRevokedCertificate for Virtual network gateway."
+ },
+ "vpnClientProtocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "VPN client protocol enabled for the virtual network gateway.",
+ "enum": [
+ "IkeV2",
+ "SSTP"
+ ],
+ "x-ms-enum": {
+ "name": "VpnClientProtocol",
+ "modelAsString": true
+ }
+ },
+ "description": "VpnClientProtocols for Virtual network gateway."
+ },
+ "radiusServerAddress": {
+ "type": "string",
+ "description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
+ },
+ "radiusServerSecret": {
+ "type": "string",
+ "description": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection."
+ }
+ },
+ "description": "VpnClientConfiguration for P2S client."
+ },
+ "VirtualNetworkGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gateway SKU name.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Gateway SKU tier.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewaySkuTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The capacity."
+ }
+ },
+ "description": "VirtualNetworkGatewaySku details"
+ },
+ "BgpSettings": {
+ "properties": {
+ "asn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The BGP speaker's ASN."
+ },
+ "bgpPeeringAddress": {
+ "type": "string",
+ "description": "The BGP peering address and BGP identifier of this BGP speaker."
+ },
+ "peerWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The weight added to routes learned from this BGP speaker."
+ }
+ },
+ "description": "BGP settings details"
+ },
+ "BgpPeerStatus": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The virtual network gateway's local address"
+ },
+ "neighbor": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The remote BGP peer"
+ },
+ "asn": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The autonomous system number of the remote BGP peer"
+ },
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The BGP peer state",
+ "enum": [
+ "Unknown",
+ "Stopped",
+ "Idle",
+ "Connecting",
+ "Connected"
+ ],
+ "x-ms-enum": {
+ "name": "BgpPeerState",
+ "modelAsString": true
+ }
+ },
+ "connectedDuration": {
+ "type": "string",
+ "readOnly": true,
+ "description": "For how long the peering has been up"
+ },
+ "routesReceived": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The number of routes learned from this peer"
+ },
+ "messagesSent": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The number of BGP messages sent"
+ },
+ "messagesReceived": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The number of BGP messages received"
+ }
+ },
+ "description": "BGP peer status details"
+ },
+ "GatewayRoute": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The gateway's local address"
+ },
+ "network": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The route's network prefix"
+ },
+ "nextHop": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The route's next hop"
+ },
+ "sourcePeer": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The peer this route was learned from"
+ },
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The source this route was learned from"
+ },
+ "asPath": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The route's AS path sequence"
+ },
+ "weight": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The route's weight"
+ }
+ },
+ "description": "Gateway routing details"
+ },
+ "VirtualNetworkGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat",
+ "description": "Properties of the virtual network gateway."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "VpnClientParameters": {
+ "properties": {
+ "processorArchitecture": {
+ "type": "string",
+ "description": "VPN client Processor Architecture. Possible values are: 'AMD64' and 'X86'.",
+ "enum": [
+ "Amd64",
+ "X86"
+ ],
+ "x-ms-enum": {
+ "name": "ProcessorArchitecture",
+ "modelAsString": true
+ }
+ },
+ "authenticationMethod": {
+ "type": "string",
+ "description": "VPN client Authentication Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "radiusServerAuthCertificate": {
+ "type": "string",
+ "description": "The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication."
+ },
+ "clientRootCertificates": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS."
+ }
+ },
+ "description": "Vpn Client Parameters for package generation"
+ },
+ "VirtualNetworkGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ },
+ "description": "Gets a list of VirtualNetworkGateway resources that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListVirtualNetworkGateways API service call."
+ },
+ "BgpPeerStatusListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BgpPeerStatus"
+ },
+ "description": "List of BGP peers"
+ }
+ },
+ "description": "Response for list BGP peer status API service call"
+ },
+ "GatewayRouteListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GatewayRoute"
+ },
+ "description": "List of gateway routes"
+ }
+ },
+ "description": "List of virtual network gateway routes"
+ },
+ "TunnelConnectionHealth": {
+ "properties": {
+ "tunnel": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Tunnel name."
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Virtual network Gateway connection status",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "ingressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The Ingress Bytes Transferred in this connection"
+ },
+ "egressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The Egress Bytes Transferred in this connection"
+ },
+ "lastConnectionEstablishedUtcTime": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time at which connection was established in Utc format."
+ }
+ },
+ "description": "VirtualNetworkGatewayConnection properties"
+ },
+ "VirtualNetworkGatewayConnectionPropertiesFormat": {
+ "properties": {
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorizationKey."
+ },
+ "virtualNetworkGateway1": {
+ "$ref": "#/definitions/VirtualNetworkGateway",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "virtualNetworkGateway2": {
+ "$ref": "#/definitions/VirtualNetworkGateway",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "localNetworkGateway2": {
+ "$ref": "#/definitions/LocalNetworkGateway",
+ "description": "The reference to local network gateway resource."
+ },
+ "connectionType": {
+ "type": "string",
+ "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "enum": [
+ "IPsec",
+ "Vnet2Vnet",
+ "ExpressRoute",
+ "VPNClient"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionType",
+ "modelAsString": true
+ }
+ },
+ "routingWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The routing weight."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The IPSec shared key."
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Virtual network Gateway connection status. Possible values are 'Unknown', 'Connecting', 'Connected' and 'NotConnected'.",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "tunnelConnectionStatus": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TunnelConnectionHealth"
+ },
+ "description": "Collection of all tunnels' connection health status."
+ },
+ "egressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The egress bytes transferred in this connection."
+ },
+ "ingressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The ingress bytes transferred in this connection."
+ },
+ "peer": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to peerings resource."
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "ipsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpsecPolicy"
+ },
+ "description": "The IPSec Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the VirtualNetworkGatewayConnection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "virtualNetworkGateway1",
+ "connectionType"
+ ],
+ "description": "VirtualNetworkGatewayConnection properties"
+ },
+ "VirtualNetworkGatewayConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionPropertiesFormat",
+ "description": "Properties of the virtual network gateway connection."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "VirtualNetworkGatewayConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ },
+ "description": "Gets a list of VirtualNetworkGatewayConnection resources that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListVirtualNetworkGatewayConnections API service call"
+ },
+ "ConnectionResetSharedKey": {
+ "properties": {
+ "keyLength": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 128,
+ "description": "The virtual network connection reset shared key length, should between 1 and 128."
+ }
+ },
+ "required": [
+ "keyLength"
+ ],
+ "description": "The virtual network connection reset shared key"
+ },
+ "ConnectionSharedKey": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The virtual network connection shared key value."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "Response for GetConnectionSharedKey API service call"
+ },
+ "IpsecPolicy": {
+ "properties": {
+ "saLifeTimeSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel."
+ },
+ "saDataSizeKilobytes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel."
+ },
+ "ipsecEncryption": {
+ "type": "string",
+ "description": "The IPSec encryption algorithm (IKE phase 1).",
+ "enum": [
+ "None",
+ "DES",
+ "DES3",
+ "AES128",
+ "AES192",
+ "AES256",
+ "GCMAES128",
+ "GCMAES192",
+ "GCMAES256"
+ ],
+ "x-ms-enum": {
+ "name": "IpsecEncryption",
+ "modelAsString": true
+ }
+ },
+ "ipsecIntegrity": {
+ "type": "string",
+ "description": "The IPSec integrity algorithm (IKE phase 1).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "GCMAES128",
+ "GCMAES192",
+ "GCMAES256"
+ ],
+ "x-ms-enum": {
+ "name": "IpsecIntegrity",
+ "modelAsString": true
+ }
+ },
+ "ikeEncryption": {
+ "type": "string",
+ "description": "The IKE encryption algorithm (IKE phase 2).",
+ "enum": [
+ "DES",
+ "DES3",
+ "AES128",
+ "AES192",
+ "AES256"
+ ],
+ "x-ms-enum": {
+ "name": "IkeEncryption",
+ "modelAsString": true
+ }
+ },
+ "ikeIntegrity": {
+ "type": "string",
+ "description": "The IKE integrity algorithm (IKE phase 2).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "SHA384"
+ ],
+ "x-ms-enum": {
+ "name": "IkeIntegrity",
+ "modelAsString": true
+ }
+ },
+ "dhGroup": {
+ "type": "string",
+ "description": "The DH Groups used in IKE Phase 1 for initial SA.",
+ "enum": [
+ "None",
+ "DHGroup1",
+ "DHGroup2",
+ "DHGroup14",
+ "DHGroup2048",
+ "ECP256",
+ "ECP384",
+ "DHGroup24"
+ ],
+ "x-ms-enum": {
+ "name": "DhGroup",
+ "modelAsString": true
+ }
+ },
+ "pfsGroup": {
+ "type": "string",
+ "description": "The DH Groups used in IKE Phase 2 for new child SA.",
+ "enum": [
+ "None",
+ "PFS1",
+ "PFS2",
+ "PFS2048",
+ "ECP256",
+ "ECP384",
+ "PFS24"
+ ],
+ "x-ms-enum": {
+ "name": "PfsGroup",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "saLifeTimeSeconds",
+ "saDataSizeKilobytes",
+ "ipsecEncryption",
+ "ipsecIntegrity",
+ "ikeEncryption",
+ "ikeIntegrity",
+ "dhGroup",
+ "pfsGroup"
+ ],
+ "description": "An IPSec Policy configuration for a virtual network gateway connection"
+ },
+ "LocalNetworkGatewayPropertiesFormat": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "Local network site address space."
+ },
+ "gatewayIpAddress": {
+ "type": "string",
+ "description": "IP address of local network gateway."
+ },
+ "bgpSettings": {
+ "$ref": "#/definitions/BgpSettings",
+ "description": "Local network gateway's BGP speaker settings."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the LocalNetworkGateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "LocalNetworkGateway properties"
+ },
+ "LocalNetworkGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat",
+ "description": "Properties of the local network gateway."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "LocalNetworkGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ },
+ "description": "A list of local network gateways that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListLocalNetworkGateways API service call."
+ },
+ "virtualNetworkConnectionGatewayReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of VirtualNetworkGateway or LocalNetworkGateway resource."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "A reference to VirtualNetworkGateway or LocalNetworkGateway resource."
+ },
+ "VirtualNetworkGatewayConnectionListEntityPropertiesFormat": {
+ "properties": {
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorizationKey."
+ },
+ "virtualNetworkGateway1": {
+ "$ref": "#/definitions/virtualNetworkConnectionGatewayReference",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "virtualNetworkGateway2": {
+ "$ref": "#/definitions/virtualNetworkConnectionGatewayReference",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "localNetworkGateway2": {
+ "$ref": "#/definitions/virtualNetworkConnectionGatewayReference",
+ "description": "The reference to local network gateway resource."
+ },
+ "connectionType": {
+ "type": "string",
+ "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "enum": [
+ "IPsec",
+ "Vnet2Vnet",
+ "ExpressRoute",
+ "VPNClient"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionType",
+ "modelAsString": true
+ }
+ },
+ "routingWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The routing weight."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The IPSec shared key."
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Virtual network Gateway connection status. Possible values are 'Unknown', 'Connecting', 'Connected' and 'NotConnected'.",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "tunnelConnectionStatus": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TunnelConnectionHealth"
+ },
+ "description": "Collection of all tunnels' connection health status."
+ },
+ "egressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The egress bytes transferred in this connection."
+ },
+ "ingressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The ingress bytes transferred in this connection."
+ },
+ "peer": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to peerings resource."
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "ipsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpsecPolicy"
+ },
+ "description": "The IPSec Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the VirtualNetworkGatewayConnection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "virtualNetworkGateway1",
+ "connectionType"
+ ],
+ "description": "VirtualNetworkGatewayConnection properties"
+ },
+ "VirtualNetworkGatewayConnectionListEntity": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntityPropertiesFormat",
+ "description": "Properties of the virtual network gateway connection."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "VirtualNetworkGatewayListConnectionsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntity"
+ },
+ "description": "Gets a list of VirtualNetworkGatewayConnection resources that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the VirtualNetworkGatewayListConnections API service call"
+ },
+ "VpnDeviceScriptParameters": {
+ "properties": {
+ "vendor": {
+ "type": "string",
+ "description": "The vendor for the vpn device."
+ },
+ "deviceFamily": {
+ "type": "string",
+ "description": "The device family for the vpn device."
+ },
+ "firmwareVersion": {
+ "type": "string",
+ "description": "The firmware version for the vpn device."
+ }
+ },
+ "description": "Vpn device configuration script generation parameters"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2017-11-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..b9cb4ede4929
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/vmssNetworkInterface.json
@@ -0,0 +1,400 @@
+{
+ "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": "2017-03-30"
+ },
+ "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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces",
+ "description": "Gets information about all network interfaces in a virtual machine in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual machine scale set vm network interfaces": { "$ref": "./examples/VmssVmNetworkInterfaceList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces",
+ "description": "Gets all network interfaces in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual machine scale set network interfaces": { "$ref": "./examples/VmssNetworkInterfaceList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface",
+ "description": "Get the specified network interface in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get virtual machine scale set network interface": { "$ref": "./examples/VmssNetworkInterfaceGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetIpConfigurations",
+ "description": "Get the specified network interface ip configuration in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the list of resulting NetworkInterfaceIPConfigurations resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual machine scale set network interface ip configurations": { "$ref": "./examples/VmssNetworkInterfaceIpConfigList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetIpConfiguration",
+ "description": "Get the specified network interface ip configuration in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ip configuration."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterfaceIPConfiguration resource.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get virtual machine scale set network interface": { "$ref": "./examples/VmssNetworkInterfaceIpConfigGet.json" }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..79113ac031f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-11-01/vmssPublicIpAddress.json
@@ -0,0 +1,261 @@
+{
+ "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": "2017-03-30"
+ },
+ "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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses": {
+ "get": {
+ "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetPublicIPAddresses",
+ "description": "Gets information about all public IP addresses on a virtual machine scale set level.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPInterface resources.",
+ "schema": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVMSSPublicIP": { "$ref": "./examples/VmssPublicIpListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses" : {
+ "get": {
+ "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetVMPublicIPAddresses",
+ "description": "Gets information about all public IP addresses in a virtual machine IP configuration in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The network interface name."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPAddress resources.",
+ "schema": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVMSSVMPublicIP": { "$ref": "./examples/VmssVmPublicIpList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}": {
+ "get": {
+ "operationId": "PublicIPAddresses_GetVirtualMachineScaleSetPublicIPAddress",
+ "description": "Get the specified public IP address in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the IP configuration."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP Address."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "x-ms-examples": {
+ "GetVMSSPublicIP": { "$ref": "./examples/VmssPublicIpGet.json" }
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/applicationGateway.json
new file mode 100644
index 000000000000..445c5e512356
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/applicationGateway.json
@@ -0,0 +1,2088 @@
+{
+ "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-01-01"
+ },
+ "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/applicationGateways/{applicationGatewayName}": {
+ "delete": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Delete",
+ "x-ms-examples": {
+ "Delete ApplicationGateway": {
+ "$ref": "./examples/ApplicationGatewayDelete.json"
+ }
+ },
+ "description": "Deletes the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Request successful. Resource with the specified name does not exist"
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Get",
+ "x-ms-examples": {
+ "Get ApplicationGateway": {
+ "$ref": "./examples/ApplicationGatewayGet.json"
+ }
+ },
+ "description": "Gets the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns an ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Application Gateway": {
+ "$ref": "./examples/ApplicationGatewayCreate.json"
+ }
+ },
+ "description": "Creates or updates the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ },
+ "description": "Parameters supplied to the create or update application gateway operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_UpdateTags",
+ "x-ms-examples": {
+ "Update Application Gateway tags": {
+ "$ref": "./examples/ApplicationGatewayUpdateTags.json"
+ }
+ },
+ "description": "Updates the specified application gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update application gateway tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ApplicationGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_List",
+ "x-ms-examples": {
+ "Lists all application gateways in a resource group": {
+ "$ref": "./examples/ApplicationGatewayList.json"
+ }
+ },
+ "description": "Lists all application gateways in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of ApplicationGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAll",
+ "x-ms-examples": {
+ "Lists all application gateways in a subscription": {
+ "$ref": "./examples/ApplicationGatewayListAll.json"
+ }
+ },
+ "description": "Gets all the application gateways in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of ApplicationGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Start",
+ "x-ms-examples": {
+ "Start Application Gateway": {
+ "$ref": "./examples/ApplicationGatewayStart.json"
+ }
+ },
+ "description": "Starts the specified application gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation starts the ApplicationGateway resource."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_Stop",
+ "x-ms-examples": {
+ "Stop Application Gateway": {
+ "$ref": "./examples/ApplicationGatewayStop.json"
+ }
+ },
+ "description": "Stops the specified application gateway in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the ApplicationGateway resource."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth": {
+ "post": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_BackendHealth",
+ "description": "Gets the backend health of the specified application gateway in a resource group.",
+ "x-ms-examples": {
+ "Get Backend Health": {
+ "$ref": "./examples/ApplicationGatewayBackendHealthGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands BackendAddressPool and BackendHttpSettings referenced in backend health."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealth"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableWafRuleSets",
+ "x-ms-examples": {
+ "Get Available Waf Rule Sets": {
+ "$ref": "./examples/ApplicationGatewayAvailableWafRuleSetsGet.json"
+ }
+ },
+ "description": "Lists all available web application firewall rule sets.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available web application firewall rule sets.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableWafRuleSetsResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableSslOptions",
+ "x-ms-examples": {
+ "Get Available Ssl Options": {
+ "$ref": "./examples/ApplicationGatewayAvailableSslOptionsGet.json"
+ }
+ },
+ "description": "Lists available Ssl options for configuring Ssl policy.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns all available Ssl options for configuring Ssl policy.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableSslOptions"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableSslPredefinedPolicies",
+ "x-ms-examples": {
+ "Get Available Ssl Predefined Policies": {
+ "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "description": "Lists all SSL predefined policies for configuring Ssl policy.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a lists of all Ssl predefined policies for configuring Ssl policy.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableSslPredefinedPolicies"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_GetSslPredefinedPolicy",
+ "x-ms-examples": {
+ "Get Available Ssl Predefined Policy by name": {
+ "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json"
+ }
+ },
+ "description": "Gets Ssl predefined policy with the specified policy name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "predefinedPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of Ssl predefined policy."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a Ssl predefined policy with the specified policy name.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApplicationGatewayBackendHealth": {
+ "properties": {
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthPool"
+ }
+ }
+ },
+ "description": "List of ApplicationGatewayBackendHealthPool resources."
+ },
+ "ApplicationGatewayBackendHealthPool": {
+ "properties": {
+ "backendAddressPool": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPool",
+ "description": "Reference of an ApplicationGatewayBackendAddressPool resource."
+ },
+ "backendHttpSettingsCollection": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings"
+ },
+ "description": "List of ApplicationGatewayBackendHealthHttpSettings resources."
+ }
+ },
+ "description": "Application gateway BackendHealth pool."
+ },
+ "ApplicationGatewayBackendHealthHttpSettings": {
+ "properties": {
+ "backendHttpSettings": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings",
+ "description": "Reference of an ApplicationGatewayBackendHttpSettings resource."
+ },
+ "servers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHealthServer"
+ },
+ "description": "List of ApplicationGatewayBackendHealthServer resources."
+ }
+ },
+ "description": "Application gateway BackendHealthHttp settings."
+ },
+ "ApplicationGatewayBackendHealthServer": {
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "IP address or FQDN of backend server."
+ },
+ "ipConfiguration": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration",
+ "description": "Reference of IP configuration of backend server."
+ },
+ "health": {
+ "type": "string",
+ "description": "Health of backend server.",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "Partial",
+ "Draining"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayBackendHealthServerHealth",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Application gateway backendhealth http settings."
+ },
+ "ApplicationGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of an application gateway SKU.",
+ "enum": [
+ "Standard_Small",
+ "Standard_Medium",
+ "Standard_Large",
+ "WAF_Medium",
+ "WAF_Large"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of an application gateway.",
+ "enum": [
+ "Standard",
+ "WAF"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Capacity (instance count) of an application gateway."
+ }
+ },
+ "description": "SKU of an application gateway"
+ },
+ "ApplicationGatewaySslPolicy": {
+ "properties": {
+ "disabledSslProtocols": {
+ "type": "array",
+ "description": "Ssl protocols to be disabled on application gateway.",
+ "items": {
+ "type": "string",
+ "$ref": "#/definitions/ProtocolsEnum",
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslProtocol",
+ "modelAsString": true
+ }
+ }
+ },
+ "policyType": {
+ "type": "string",
+ "description": "Type of Ssl Policy",
+ "enum": [
+ "Predefined",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslPolicyType",
+ "modelAsString": true
+ }
+ },
+ "policyName": {
+ "$ref": "#/definitions/PolicyNameEnum",
+ "description": "Name of Ssl predefined policy"
+ },
+ "cipherSuites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CipherSuitesEnum"
+ },
+ "description": "Ssl cipher suites to be enabled in the specified order to application gateway."
+ },
+ "minProtocolVersion": {
+ "$ref": "#/definitions/ProtocolsEnum",
+ "description": "Minimum version of Ssl protocol to be supported on application gateway."
+ }
+ },
+ "description": "Application Gateway Ssl policy."
+ },
+ "ApplicationGatewayIPConfigurationPropertiesFormat": {
+ "properties": {
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the subnet resource. A subnet from where application gateway gets its private address."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the application gateway subnet resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of IP configuration of an application gateway."
+ },
+ "ApplicationGatewayIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed."
+ },
+ "ApplicationGatewayAuthenticationCertificatePropertiesFormat": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Certificate public data."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the authentication certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Authentication certificates properties of an application gateway."
+ },
+ "ApplicationGatewayAuthenticationCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Authentication certificates of an application gateway."
+ },
+ "ApplicationGatewaySslCertificatePropertiesFormat": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Base-64 encoded pfx certificate. Only applicable in PUT Request."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for the pfx file specified in data. Only applicable in PUT request."
+ },
+ "publicCertData": {
+ "type": "string",
+ "description": "Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the SSL certificate resource Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of SSL certificates of an application gateway."
+ },
+ "ApplicationGatewaySslCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "SSL certificates of an application gateway."
+ },
+ "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAddress": {
+ "type": "string",
+ "description": "PrivateIPAddress of the network interface IP Configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "PrivateIP allocation method.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the PublicIP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Frontend IP configuration of an application gateway."
+ },
+ "ApplicationGatewayFrontendPortPropertiesFormat": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frontend port"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Frontend port of an application gateway."
+ },
+ "ApplicationGatewayFrontendPort": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Frontend port of an application gateway."
+ },
+ "ApplicationGatewayBackendAddress": {
+ "properties": {
+ "fqdn": {
+ "type": "string",
+ "description": "Fully qualified domain name (FQDN)."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "IP address"
+ }
+ },
+ "description": "Backend address of an application gateway."
+ },
+ "ApplicationGatewayBackendAddressPoolPropertiesFormat": {
+ "properties": {
+ "backendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "Collection of references to IPs defined in network interfaces."
+ },
+ "backendAddresses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddress"
+ },
+ "description": "Backend addresses"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Backend Address Pool of an application gateway."
+ },
+ "ApplicationGatewayBackendAddressPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Backend Address Pool of an application gateway."
+ },
+ "ApplicationGatewayBackendHttpSettingsPropertiesFormat": {
+ "properties": {
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Port"
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ },
+ "cookieBasedAffinity": {
+ "type": "string",
+ "description": "Cookie based affinity.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayCookieBasedAffinity",
+ "modelAsString": true
+ }
+ },
+ "requestTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds."
+ },
+ "probe": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Probe resource of an application gateway."
+ },
+ "authenticationCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Array of references to application gateway authentication certificates."
+ },
+ "connectionDraining": {
+ "$ref": "#/definitions/ApplicationGatewayConnectionDraining",
+ "description": "Connection draining of the backend http settings resource."
+ },
+ "hostName": {
+ "type": "string",
+ "description": "Host header to be sent to the backend servers."
+ },
+ "pickHostNameFromBackendAddress": {
+ "type": "boolean",
+ "description": "Whether to pick host header should be picked from the host name of the backend server. Default value is false."
+ },
+ "affinityCookieName": {
+ "type": "string",
+ "description": "Cookie name to use for the affinity cookie."
+ },
+ "probeEnabled": {
+ "type": "boolean",
+ "description": "Whether the probe is enabled. Default value is false."
+ },
+ "path": {
+ "type": "string",
+ "description": "Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Backend address pool settings of an application gateway."
+ },
+ "ApplicationGatewayBackendHttpSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Backend address pool settings of an application gateway."
+ },
+ "ApplicationGatewayHttpListenerPropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Frontend IP configuration resource of an application gateway."
+ },
+ "frontendPort": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Frontend port resource of an application gateway."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ },
+ "hostName": {
+ "type": "string",
+ "description": "Host name of HTTP listener."
+ },
+ "sslCertificate": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "SSL certificate resource of an application gateway."
+ },
+ "requireServerNameIndication": {
+ "type": "boolean",
+ "description": "Applicable only if protocol is https. Enables SNI for multi-hosting."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of HTTP listener of an application gateway."
+ },
+ "ApplicationGatewayHttpListener": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Http listener of an application gateway."
+ },
+ "ApplicationGatewayPathRulePropertiesFormat": {
+ "properties": {
+ "paths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Path rules of URL path map."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Backend address pool resource of URL path map path rule."
+ },
+ "backendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Backend http settings resource of URL path map path rule."
+ },
+ "redirectConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Redirect configuration resource of URL path map path rule."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of path rule of an application gateway."
+ },
+ "ApplicationGatewayPathRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Path rule of URL path map of an application gateway."
+ },
+ "ApplicationGatewayProbePropertiesFormat": {
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "Protocol.",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayProtocol",
+ "modelAsString": true
+ }
+ },
+ "host": {
+ "type": "string",
+ "description": "Host name to send the probe to."
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:"
+ },
+ "interval": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds."
+ },
+ "timeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "the probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds."
+ },
+ "unhealthyThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20."
+ },
+ "pickHostNameFromBackendHttpSettings": {
+ "type": "boolean",
+ "description": "Whether the host header should be picked from the backend http settings. Default value is false."
+ },
+ "minServers": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of servers that are always marked healthy. Default value is 0."
+ },
+ "match": {
+ "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch",
+ "description": "Criterion for classifying a healthy probe response."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of probe of an application gateway."
+ },
+ "ApplicationGatewayProbeHealthResponseMatch": {
+ "properties": {
+ "body": {
+ "type": "string",
+ "description": "Body that must be contained in the health response. Default value is empty."
+ },
+ "statusCodes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399."
+ }
+ },
+ "description": "Application gateway probe health response match"
+ },
+ "ApplicationGatewayProbe": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayProbePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Probe of the application gateway."
+ },
+ "ApplicationGatewayRequestRoutingRulePropertiesFormat": {
+ "properties": {
+ "ruleType": {
+ "type": "string",
+ "description": "Rule type.",
+ "enum": [
+ "Basic",
+ "PathBasedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayRequestRoutingRuleType",
+ "modelAsString": true
+ }
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Backend address pool resource of the application gateway. "
+ },
+ "backendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Frontend port resource of the application gateway."
+ },
+ "httpListener": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Http listener resource of the application gateway. "
+ },
+ "urlPathMap": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "URL path map resource of the application gateway."
+ },
+ "redirectConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Redirect configuration resource of the application gateway."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of request routing rule of the application gateway."
+ },
+ "ApplicationGatewayRequestRoutingRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Request routing rule of an application gateway."
+ },
+ "ApplicationGatewayRedirectConfigurationPropertiesFormat": {
+ "properties": {
+ "redirectType": {
+ "type": "string",
+ "$ref": "#/definitions/RedirectTypeEnum",
+ "description": "Supported http redirection types - Permanent, Temporary, Found, SeeOther.",
+ "x-ms-enum": {
+ "name": "ApplicationGatewayRedirectType",
+ "modelAsString": true
+ }
+ },
+ "targetListener": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to a listener to redirect the request to."
+ },
+ "targetUrl": {
+ "type": "string",
+ "description": "Url to redirect the request to."
+ },
+ "includePath": {
+ "type": "boolean",
+ "description": "Include path in the redirected url."
+ },
+ "includeQueryString": {
+ "type": "boolean",
+ "description": "Include query string in the redirected url."
+ },
+ "requestRoutingRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Request routing specifying redirect configuration."
+ },
+ "urlPathMaps": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Url path maps specifying default redirect configuration."
+ },
+ "pathRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Path rules specifying redirect configuration."
+ }
+ },
+ "description": "Properties of redirect configuration of the application gateway."
+ },
+ "ApplicationGatewayRedirectConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Redirect configuration of an application gateway."
+ },
+ "ApplicationGatewayPropertiesFormat": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ApplicationGatewaySku",
+ "description": "SKU of the application gateway resource."
+ },
+ "sslPolicy": {
+ "$ref": "#/definitions/ApplicationGatewaySslPolicy",
+ "description": "SSL policy of the application gateway resource."
+ },
+ "operationalState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operational state of the application gateway resource.",
+ "enum": [
+ "Stopped",
+ "Starting",
+ "Running",
+ "Stopping"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayOperationalState",
+ "modelAsString": true
+ }
+ },
+ "gatewayIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayIPConfiguration"
+ },
+ "description": "Subnets of application the gateway resource."
+ },
+ "authenticationCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate"
+ },
+ "description": "Authentication certificates of the application gateway resource."
+ },
+ "sslCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewaySslCertificate"
+ },
+ "description": "SSL certificates of the application gateway resource."
+ },
+ "frontendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration"
+ },
+ "description": "Frontend IP addresses of the application gateway resource."
+ },
+ "frontendPorts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFrontendPort"
+ },
+ "description": "Frontend ports of the application gateway resource."
+ },
+ "probes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayProbe"
+ },
+ "description": "Probes of the application gateway resource."
+ },
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendAddressPool"
+ },
+ "description": "Backend address pool of the application gateway resource."
+ },
+ "backendHttpSettingsCollection": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings"
+ },
+ "description": "Backend http settings of the application gateway resource."
+ },
+ "httpListeners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayHttpListener"
+ },
+ "description": "Http listeners of the application gateway resource."
+ },
+ "urlPathMaps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayUrlPathMap"
+ },
+ "description": "URL path map of the application gateway resource."
+ },
+ "requestRoutingRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule"
+ },
+ "description": "Request routing rules of the application gateway resource."
+ },
+ "redirectConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRedirectConfiguration"
+ },
+ "description": "Redirect configurations of the application gateway resource."
+ },
+ "webApplicationFirewallConfiguration": {
+ "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration",
+ "description": "Web application firewall configuration."
+ },
+ "enableHttp2": {
+ "type": "boolean",
+ "description": "Whether HTTP2 is enabled on the application gateway resource."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "Resource GUID property of the application gateway resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the application gateway."
+ },
+ "ApplicationGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayPropertiesFormat"
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Application gateway resource"
+ },
+ "ApplicationGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGateway"
+ },
+ "description": "List of an application gateways in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListApplicationGateways API service call."
+ },
+ "ApplicationGatewayUrlPathMapPropertiesFormat": {
+ "properties": {
+ "defaultBackendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default backend address pool resource of URL path map."
+ },
+ "defaultBackendHttpSettings": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default backend http settings resource of URL path map."
+ },
+ "defaultRedirectConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default redirect configuration resource of URL path map."
+ },
+ "pathRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayPathRule"
+ },
+ "description": "Path rule of URL path map resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of UrlPathMap of the application gateway."
+ },
+ "ApplicationGatewayUrlPathMap": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "UrlPathMaps give a url path to the backend mapping information for PathBasedRouting."
+ },
+ "ApplicationGatewayWebApplicationFirewallConfiguration": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the web application firewall is enabled or not."
+ },
+ "firewallMode": {
+ "type": "string",
+ "description": "Web application firewall mode.",
+ "enum": [
+ "Detection",
+ "Prevention"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayFirewallMode",
+ "modelAsString": true
+ }
+ },
+ "ruleSetType": {
+ "type": "string",
+ "description": "The type of the web application firewall rule set. Possible values are: 'OWASP'."
+ },
+ "ruleSetVersion": {
+ "type": "string",
+ "description": "The version of the rule set type."
+ },
+ "disabledRuleGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallDisabledRuleGroup"
+ },
+ "description": "The disabled rule groups."
+ },
+ "requestBodyCheck": {
+ "type": "boolean",
+ "description": "Whether allow WAF to check request Body."
+ },
+ "maxRequestBodySize": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 128,
+ "exclusiveMaximum": false,
+ "minimum": 8,
+ "exclusiveMinimum": false,
+ "description": "Maxium request body size for WAF."
+ }
+ },
+ "required": [
+ "enabled",
+ "firewallMode",
+ "ruleSetType",
+ "ruleSetVersion"
+ ],
+ "description": "Application gateway web application firewall configuration."
+ },
+ "ApplicationGatewayConnectionDraining": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether connection draining is enabled or not."
+ },
+ "drainTimeoutInSec": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 3600,
+ "exclusiveMaximum": false,
+ "minimum": 1,
+ "exclusiveMinimum": false,
+ "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds."
+ }
+ },
+ "required": [
+ "enabled",
+ "drainTimeoutInSec"
+ ],
+ "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration."
+ },
+ "ApplicationGatewayFirewallDisabledRuleGroup": {
+ "properties": {
+ "ruleGroupName": {
+ "type": "string",
+ "description": "The name of the rule group that will be disabled."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false
+ },
+ "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled."
+ }
+ },
+ "required": [
+ "ruleGroupName"
+ ],
+ "description": "Allows to disable rules within a rule group or an entire rule group."
+ },
+ "ApplicationGatewayAvailableWafRuleSetsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallRuleSet"
+ },
+ "description": "The list of application gateway rule sets."
+ }
+ },
+ "description": "Response for ApplicationGatewayAvailableWafRuleSets API service call."
+ },
+ "ApplicationGatewayFirewallRuleSet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayFirewallRuleSetPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A web application firewall rule set."
+ },
+ "ApplicationGatewayFirewallRuleSetPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the web application firewall rule set."
+ },
+ "ruleSetType": {
+ "type": "string",
+ "description": "The type of the web application firewall rule set."
+ },
+ "ruleSetVersion": {
+ "type": "string",
+ "description": "The version of the web application firewall rule set type."
+ },
+ "ruleGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallRuleGroup"
+ },
+ "description": "The rule groups of the web application firewall rule set."
+ }
+ },
+ "required": [
+ "ruleSetType",
+ "ruleSetVersion",
+ "ruleGroups"
+ ],
+ "description": "Properties of the web application firewall rule set."
+ },
+ "ApplicationGatewayFirewallRuleGroup": {
+ "properties": {
+ "ruleGroupName": {
+ "type": "string",
+ "description": "The name of the web application firewall rule group."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the web application firewall rule group."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallRule"
+ },
+ "description": "The rules of the web application firewall rule group."
+ }
+ },
+ "required": [
+ "ruleGroupName",
+ "rules"
+ ],
+ "description": "A web application firewall rule group."
+ },
+ "ApplicationGatewayFirewallRule": {
+ "properties": {
+ "ruleId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The identifier of the web application firewall rule."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the web application firewall rule."
+ }
+ },
+ "required": [
+ "ruleId"
+ ],
+ "description": "A web application firewall rule."
+ },
+ "ApplicationGatewayAvailableSslOptions": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayAvailableSslOptionsPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Response for ApplicationGatewayAvailableSslOptions API service call."
+ },
+ "ApplicationGatewayAvailableSslOptionsPropertiesFormat": {
+ "properties": {
+ "predefinedPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "List of available Ssl predefined policy."
+ },
+ "defaultPolicy": {
+ "$ref": "#/definitions/PolicyNameEnum",
+ "description": "Name of the Ssl predefined policy applied by default to application gateway"
+ },
+ "availableCipherSuites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CipherSuitesEnum"
+ },
+ "description": "List of available Ssl cipher suites."
+ },
+ "availableProtocols": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtocolsEnum"
+ },
+ "description": "List of available Ssl protocols."
+ }
+ },
+ "description": "Properties of ApplicationGatewayAvailableSslOptions"
+ },
+ "ApplicationGatewayAvailableSslPredefinedPolicies": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy"
+ },
+ "description": "List of available Ssl predefined policy."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "Response for ApplicationGatewayAvailableSslOptions API service call."
+ },
+ "ApplicationGatewaySslPredefinedPolicy": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of Ssl predefined policy."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicyPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "An Ssl predefined policy"
+ },
+ "ApplicationGatewaySslPredefinedPolicyPropertiesFormat": {
+ "properties": {
+ "cipherSuites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CipherSuitesEnum"
+ },
+ "description": "Ssl cipher suites to be enabled in the specified order for application gateway."
+ },
+ "minProtocolVersion": {
+ "$ref": "#/definitions/ProtocolsEnum",
+ "description": "Minimum version of Ssl protocol to be supported on application gateway."
+ }
+ },
+ "description": "Properties of ApplicationGatewaySslPredefinedPolicy"
+ },
+ "PolicyNameEnum": {
+ "type": "string",
+ "description": "Ssl predefined policy name enums.",
+ "enum": [
+ "AppGwSslPolicy20150501",
+ "AppGwSslPolicy20170401",
+ "AppGwSslPolicy20170401S"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslPolicyName",
+ "modelAsString": true
+ }
+ },
+ "ProtocolsEnum": {
+ "type": "string",
+ "description": "Ssl protocol enums.",
+ "enum": [
+ "TLSv1_0",
+ "TLSv1_1",
+ "TLSv1_2"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslProtocol",
+ "modelAsString": true
+ }
+ },
+ "CipherSuitesEnum": {
+ "type": "string",
+ "description": "Ssl cipher suites enums.",
+ "enum": [
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
+ "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_RSA_WITH_AES_256_GCM_SHA384",
+ "TLS_RSA_WITH_AES_128_GCM_SHA256",
+ "TLS_RSA_WITH_AES_256_CBC_SHA256",
+ "TLS_RSA_WITH_AES_128_CBC_SHA256",
+ "TLS_RSA_WITH_AES_256_CBC_SHA",
+ "TLS_RSA_WITH_AES_128_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+ "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
+ "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
+ "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
+ "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
+ "TLS_RSA_WITH_3DES_EDE_CBC_SHA"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySslCipherSuite",
+ "modelAsString": true
+ }
+ },
+ "RedirectTypeEnum": {
+ "type": "string",
+ "enum": [
+ "Permanent",
+ "Found",
+ "SeeOther",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayRedirectType",
+ "modelAsString": true
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..668eb2ce4d6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/applicationSecurityGroup.json
@@ -0,0 +1,319 @@
+{
+ "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-01-01"
+ },
+ "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/applicationSecurityGroups/{applicationSecurityGroupName}": {
+ "delete": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_Delete",
+ "description": "Deletes the specified application security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete application security group": { "$ref": "./examples/ApplicationSecurityGroupDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_Get",
+ "description": "Gets information about the specified application security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the specified application security group resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get application security group": { "$ref": "./examples/ApplicationSecurityGroupGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_CreateOrUpdate",
+ "description": "Creates or updates an application security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "applicationSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application security group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "Parameters supplied to the create or update ApplicationSecurityGroup operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting application security group resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting application security group resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create application security group": { "$ref": "./examples/ApplicationSecurityGroupCreate.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups": {
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_ListAll",
+ "description": "Gets all application security groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of application security group resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all application security groups": { "$ref": "./examples/ApplicationSecurityGroupListAll.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups": {
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_List",
+ "description": "Gets all the application security groups in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of application security group resources.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List load balancers in resource group": { "$ref": "./examples/ApplicationSecurityGroupList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApplicationSecurityGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationSecurityGroupPropertiesFormat",
+ "description": "Properties of the application security group."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "An application security group in a resource group."
+ },
+ "ApplicationSecurityGroupPropertiesFormat": {
+ "properties": {
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the application security group resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Application security group properties."
+ },
+ "ApplicationSecurityGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "A list of application security groups."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "A list of application security groups."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..fa6099905910
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/checkDnsAvailability.json
@@ -0,0 +1,106 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability": {
+ "get": {
+ "operationId": "CheckDnsNameAvailability",
+ "description": "Checks whether a domain name in the cloudapp.azure.com zone is available for use.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "name": "domainNameLabel",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The domain name to be verified. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns whether the DNS name is available.",
+ "schema": {
+ "$ref": "#/definitions/DnsNameAvailabilityResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Dns Name Availability": { "$ref": "./examples/CheckDnsNameAvailability.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DnsNameAvailabilityResult": {
+ "properties": {
+ "available": {
+ "type": "boolean",
+ "description": "Domain availability (True/False)."
+ }
+ },
+ "description": "Response for the CheckDnsNameAvailability API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/endpointService.json
new file mode 100644
index 000000000000..9cecee857d34
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/endpointService.json
@@ -0,0 +1,127 @@
+{
+ "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-01-01"
+ },
+ "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}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices": {
+ "get": {
+ "operationId": "AvailableEndpointServices_List",
+ "description": "List what values of endpoint services are available for use.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location to check available endpoint services."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns list of available endpoint services.",
+ "schema": {
+ "$ref": "#/definitions/EndpointServicesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EndpointServicesList": { "$ref": "./examples/EndpointServicesList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EndpointServicesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointServiceResult"
+ },
+ "description": "List of available endpoint services in a region."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListAvailableEndpointServices API service call."
+ },
+ "EndpointServiceResult": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the endpoint service.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the endpoint service.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Endpoint service."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..1b4ae95fe9ea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default",
+ "type": "Microsoft.Network/ApplicationGatewayAvailableSslOptions",
+ "properties": {
+ "predefinedPolicies": [
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S"
+ }
+ ],
+ "defaultPolicy": "AppGwSslPolicy20150501",
+ "availableCipherSuites": [
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
+ ],
+ "availableProtocols": [
+ "TLSv1_0",
+ "TLSv1_1",
+ "TLSv1_2"
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..d3909879ccad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ [
+ {
+ "name": "AppGwSslPolicy20150501",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501",
+ "properties": {
+ "cipherSuites": [
+ "TLS_RSA_WITH_AES_128_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_0"
+ }
+ },
+ {
+ "name": "AppGwSslPolicy20170401",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401",
+ "properties": {
+ "cipherSuites": [
+ "TLS_RSA_WITH_AES_128_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_1"
+ }
+ },
+ {
+ "name": "AppGwSslPolicy20170401S",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S",
+ "properties": {
+ "cipherSuites": [
+ "TLS_RSA_WITH_AES_128_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_2"
+ }
+ }
+ ]
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..cbb4b277e654
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "predefinedPolicyName": "AppGwSslPolicy20150501"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AppGwSslPolicy20150501",
+ "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501",
+ "properties": {
+ "cipherSuites": [
+ "TLS_RSA_WITH_AES_128_CBC_SHA"
+ ],
+ "minProtocolVersion": "TLSv1_0"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
new file mode 100644
index 000000000000..097c46cc3a79
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "OWASP_3.0",
+ "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
+ "type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleSetType": "OWASP",
+ "ruleSetVersion": "3.0",
+ "ruleGroups": [
+ {
+ "ruleGroupName": "General",
+ "description": "",
+ "rules": [
+ {
+ "ruleId": 200004,
+ "description": "Possible Multipart Unmatched Boundary."
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayBackendHealthGet.json
new file mode 100644
index 000000000000..1840365dfde7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayBackendHealthGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "appgw",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "backendAddressPools": [
+ {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool"
+ },
+ "backendHttpSettingsCollection": [
+ {
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings"
+ },
+ "servers": [
+ {
+ "address": "10.220.1.8",
+ "health": "Up"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFPool"
+ },
+ "backendHttpSettingsCollection": [
+ {
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings"
+ },
+ "servers": [
+ {
+ "address": "10.220.1.4",
+ "health": "Up"
+ },
+ {
+ "address": "10.220.1.5",
+ "health": "Up"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayCreate.json
new file mode 100644
index 000000000000..97090885a601
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayCreate.json
@@ -0,0 +1,371 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw",
+ "parameters": {
+ "properties": {
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "properties": {
+ "data": "****",
+ "password": "****"
+ }
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "properties": {
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "properties": {
+ "backendAddresses": [
+ {
+ "ipAddress": "10.0.1.1"
+ },
+ {
+ "ipAddress": "10.0.1.2"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "properties": {
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "properties": {
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "appgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "operationalState": "Running",
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "*****"
+ }
+ }
+ ],
+ "authenticationCertificates": [],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendAddresses": []
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "urlPathMaps": [],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "appgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "operationalState": "Running",
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "*****"
+ }
+ }
+ ],
+ "authenticationCertificates": [],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendAddresses": []
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "urlPathMaps": [],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayDelete.json
new file mode 100644
index 000000000000..e17ca7e5390b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayGet.json
new file mode 100644
index 000000000000..199dafc45fb7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayGet.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "appgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "operationalState": "Running",
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "*****"
+ }
+ }
+ ],
+ "authenticationCertificates": [],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendAddresses": []
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "urlPathMaps": [],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayList.json
new file mode 100644
index 000000000000..722a21f564dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayList.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "properties": {
+ "data": "base64-pfxData",
+ "password": "pass1"
+ }
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "properties": {
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "properties": {
+ "backendAddresses": [
+ {
+ "ipAddress": "10.0.1.1"
+ },
+ {
+ "ipAddress": "10.0.1.2"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "properties": {
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "properties": {
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayListAll.json
new file mode 100644
index 000000000000..2687494c40b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayListAll.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "appgw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "southcentralus",
+ "properties": {
+ "sku": {
+ "name": "Standard_Medium",
+ "tier": "Standard",
+ "capacity": 3
+ },
+ "gatewayIPConfigurations": [
+ {
+ "name": "appgwipc",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [
+ {
+ "name": "sslcert",
+ "properties": {
+ "data": "base64-pfxData",
+ "password": "pass1"
+ }
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "properties": {
+ "port": 443
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "appgwpool",
+ "properties": {
+ "backendAddresses": [
+ {
+ "ipAddress": "10.0.1.1"
+ },
+ {
+ "ipAddress": "10.0.1.2"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "appgwbhs",
+ "properties": {
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "appgwhl",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp"
+ },
+ "protocol": "Https",
+ "sslCertificate": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert"
+ },
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "appgwrule",
+ "properties": {
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayStart.json
new file mode 100644
index 000000000000..4046089f3a0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayStop.json
new file mode 100644
index 000000000000..4046089f3a0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..8c83a27fe352
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "applicationGatewayName" : "AppGw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "AppGw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw",
+ "type": "Microsoft.Network/applicationGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "sku": {
+ "name": "Standard_Small",
+ "tier": "Standard",
+ "capacity": 2
+ },
+ "operationalState": "Running",
+ "gatewayIPConfigurations": [
+ {
+ "name": "GatewayIp01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/gatewayIPConfigurations/GatewayIp01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet1"
+ }
+ }
+ }
+ ],
+ "sslCertificates": [],
+ "authenticationCertificates": [],
+ "frontendIPConfigurations": [
+ {
+ "name": "FrontEndConfig01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicIp1"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "FrontEndPort01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "Pool01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendAddresses": [
+ {
+ "ipAddress": "10.10.10.1"
+ },
+ {
+ "ipAddress": "10.10.10.2"
+ },
+ {
+ "ipAddress": "10.10.10.3"
+ }
+ ]
+ }
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "PoolSetting01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled",
+ "pickHostNameFromBackendAddress": false,
+ "requestTimeout": 30
+ }
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "listener1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01"
+ },
+ "frontendPort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01"
+ },
+ "protocol": "Http",
+ "requireServerNameIndication": false
+ }
+ }
+ ],
+ "urlPathMaps": [],
+ "requestRoutingRules": [
+ {
+ "name": "Rule01",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/requestRoutingRules/Rule01",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "Basic",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1"
+ },
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01"
+ },
+ "backendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01"
+ }
+ }
+ }
+ ],
+ "probes": [],
+ "redirectConfigurations": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..57e033d0e526
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg",
+ "parameters": {
+ "location": "westus",
+ "properties": { }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..b1b5643d73bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..239d37966115
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-asg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..26ecd375deb2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1",
+ "name": "asg1",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2",
+ "name": "asg2",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..1522ff1b1c44
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1",
+ "name": "asg1",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2",
+ "name": "asg2",
+ "type": "Microsoft.Network/applicationSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..9e633c1a4ecb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "location" : "westus",
+ "domainNameLabel" : "testdns"
+ },
+ "responses" : {
+ "200" : {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..c519b682c7dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "networkSecurityGroupName": "nsg1",
+ "defaultSecurityRuleName": "AllowVnetInBound"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..8e16ee224e78
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "networkSecurityGroupName": "nsg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..d0381d0dcc0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Storage",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Storage",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ },
+ {
+ "name": "Microsoft.Sql",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Sql",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ },
+ {
+ "name": "Microsoft.AzureActiveDirectory",
+ "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.AzureActiveDirectory",
+ "type": "Microsoft.Network/virtualNetworkEndpointServices"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..b92558a93abd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "ertest",
+ "circuitName" : "er1",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "er1",
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Failed",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "Equinix",
+ "peeringLocation": "Silicon Valley",
+ "bandwidthInMbps": 1000
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "",
+ "serviceKey": "0b392c2e-1e9d-46d7-b5e0-9ce90ca6b60c",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..e0f04bdad516
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1",
+ "inboundNatRuleParameters": {
+ "properties": {
+ "protocol": "Tcp",
+ "frontendIPConfiguration": { "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"},
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "idleTimeoutInMinutes": 4,
+ "enableFloatingIP": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..a7905851a6ea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..562c4756a63c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..47005d16513f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/InboundNatRuleList.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "natRule1.1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3390,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ },
+ {
+ "name": "natRule1.3",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.3",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1"
+ },
+ "frontendPort": 3392,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 4,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..370516d4c7a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "backend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config"
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..ace3afa30b27
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "backend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config"
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..3c92ed40465c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,332 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..31d1c327d484
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,335 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..3b9a90e5cb32
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,165 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "properties": {
+ "serviceEndpoints": [],
+ "resourceNavigationLinks": []
+ },
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
+ }
+ },
+ "name": "test",
+ "zones": [],
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ ],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "inboundNatPools": [
+ {
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ },
+ "protocol": "Tcp",
+ "frontendPortRangeStart": 8080,
+ "frontendPortRangeEnd": 8085,
+ "backendPort": 8888,
+ "idleTimeoutInMinutes": 10,
+ "enableFloatingIP": true
+ },
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
+ },
+ "inboundNatPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendPortRangeStart": 8080,
+ "frontendPortRangeEnd": 8085,
+ "backendPort": 8888,
+ "idleTimeoutInMinutes": 10,
+ "enableFloatingIP": true,
+ "protocol": "Tcp",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
+ },
+ "inboundNatPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": [
+ {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendPortRangeStart": 8080,
+ "frontendPortRangeEnd": 8085,
+ "backendPort": 8888,
+ "idleTimeoutInMinutes": 10,
+ "enableFloatingIP": true,
+ "protocol": "Tcp",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..7820b7e9ec74
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,335 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "properties": {
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ },
+ "zones": [ "1" ]
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "properties": {
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "properties": {
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "properties": {
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundNatRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "zones": [ "1" ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "zones": [ "1" ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..f8f80d3bfce1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..6afe4b3246b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "frontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..b157d210740a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "frontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..cd208c261107
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerGet.json
@@ -0,0 +1,125 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "sku": {
+ "name": "Basic"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..9617e7c6a42d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerList.json
@@ -0,0 +1,140 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "belb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration":{
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "prlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "inrlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb2",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..a520befceb79
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,139 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "felb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "belb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration":{
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "prlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "inrlb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ },
+ {
+ "name": "lb3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb3",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [],
+ "backendAddressPools": [],
+ "loadBalancingRules": [],
+ "probes": [],
+ "inboundNatRules": [],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..056b7f55c1a8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..46e99fd5c261
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..7200c41d9035
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "mynic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet"
+ },
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": []
+ },
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..6cbfd2c4b17f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "vmss1Nic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "vmss1IpConfig",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.0"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0"
+ }
+ }
+ },
+ {
+ "name": "vmss1Nic",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "vmss1IpConfig",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.5",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool"
+ }
+ ],
+ "loadBalancerInboundNatRules":[
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..5e17004e0c40
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "probe1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/probe1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..2177f4d80574
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "prlb",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/prlb",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..00444c5ad339
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "name": "fe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "be-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rulelb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
+ },
+ "disableOutboundSnat": false
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe-lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "in-nat-rule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": true,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp"
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..88ca88631714
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "localNetworkGatewayName": "lgw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "gatewayIpAddress": "12.0.0.1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..3c5638cf7747
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,98 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic",
+ "parameters": {
+ "properties": {
+ "enableAcceleratedNetworking": true,
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "properties": {
+ "publicIPAddress": {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet": {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..4e90a57bceb5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..82f2d4808593
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "nic1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg"
+ },
+ "association" : {
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "networkInterface" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"
+ }
+ },
+ "effectiveSecurityRules" : [
+ {
+ "name" : "securityRules/rule1",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "456-456",
+ "destinationPortRange" : "6579-6579",
+ "sourceAddressPrefix" : "0.0.0.0/32",
+ "destinationAddressPrefix" : "0.0.0.0/32",
+ "access" : "Allow",
+ "priority" : 234,
+ "direction" : "Inbound"
+ },
+ {
+ "name" : "securityRules/default-allow-rdp",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "3389-3389",
+ "sourceAddressPrefix" : "1.1.1.1/32",
+ "destinationAddressPrefix" : "0.0.0.0/0",
+ "access" : "Allow",
+ "priority" : 1000,
+ "direction" : "Inbound"
+ },
+ {
+ "name" : "defaultSecurityRules/AllowInternetOutBound",
+ "protocol" : "All",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "0-65535",
+ "sourceAddressPrefix" : "0.0.0.0/0",
+ "destinationAddressPrefix" : "Internet",
+ "expandedDestinationAddressPrefix" : [
+ "32.0.0.0/3",
+ "4.0.0.0/6",
+ "2.0.0.0/7",
+ "1.0.0.0/8"
+ ],
+ "access" : "Allow",
+ "priority" : 65001,
+ "direction" : "Outbound"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..e33a7babc9b8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "nic1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "172.20.2.0/24"
+ ],
+ "nextHopType": "VnetLocal",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "0.0.0.0/0"
+ ],
+ "nextHopType": "Internet",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "10.0.0.0/8"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "100.64.0.0/10"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "172.16.0.0/12"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ },
+ {
+ "source": "Default",
+ "state": "Active",
+ "addressPrefix": [
+ "192.168.0.0/16"
+ ],
+ "nextHopType": "None",
+ "nextHopIpAddress": []
+ }
+ ]
+ }
+ },
+ "202" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..aee2d94ae935
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,54 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "test.bx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..c20ea90bbda6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.1.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet"
+ },
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..1f0c820b11ae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet12/subnets/subnet12"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..d683891b7e6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,90 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "test.bx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ },
+ {
+ "name" : "test-nic2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip2"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet2/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..8d046e59ca15
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,89 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "test.bx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-0D-3A-1B-C7-21",
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ },
+ {
+ "name" : "test-nic2",
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/publicIPAddresses/test-ip2"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/virtualNetworks/rgnew-vnet2/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..ee05719f6ed1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "lbname1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "frontendIPConfigurations": [
+ {
+ "name": "lbfrontend",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/publicIPAddresses/myDynamicPublicIP"
+ },
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1"
+ }
+ ]
+ }
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "bepool1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "backendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1"
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ]
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 80,
+ "backendPort": 80,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "loadDistribution": "Default",
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1"
+ },
+ "probe": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1"
+ }
+ }
+ }
+ ],
+ "probes": [
+ {
+ "name": "probe1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Http",
+ "port": 80,
+ "requestPath": "healthcheck.aspx",
+ "intervalInSeconds": 15,
+ "numberOfProbes": 2,
+ "loadBalancingRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1"
+ }
+ ]
+ }
+ }
+ ],
+ "inboundNatRules": [
+ {
+ "name": "inbound1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend"
+ },
+ "frontendPort": 3389,
+ "backendPort": 3389,
+ "enableFloatingIP": false,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "backendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1"
+ }
+ }
+ }
+ ],
+ "outboundNatRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..5af3cd376d26
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-nic",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
+ "location" : "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [{
+ "name" : "ipconfig1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "172.20.2.4",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4"
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : []
+ },
+ "enableAcceleratedNetworking" : true,
+ "enableIPForwarding" : false
+ },
+ "type" : "Microsoft.Network/networkInterfaces"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..3a3d30401694
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,231 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..31b90ecd8157
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,281 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "parameters": {
+ "properties": {
+ "securityRules": [
+ {
+ "name": "rule1",
+ "properties": {
+ "protocol": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "destinationPortRange": "80",
+ "sourcePortRange": "*",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..139d828d171d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..ea9ae3143cc9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..b2545faa9f6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nsg1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "nsg3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..c8a028d71ed3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nsg1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "nsg3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..1be9dd24ee07
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1",
+ "securityRuleParameters": {
+ "properties": {
+ "protocol": "*",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "destinationPortRange": "8080",
+ "sourcePortRange": "*",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "8080",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "8080",
+ "sourceAddressPrefix": "10.0.0.0/8",
+ "destinationAddressPrefix": "11.0.0.0/8",
+ "access": "Deny",
+ "priority": 100,
+ "direction": "Outbound"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..229e59a81804
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..14306fdfd40a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..e8cee5c63982
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "80",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 130,
+ "direction": "Inbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..3055be7948ab
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "securityRules": [ ],
+ "defaultSecurityRules": [
+ {
+ "name": "AllowVnetInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowAzureLoadBalancerInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow inbound traffic from azure load balancer",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "AzureLoadBalancer",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "DenyAllInBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all inbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Inbound"
+ }
+ },
+ {
+ "name": "AllowVnetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to all VMs in VNET",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "VirtualNetwork",
+ "destinationAddressPrefix": "VirtualNetwork",
+ "access": "Allow",
+ "priority": 65000,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "AllowInternetOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Allow outbound traffic from all VMs to Internet",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "Internet",
+ "access": "Allow",
+ "priority": 65001,
+ "direction": "Outbound"
+ }
+ },
+ {
+ "name": "DenyAllOutBound",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "description": "Deny all outbound traffic",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "*",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Deny",
+ "priority": 65500,
+ "direction": "Outbound"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..d825e05eafd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,66 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "azureLocations" : [ "West US" ],
+ "country" : "United States",
+ "state" : "washington",
+ "city" : "seattle"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "countries" : [
+ {
+ "countryName" : "United States",
+ "states" : [
+ {
+ "stateName" : "washington",
+ "cities" : [
+ {
+ "cityName" : "seattle",
+ "providers" : [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "countries" : [
+ {
+ "countryName" : "United States",
+ "states" : [
+ {
+ "stateName" : "washington",
+ "cities" : [
+ {
+ "cityName" : "seattle",
+ "providers" : [
+ "Comcast Cable Communications, Inc. - ASN 7922",
+ "Comcast Cable Communications, LLC - ASN 7922",
+ "Level 3 Communications, Inc. (GBLX) - ASN 3549",
+ "Qwest Communications Company, LLC - ASN 209"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..a747ba7bd58b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "providerLocation" : {
+ "country" : "United States",
+ "state" : "washington"
+ },
+ "providers" : [
+ "Frontier Communications of America, Inc. - ASN 5650"
+ ],
+ "azureLocations" : [
+ "West US"
+ ],
+ "startTime": "2017-09-07T00:00:00Z",
+ "endTime": "2017-09-10T00:00:00Z"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "aggregationLevel" : "State",
+ "providerLocation" : {
+ "country" : "United States",
+ "state" : "washington"
+ },
+ "reachabilityReport" : [
+ {
+ "provider" : "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "aggregationLevel" : "State",
+ "providerLocation" : {
+ "country" : "United States",
+ "state" : "washington"
+ },
+ "reachabilityReport" : [
+ {
+ "provider" : "Frontier Communications of America, Inc. - ASN 5650",
+ "azureLocation": "West US",
+ "latencies": [
+ {
+ "timeStamp": "2017-09-07T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-08T00:00:00Z",
+ "score": 94
+ },
+ {
+ "timeStamp": "2017-09-09T00:00:00Z",
+ "score": 94
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorCreate.json
new file mode 100644
index 000000000000..d15d6cc4f9f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorCreate.json
@@ -0,0 +1,70 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1",
+ "location": "centraluseuap",
+ "parameters" : {
+ "properties": {
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60
+ }
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties" : {
+ "provisioningState": "Updating",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "monitoringStatus": "NotStarted"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ },
+ "200" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"",
+ "properties" : {
+ "provisioningState": "Updating",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "monitoringStatus": "NotStarted"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorDelete.json
new file mode 100644
index 000000000000..9919516c03ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorGet.json
new file mode 100644
index 000000000000..f16da06147da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorList.json
new file mode 100644
index 000000000000..f5e5a7df90d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "cm1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
+ "port": 0
+ },
+ "destination": {
+ "address": "bing.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 60,
+ "autoStart": true,
+ "startTime": "2018-01-08T03:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ },
+ {
+ "name" : "cm2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "source": {
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm2",
+ "port": 0
+ },
+ "destination": {
+ "address": "google.com",
+ "port": 80
+ },
+ "monitoringIntervalInSeconds": 30,
+ "autoStart": true,
+ "startTime": "2018-01-08T05:42:33.3387305Z",
+ "monitoringStatus": "Running"
+ },
+ "location": "centraluseuap",
+ "type": "Microsoft.Network/networkWatchers/connectionMonitors"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorQuery.json
new file mode 100644
index 000000000000..46303ea8f9a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorQuery.json
@@ -0,0 +1,75 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "states" : [
+ {
+ "connectionState" : "Reachable",
+ "startTime" : "2018-01-08T03:42:33.3387305Z",
+ "endTime" : "2018-01-08T05:12:41.5265438Z",
+ "evaluationState" : "Completed",
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "states" : [
+ {
+ "connectionState" : "Reachable",
+ "startTime" : "2018-01-08T03:42:33.3387305Z",
+ "endTime" : "2018-01-08T05:12:41.5265438Z",
+ "evaluationState" : "Completed",
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorStart.json
new file mode 100644
index 000000000000..7f86aa675614
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorStop.json
new file mode 100644
index 000000000000..7f86aa675614
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectionMonitorStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..837565dd4fb3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,79 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "source" : {
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ },
+ "destination" : {
+ "address" : "192.168.100.4",
+ "port" : 3389
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwork",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ],
+ "connectionStatus" : "Connected",
+ "avgLatencyInMs" : 1,
+ "minLatencyInMs" : 1,
+ "maxLatencyInMs" : 4,
+ "probesSent" : 100,
+ "probesFailed" : 0
+ }
+ },
+ "202" : {
+ "body" : {
+ "hops" : [
+ {
+ "type" : "Source",
+ "id" : "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address" : "10.1.1.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1",
+ "nextHopIds" : [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues" : []
+ },
+ {
+ "type" : "VirtualNetwor",
+ "id" : "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address" : "192.168.100.4",
+ "resourceId" : "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1",
+ "nextHopIds" : [],
+ "issues" : []
+ }
+ ],
+ "connectionStatus" : "Connected",
+ "avgLatencyInMs" : 1,
+ "minLatencyInMs" : 1,
+ "maxLatencyInMs" : 4,
+ "probesSent" : 100,
+ "probesFailed" : 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..ae18ddba8d2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters": {
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..11d2b3c44c8f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "202" : {},
+ "204" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..edd79d856e50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ },
+ "202" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..484d19c01bda
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ },
+ "202" : {
+ "body" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "enabled" : true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..953373d6c432
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..551fba454393
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "direction" : "Outbound",
+ "protocol" : "TCP",
+ "localPort" : "80",
+ "remotePort" : "80",
+ "localIPAddress" : "10.2.0.4",
+ "remoteIPAddress" : "121.10.1.1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "access" : "Allow",
+ "ruleName" : "Rule1"
+ }
+ },
+ "202" : {
+ "body" : {
+ "access" : "Allow",
+ "ruleName" : "Rule1"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..bb74f91f3b7c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherList.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "name" : "nw2",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..74c5ee516ec2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "name" : "nw1",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "name" : "nw2",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..8bd8aa44b89d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "sourceIPAddress" : "10.0.0.5",
+ "destinationIPAddress" : "10.0.0.10",
+ "targetNicResourceId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "nextHopType" : "VnetLocal",
+ "nextHopIpAddress" : "10.0.0.1",
+ "routeTableId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1"
+ }
+ },
+ "202" : {
+ "body" : {
+ "nextHopType" : "VnetLocal",
+ "nextHopIpAddress" : "10.0.0.1",
+ "routeTableId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..2dc2771ec7d7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1",
+ "parameters" : {
+ "properties" : {
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag": "W/\"a3a2b157-1edc-44c2-a759-f881be9f0069\"",
+ "properties" : {
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ],
+ "provisioningState" : "Updating"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..81735b0f1520
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..cabdd75e8a21
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ],
+ "provisioningState" : "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..4d2e30da93aa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime" : "2016-01-08T03:42:33.3387305Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ },
+ "202" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime" : "2016-01-08T03:42:33.3387305Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..dcc53defb7e4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..cc2f29d643a1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Updating",
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap",
+ "filePath" : "D:\\capture\\pc1.cap"
+ },
+ "filters" : [
+ {
+ "protocol" : "TCP",
+ "localIPAddress" : "10.0.0.4",
+ "localPort" : "80"
+ }
+ ]
+ }
+ },
+ {
+ "name" : "pc2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "bytesToCapturePerPacket" : 10000,
+ "totalBytesPerSession" : 100000,
+ "timeLimitInSeconds" : 100,
+ "storageLocation" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore",
+ "storagePath" : "https://mytestaccountname.blob.core.windows.net/capture/pc2.cap",
+ "filePath" : "D:\\capture\\pc2.cap"
+ },
+ "filters" : []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..e546157f65d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,191 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "networkInterfaces" : [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRuleAssociations" : {
+ "networkInterfaceAssociation": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRules": [
+ {
+ "name": "default-allow-rdp",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/securityRules/default-allow-rdp",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Tcp",
+ "sourcePortRange": "*",
+ "destinationPortRange": "3389",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 1000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ ]
+ },
+ "subnetAssociation" : {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "securityRules" : [
+ {
+ "name" : "fe_rule",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow Frontend",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "10.1.0.0/24",
+ "destinationAddressPrefix" : "*",
+ "access" : "Allow",
+ "priority" : 100,
+ "direction" : "Inbound"
+ }
+ }
+ ]
+ },
+ "defaultSecurityRules" : [
+ {
+ "name" : "AllowVnetInBound",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow inbound traffic from all VMs in VNET",
+ "protocol" : "*",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "VirtualNetwork",
+ "destinationAddressPrefix" : "VirtualNetwork",
+ "access" : "Allow",
+ "priority" : 65000,
+ "direction" : "Inbound"
+ }
+ }
+ ],
+ "effectiveSecurityRules" : [
+ {
+ "name" : "DefaultOutboundDenyAll",
+ "protocol" : "All",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "0-65535",
+ "sourceAddressPrefix" : "*",
+ "destinationAddressPrefix" : "*",
+ "access" : "Deny",
+ "priority" : 65500,
+ "direction" : "Outbound"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "networkInterfaces" : [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRuleAssociations" : {
+ "networkInterfaceAssociation": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1",
+ "securityRules": [
+ {
+ "name": "default-allow-rdp",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/securityRules/default-allow-rdp",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocol": "Tcp",
+ "sourcePortRange": "*",
+ "destinationPortRange": "3389",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 1000,
+ "direction": "Inbound",
+ "sourcePortRanges": [],
+ "destinationPortRanges": [],
+ "sourceAddressPrefixes": [],
+ "destinationAddressPrefixes": []
+ }
+ }
+ ]
+ },
+ "subnetAssociation" : {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "securityRules" : [
+ {
+ "name" : "fe_rule",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow Frontend",
+ "protocol" : "Tcp",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "10.1.0.0/24",
+ "destinationAddressPrefix" : "*",
+ "access" : "Allow",
+ "priority" : 100,
+ "direction" : "Inbound"
+ }
+ }
+ ]
+ },
+ "defaultSecurityRules" : [
+ {
+ "name" : "AllowVnetInBound",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "description" : "Allow inbound traffic from all VMs in VNET",
+ "protocol" : "*",
+ "sourcePortRange" : "*",
+ "destinationPortRange" : "*",
+ "sourceAddressPrefix" : "VirtualNetwork",
+ "destinationAddressPrefix" : "VirtualNetwork",
+ "access" : "Allow",
+ "priority" : 65000,
+ "direction" : "Inbound"
+ }
+ }
+ ],
+ "effectiveSecurityRules" : [
+ {
+ "name" : "DefaultOutboundDenyAll",
+ "protocol" : "All",
+ "sourcePortRange" : "0-65535",
+ "destinationPortRange" : "0-65535",
+ "sourceAddressPrefix" : "*",
+ "destinationAddressPrefix" : "*",
+ "access" : "Deny",
+ "priority" : 65500,
+ "direction" : "Outbound"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..5368e9dbf69d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceGroupName": "rg2"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "id" : "ce592f46-8164-4bf2-ad36-b8e4acf6fb68",
+ "createdDateTime" : "2017-08-02T19:31:55.9461781Z",
+ "lastModified" : "2017-05-27T00:00:13.2005337Z",
+ "resources" : [
+ {
+ "name" : "MultiTierApp0",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/MultiTierApp0",
+ "location" : "westus",
+ "associations" : [
+ {
+ "name" : "appNic0",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic0",
+ "associationType" : "Contains"
+ },
+ {
+ "name" : "appNic10",
+ "resourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic10",
+ "associationType" : "Contains"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..5fdf40d671d3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "properties" : {
+ "storageId" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1",
+ "storagePath" : "https://st1.blob.core.windows.net/cn1"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id": "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id": "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary": "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions": [
+ {
+ "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText": "Verify"
+ },
+ {
+ "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri": "http://azure.microsoft.com/support",
+ "actionUriText": "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..0ff9d26fd1d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id": "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary" : "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail" : "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions" : [
+ {
+ "actionText" : "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri" : "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText" : "Verify"
+ },
+ {
+ "actionText" : "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri" : "http://azure.microsoft.com/support",
+ "actionUriText" : "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "startTime" : "2017-01-12T00:19:47.0442834Z",
+ "endTime" : "2017-01-12T00:20:09.914Z",
+ "code" : "UnHealthy",
+ "results" : [
+ {
+ "id" : "000000",
+ "reasonType" : "VipUnResponsive",
+ "summary" : "We are sorry, your VPN gateway is unreachable from the Internet",
+ "detail" : "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected",
+ "recommendedActions" : [
+ {
+ "actionText" : "Verify if there is a network security group (NSG) applied to the GatewaySubnet",
+ "actionUri" : "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal",
+ "actionUriText" : "Verify"
+ },
+ {
+ "actionText" : "If your VPN gateway isn't up and running by the expected resolution time, contact support",
+ "actionUri" : "http://azure.microsoft.com/support",
+ "actionUriText" : "contact support"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..22d867a478a2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "nw1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/OperationList.json
new file mode 100644
index 000000000000..7271fe22ab18
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Network/localnetworkgateways/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Get LocalNetworkGateway",
+ "description": "Gets LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/localnetworkgateways/write",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Create or update LocalNetworkGateway",
+ "description": "Creates or updates an existing LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/localnetworkgateways/delete",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "LocalNetworkGateway",
+ "operation": "Delete LocalNetworkGateway",
+ "description": "Deletes LocalNetworkGateway"
+ }
+ },
+ {
+ "name": "Microsoft.Network/networkInterfaces/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "Network Interface metric definition",
+ "operation": "Read Network Interface metric definitions",
+ "description": "Gets available metrics for the Network Interface"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "BytesSentRate",
+ "displayName": "Bytes Sent",
+ "displayDescription": "Number of bytes the Network Interface sent",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "availabilities": [
+ {
+ "timeGrain": "00:01:00",
+ "retention": "00:00:00",
+ "blobDuration": "01:00:00"
+ },
+ {
+ "timeGrain": "01:00:00",
+ "retention": "00:00:00",
+ "blobDuration": "1.00:00:00"
+ }
+ ],
+ "enableRegionalMdmAccount": false,
+ "metricFilterPattern": "^__Ready__$",
+ "fillGapWithZero": false,
+ "dimensions": [],
+ "isInternal": false
+ },
+ {
+ "name": "BytesReceivedRate",
+ "displayName": "Bytes Received",
+ "displayDescription": "Number of bytes the Network Interface received",
+ "unit": "Count",
+ "aggregationType": "Total",
+ "availabilities": [
+ {
+ "timeGrain": "00:01:00",
+ "retention": "00:00:00",
+ "blobDuration": "01:00:00"
+ },
+ {
+ "timeGrain": "01:00:00",
+ "retention": "00:00:00",
+ "blobDuration": "1.00:00:00"
+ }
+ ],
+ "enableRegionalMdmAccount": false,
+ "metricFilterPattern": "^__Ready__$",
+ "fillGapWithZero": false,
+ "dimensions": [],
+ "isInternal": false
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.Network/networksecuritygroups/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Network",
+ "resource": "Network Security Groups Log Definitions",
+ "operation": "Get Network Security Group Event Log Definitions",
+ "description": "Gets the events for network security group"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "NetworkSecurityGroupEvent",
+ "displayName": "Network Security Group Event",
+ "blobDuration": "PT1H"
+ },
+ {
+ "name": "NetworkSecurityGroupRuleCounter",
+ "displayName": "Network Security Group Rule Counter",
+ "blobDuration": "PT1H"
+ },
+ {
+ "name": "NetworkSecurityGroupFlowEvent",
+ "displayName": "Network Security Group Rule Flow Event",
+ "blobDuration": "PT1H"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..007ac0dd93e5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,63 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "zones": [ "1" ],
+ "parameters": {
+ "properties": {
+ "publicIPAllocationMethod": "Static",
+ "idleTimeoutInMinutes": 10,
+ "publicIPAddressVersion": "IPv4"
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Static",
+ "idleTimeoutInMinutes" : 10,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Static",
+ "idleTimeoutInMinutes" : 10,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..6afed121f751
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,51 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "sku": {
+ "name": "Basic"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..92316fdaaaa2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,59 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {
+ "properties": {
+ "dnsSettings": {
+ "domainNameLabel": "dnslbl"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "dnslbl",
+ "fqdn" : "dnslbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "dnslbl",
+ "fqdn" : "dnslbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..996f1cd977d7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..347ca0e532cf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "testDNS-ip"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ },
+ "ipTags" : [
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "SQL"
+ },
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "Storage"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..2d46acd88371
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ },
+ "ipTags" : [
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "SQL"
+ },
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "Storage"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ },
+ {
+ "name" : "ip03",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/ip03",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipAddress" : "40.85.154.247",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "testlbl",
+ "fqdn" : "testlbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..706558bc32fb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ },
+ {
+ "name" : "ip01",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/ip01",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipAddress" : "40.85.154.247",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Dynamic",
+ "idleTimeoutInMinutes" : 4,
+ "dnsSettings" : {
+ "domainNameLabel" : "testlbl",
+ "fqdn" : "testlbl.westus.cloudapp.azure.com"
+ },
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd"
+ }
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..b80ee18fc27c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "publicIPAllocationMethod" : "Static",
+ "idleTimeoutInMinutes" : 10,
+ "ipConfiguration" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1"
+ }
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type" : "Microsoft.Network/publicIPAddresses"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..78ee9e0ba5ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterCreate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "routeFilterParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "rules": [
+ {
+ "name": "ruleName",
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": [ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": [ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..bd2e2dafffde
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..4df644b525bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..53746a2091eb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..febfe03e849e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..a997f8463aa4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..803c86b0fe93
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..f33d5fb47d2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..3816176b44bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "routeFilterName": "filterName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleUpdate.json
new file mode 100644
index 000000000000..309c3d9211bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterRuleUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "routeFilterRuleParameters": {
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030",
+ "12076:5040"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterUpdate.json
new file mode 100644
index 000000000000..c07f7cf95611
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteFilterUpdate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "routeFilterParameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "rules": [
+ {
+ "name": "ruleName",
+ "properties": {
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "filterName",
+ "type": "Microsofot.Network/routeFilters",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/routeFilters/filterName/routeFilterRules/ruleName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "ruleName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "access": "Allow",
+ "routeFilterRuleType": "Community",
+ "communities": [
+ "12076:5030"
+ ]
+ }
+ }
+ ],
+ "peerings": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..72b47ece7932
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableCreate.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [ ],
+ "disableBgpRoutePropagation": true
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..192a9a011497
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,69 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..e2c9d47804fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..ba4dbe7fae55
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": false,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..f35f9f6720cf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "testrt2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt2",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "provisioningState": "Succeeded",
+ "routes": [ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..822d01d5a90a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "testrt3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/testrt3",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..62d04d59f6e5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1",
+ "routeParameters": {
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..aefe6c582ba0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..b71d5da52ffb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "Internet"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..c817c3472392
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "route1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "Internet"
+ }
+ },
+ {
+ "name": "route2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.2.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..986c6d0210b9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testrt",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt",
+ "type": "Microsoft.Network/routeTables",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routes": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..a5cbf8ce1e3f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsofot.Network/bgpServiceCommunities/skype",
+ "name": "skype",
+ "type": "Microsofot.Network/bgpServiceCommunities",
+ "properties": {
+ "serviceName" : "skype",
+ "bgpCommunities": [
+ {
+ "serviceSupportedRegion": "Global",
+ "communityName": "Skype For Business Online",
+ "communityValue": "12076:5030",
+ "communityPrefixes": [
+ "13.67.56.225/32",
+ "13.67.186.105/32"
+ ],
+ "isAuthorizedToUse": true,
+ "serviceGroup" : "O365"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsofot.Network/bgpServiceCommunities/exchange",
+ "name": "exchange",
+ "type": "Microsofot.Network/bgpServiceCommunities",
+ "properties": {
+ "serviceName" : "exchange",
+ "bgpCommunities": [
+ {
+ "serviceSupportedRegion": "Global",
+ "communityName": "Exchange Online",
+ "communityValue": "12076:5040",
+ "communityPrefixes": [
+ "13.67.56.225/32",
+ "13.67.186.105/32"
+ ],
+ "isAuthorizedToUse": true,
+ "serviceGroup" : "O365"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..2ff878c8d73d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "subnetParameters": {
+ "properties": {
+ "addressPrefix": "10.0.0.0/16"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..9675e79735ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "subnetParameters": {
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ { "service": "Microsoft.Storage" }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [{
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ],
+ "provisioningState": "Succeeded"
+ }],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [{
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ],
+ "provisioningState": "Succeeded"
+ }],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..559afd59ea11
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..d137a637ad3c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetList.json
new file mode 100644
index 000000000000..0f8ef6c87578
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1",
+ "name": "subnet1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet2",
+ "name": "subnet2",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/UsageList.json
new file mode 100644
index 000000000000..df00e0891aac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 8.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/VirtualNetworks",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Virtual Networks",
+ "value": "VirtualNetworks"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/StaticPublicIPAddresses",
+ "limit": 20.0,
+ "name": {
+ "localizedValue": "Static Public IP Addresses",
+ "value": "StaticPublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkSecurityGroups",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Network Security Groups",
+ "value": "NetworkSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 8.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PublicIPAddresses",
+ "limit": 60.0,
+ "name": {
+ "localizedValue": "Public IP Addresses",
+ "value": "PublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkInterfaces",
+ "limit": 350.0,
+ "name": {
+ "localizedValue": "Network Interfaces",
+ "value": "NetworkInterfaces"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/LoadBalancers",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Load Balancers",
+ "value": "LoadBalancers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/ApplicationGateways",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Application Gateways",
+ "value": "ApplicationGateways"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteTables",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Route Tables",
+ "value": "RouteTables"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilters",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Route Filters",
+ "value": "RouteFilters"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkWatchers",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Network Watchers",
+ "value": "NetworkWatchers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PacketCaptures",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Packet Captures",
+ "value": "PacketCaptures"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/DnsServersPerVirtualNetwork",
+ "limit": 9.0,
+ "name": {
+ "localizedValue": "DNS servers per Virtual Network",
+ "value": "DnsServersPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SubnetsPerVirtualNetwork",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Subnets per Virtual Network",
+ "value": "SubnetsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/IPConfigurationsPerVirtualNetwork",
+ "limit": 4096.0,
+ "name": {
+ "localizedValue": "IP Configurations per Virtual Network",
+ "value": "IPConfigurationsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PeeringsPerVirtualNetwork",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Peerings per Virtual Network",
+ "value": "PeeringsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerNetworkSecurityGroup",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Security rules per Network Security Group",
+ "value": "SecurityRulesPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup",
+ "limit": 2000.0,
+ "name": {
+ "localizedValue": "Security rules addresses or ports per Network Security Group",
+ "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerLoadBalancer",
+ "limit": 150.0,
+ "name": {
+ "localizedValue": "Inbound Rules per Load Balancer",
+ "value": "InboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/FrontendIPConfigurationPerLoadBalancer",
+ "limit": 10.0,
+ "name": {
+ "localizedValue": "Frontend IP Configurations per Load Balancer",
+ "value": "FrontendIPConfigurationPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/OutboundNatRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound NAT Rules per Load Balancer",
+ "value": "OutboundNatRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RoutesPerRouteTable",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Routes per Route Table",
+ "value": "RoutesPerRouteTable"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecondaryIPConfigurationsPerNetworkInterface",
+ "limit": 256.0,
+ "name": {
+ "localizedValue": "Secondary IP Configurations per Network Interface",
+ "value": "SecondaryIPConfigurationsPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerNetworkInterface",
+ "limit": 500.0,
+ "name": {
+ "localizedValue": "Inbound rules per Network Interface",
+ "value": "InboundRulesPerNetworkInterface"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilterRulesPerRouteFilter",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filter rules per Route Filter",
+ "value": "RouteFilterRulesPerRouteFilter"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFiltersPerExpressRouteBgpPeering",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Route filters per Express route BGP Peering",
+ "value": "RouteFiltersPerExpressRouteBgpPeering"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..29911a7d2759
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "IPAddress": "10.0.1.4"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "available": false,
+ "availableIPAddresses": [
+ "10.0.1.5",
+ "10.0.1.6",
+ "10.0.1.7",
+ "10.0.1.8",
+ "10.0.1.9"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..a9c84e795937
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "location": "westus",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..ffab5da3842b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,110 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "vnetTest",
+ "virtualNetworkName" : "vnet1",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "serviceEndpoints": [
+ {
+ "service": "Microsoft.Storage"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "vnet1",
+ "id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "ipConfigurations": [],
+ "resourceNavigationLinks": [],
+ "serviceEndpoints": [
+ {
+ "provisioningState": "Succeeded",
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "vnet1",
+ "id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/16",
+ "ipConfigurations": [],
+ "resourceNavigationLinks": [],
+ "serviceEndpoints": [
+ {
+ "provisioningState": "Succeeded",
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..f041e83e3486
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,81 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..944593e357ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..f59d0299a60f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkGatewayConnectionName": "test",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/test",
+ "type": "Microsoft.Network/connections",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw"
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw"
+ },
+ "connectionType": "IPsec",
+ "routingWeight": 0,
+ "sharedKey": "temp1234",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "connectionStatus": "Unknown",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..80953d4510c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,62 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testpub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 2
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.254",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..fd00c42f364e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2018-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test-vpn-connection",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/connections/test-vpn-connection",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "type": "Microsoft.Network/connections",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-1"
+ },
+ "virtualNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/testrg-2/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-2"
+ },
+ "connectionType": "Vnet2Vnet",
+ "routingWeight": 22,
+ "enableBgp": true,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..3a4423d01e1f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [{
+ "name" : "subnet1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+
+ "addressPrefix" : "10.0.1.0/24",
+ "ipConfigurations" : [{
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe"
+ }
+ ]
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..b4ef55878d13
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "name": "vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/8"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": []
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2",
+ "name": "vnet2",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": [
+ "8.8.8.8"
+ ]
+ },
+ "subnets": [],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..da9406b564ca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "name": "vnet1",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/8"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": []
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1",
+ "name": "test-1",
+ "properties": {
+ "addressPrefix": "10.0.0.0/24",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2",
+ "name": "vnet2",
+ "type": "Microsoft.Network/virtualNetworks",
+ "location": "westus",
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "dhcpOptions": {
+ "dnsServers": [
+ "8.8.8.8"
+ ]
+ },
+ "subnets": [],
+ "virtualNetworkPeerings": [],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..63cd2c0b24fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": -1.0,
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/GatewaySubnet",
+ "limit": -1.0,
+ "name": {
+ "localizedValue": "Subnet size and usage",
+ "value": "SubnetSpace"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/newSubnet",
+ "limit": 3.0,
+ "name": {
+ "localizedValue": "Subnet size and usage",
+ "value": "SubnetSpace"
+ },
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..c34c97bd05e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid",
+ "VirtualNetworkPeeringParameters": {
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..0e456831751a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..458522b922d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..f2685dec455a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-01-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": true,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "12.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2",
+ "name": "peer",
+ "properties": {
+ "allowVirtualNetworkAccess": true,
+ "allowForwardedTraffic": false,
+ "allowGatewayTransit": false,
+ "useRemoteGateways": false,
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3"
+ },
+ "remoteAddressSpace": {
+ "addressPrefixes": [
+ "13.0.0.0/8"
+ ]
+ },
+ "peeringState": "Initiated",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..bedabceb0b7c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2018-01-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "location": "westus",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..6a309c899c6b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceGet.json
@@ -0,0 +1,65 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkInterfaceName" : "nic1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "nic1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipConfigurations" : [
+ {
+ "name" : "ip1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "privateIPAddress" : "10.0.0.5",
+ "privateIPAllocationMethod" : "Dynamic",
+ "publicIPAddress" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary" : true,
+ "privateIPAddressVersion" : "IPv4",
+ "loadBalancerBackendAddressPools" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules" : [
+ {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings" : {
+ "dnsServers" : [],
+ "appliedDnsServers" : [],
+ "internalDomainNameSuffix" : "dns.cdmx.internal.cloudapp.net"
+ },
+ "macAddress" : "00-00-00-00-00-00",
+ "enableAcceleratedNetworking" : false,
+ "enableIPForwarding" : false,
+ "networkSecurityGroup" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary" : true,
+ "virtualMachine" : {
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..50253777dc63
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceIpConfigGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "2",
+ "networkInterfaceName": "nic1",
+ "ipConfigurationName": "ip1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.6",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..fe4db041f128
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceIpConfigList.json
@@ -0,0 +1,42 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "2",
+ "networkInterfaceName": "nic1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.6",
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..01cc5ea64615
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssNetworkInterfaceList.json
@@ -0,0 +1,118 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nic1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.4",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.0"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0"
+ }
+ }
+ },
+ {
+ "name": "nic1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.5",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..6163cda40a8d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssPublicIpGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2017-03-30",
+ "subscriptionId": "subid",
+ "virtualmachineIndex": 1,
+ "networkInterfaceName": "nic1",
+ "ipConfigurationName": "ip1",
+ "publicIpAddressName": "pub1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm1.testvmssacc",
+ "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.119.72",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..5d20af64ab0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssPublicIpListAll.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2017-03-30",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm1.testvmssacc",
+ "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.119.72",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm3.testvmssacc",
+ "fqdn": "vm3.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.118.216",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..36e0b86265c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssVmNetworkInterfaceList.json
@@ -0,0 +1,68 @@
+{
+ "parameters" : {
+ "api-version" : "2017-03-30",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualMachineScaleSetName": "vmss1",
+ "virtualmachineIndex": "1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "nic1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ip1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAddress": "10.0.0.5",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ },
+ "primary": true,
+ "privateIPAddressVersion": "IPv4",
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1"
+ }
+ ],
+ "loadBalancerInboundNatRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1"
+ }
+ ]
+ }
+ }
+ ],
+ "dnsSettings": {
+ "dnsServers": [],
+ "appliedDnsServers": [],
+ "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net"
+ },
+ "macAddress": "00-00-00-00-00-00",
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "networkSecurityGroup": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1"
+ },
+ "primary": true,
+ "virtualMachine": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..5f179ef0a801
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/examples/VmssVmPublicIpList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "virtualMachineScaleSetName": "vmss1",
+ "resourceGroupName": "vmss-tester",
+ "api-version": "2017-03-30",
+ "subscriptionId": "subid",
+ "virtualmachineIndex": 1,
+ "networkInterfaceName": "nic1",
+ "ipConfigurationName": "ip1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1",
+ "name": "pub1",
+ "properties": {
+ "publicIPAllocationMethod": "Dynamic",
+ "publicIPAddressVersion": "IPv4",
+ "ipConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1"
+ },
+ "dnsSettings": {
+ "domainNameLabel": "vm1.testvmssacc",
+ "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com"
+ },
+ "ipAddress": "13.67.119.72",
+ "idleTimeoutInMinutes": 10,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..d03cb19fe98f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/expressRouteCircuit.json
@@ -0,0 +1,1622 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_Delete",
+ "description": "Deletes the specified authorization from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "authorizationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the authorization."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_Get",
+ "description": "Gets the specified authorization from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "authorizationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the authorization."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate",
+ "description": "Creates or updates an authorization in the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "authorizationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the authorization."
+ },
+ {
+ "name": "authorizationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ },
+ "description": "Parameters supplied to the create or update express route circuit authorization operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitAuthorizations"
+ ],
+ "operationId": "ExpressRouteCircuitAuthorizations_List",
+ "description": "Gets all authorizations in an express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_Delete",
+ "description": "Deletes the specified peering from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_Get",
+ "description": "Gets the specified authorization from the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate",
+ "description": "Creates or updates a peering in the specified express route circuits.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "peeringParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "Parameters supplied to the create or update express route circuit peering operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_List",
+ "description": "Gets all peerings in a specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_Delete",
+ "description": "Deletes the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. Sets 'Disabling' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_Get",
+ "description": "Gets information about the specified express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_CreateOrUpdate",
+ "description": "Creates or updates an express route circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the circuit."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ },
+ "description": "Parameters supplied to the create or update express route circuit operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_UpdateTags",
+ "description": "Updates an express route circuit tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the circuit."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update express route circuit tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Express Route Circuit Tags": { "$ref": "./examples/ExpressRouteCircuitUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCircuitArpTable"
+ ],
+ "operationId": "ExpressRouteCircuits_ListArpTable",
+ "description": "Gets the currently advertised ARP table associated with the express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "devicePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path of the device."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsArpTable resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitsArpTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCircuitRoutesTable"
+ ],
+ "operationId": "ExpressRouteCircuits_ListRoutesTable",
+ "description": "Gets the currently advertised routes table associated with the express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "devicePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path of the device."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCircuitRoutesTableSummary"
+ ],
+ "operationId": "ExpressRouteCircuits_ListRoutesTableSummary",
+ "description": "Gets the currently advertised routes table summary associated with the express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "devicePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path of the device."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRoutesTableSummary resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableSummaryListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitStats"
+ ],
+ "operationId": "ExpressRouteCircuits_GetStats",
+ "description": "Gets all the stats from an express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitStats"
+ ],
+ "operationId": "ExpressRouteCircuits_GetPeeringStats",
+ "description": "Gets all stats from an express route circuit in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "circuitName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_List",
+ "description": "Gets all the express route circuits in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_ListAll",
+ "description": "Gets all the express route circuits in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": {
+ "get": {
+ "tags": [
+ "ExpressRouteServiceProviders"
+ ],
+ "operationId": "ExpressRouteServiceProviders_List",
+ "description": "Gets all the available express route service providers.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteServiceProdiver resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AuthorizationPropertiesFormat": {
+ "properties": {
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorization key."
+ },
+ "authorizationUseStatus": {
+ "type": "string",
+ "description": "AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'.",
+ "enum": [
+ "Available",
+ "InUse"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationUseStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRouteCircuitAuthorization": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Authorization in an ExpressRouteCircuit resource."
+ },
+ "AuthorizationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ },
+ "description": "The authorizations in an ExpressRoute Circuit."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitPeeringConfig": {
+ "properties": {
+ "advertisedPublicPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The reference of AdvertisedPublicPrefixes."
+ },
+ "advertisedCommunities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The communities of bgp peering. Spepcified for microsoft peering"
+ },
+ "advertisedPublicPrefixesState": {
+ "type": "string",
+ "description": "AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'.",
+ "enum": [
+ "NotConfigured",
+ "Configuring",
+ "Configured",
+ "ValidationNeeded"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState",
+ "modelAsString": true
+ }
+ },
+ "legacyMode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The legacy mode of the peering."
+ },
+ "customerASN": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The CustomerASN of the peering."
+ },
+ "routingRegistryName": {
+ "type": "string",
+ "description": "The RoutingRegistryName of the configuration."
+ }
+ },
+ "description": "Specifies the peering configuration."
+ },
+ "Ipv6ExpressRouteCircuitPeeringConfig": {
+ "properties": {
+ "primaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The primary address prefix."
+ },
+ "secondaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The secondary address prefix."
+ },
+ "microsoftPeeringConfig": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
+ "description": "The Microsoft peering configuration."
+ },
+ "routeFilter": {
+ "$ref": "./routeFilter.json#/definitions/RouteFilter",
+ "description": "The reference of the RouteFilter resource."
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of peering. Possible values are: 'Disabled' and 'Enabled'",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Contains IPv6 peering config."
+ },
+ "ExpressRouteCircuitStats": {
+ "properties": {
+ "primarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesIn of the peering."
+ },
+ "primarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesOut of the peering."
+ },
+ "secondarybytesIn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesIn of the peering."
+ },
+ "secondarybytesOut": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets BytesOut of the peering."
+ }
+ },
+ "description": "Contains stats associated with the peering."
+ },
+ "ExpressRouteCircuitPeeringPropertiesFormat": {
+ "properties": {
+ "peeringType": {
+ "type": "string",
+ "description": "The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'.",
+ "enum": [
+ "AzurePublicPeering",
+ "AzurePrivatePeering",
+ "MicrosoftPeering"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringType",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of peering. Possible values are: 'Disabled' and 'Enabled'",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitPeeringState",
+ "modelAsString": true
+ }
+ },
+ "azureASN": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Azure ASN."
+ },
+ "peerASN": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 1,
+ "maximum": 4294967295,
+ "description": "The peer ASN."
+ },
+ "primaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The primary address prefix."
+ },
+ "secondaryPeerAddressPrefix": {
+ "type": "string",
+ "description": "The secondary address prefix."
+ },
+ "primaryAzurePort": {
+ "type": "string",
+ "description": "The primary port."
+ },
+ "secondaryAzurePort": {
+ "type": "string",
+ "description": "The secondary port."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The shared key."
+ },
+ "vlanId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The VLAN ID."
+ },
+ "microsoftPeeringConfig": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
+ "description": "The Microsoft peering configuration."
+ },
+ "stats": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats",
+ "description": "Gets peering stats."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Gets whether the provider or the customer last modified the peering."
+ },
+ "routeFilter": {
+ "$ref": "./routeFilter.json#/definitions/RouteFilter",
+ "description": "The reference of the RouteFilter resource."
+ },
+ "ipv6PeeringConfig": {
+ "$ref": "#/definitions/Ipv6ExpressRouteCircuitPeeringConfig",
+ "description": "The IPv6 peering configuration."
+ }
+ }
+ },
+ "ExpressRouteCircuitPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Peering in an ExpressRouteCircuit resource."
+ },
+ "ExpressRouteCircuitPeeringListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "The peerings in an express route circuit."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the SKU. Possible values are 'Standard' and 'Premium'.",
+ "enum": [
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitSkuTier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "type": "string",
+ "description": "The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'.",
+ "enum": [
+ "UnlimitedData",
+ "MeteredData"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteCircuitSkuFamily",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Contains SKU in an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitServiceProviderProperties": {
+ "properties": {
+ "serviceProviderName": {
+ "type": "string",
+ "description": "The serviceProviderName."
+ },
+ "peeringLocation": {
+ "type": "string",
+ "description": "The peering location."
+ },
+ "bandwidthInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The BandwidthInMbps."
+ }
+ },
+ "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitPropertiesFormat": {
+ "properties": {
+ "allowClassicOperations": {
+ "type": "boolean",
+ "description": "Allow classic operations"
+ },
+ "circuitProvisioningState": {
+ "type": "string",
+ "description": "The CircuitProvisioningState state of the resource."
+ },
+ "serviceProviderProvisioningState": {
+ "type": "string",
+ "description": "The ServiceProviderProvisioningState state of the resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'.",
+ "enum": [
+ "NotProvisioned",
+ "Provisioning",
+ "Provisioned",
+ "Deprovisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceProviderProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "authorizations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ },
+ "description": "The list of authorizations."
+ },
+ "peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "The list of peerings."
+ },
+ "serviceKey": {
+ "type": "string",
+ "description": "The ServiceKey."
+ },
+ "serviceProviderNotes": {
+ "type": "string",
+ "description": "The ServiceProviderNotes."
+ },
+ "serviceProviderProperties": {
+ "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties",
+ "description": "The ServiceProviderProperties."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "gatewayManagerEtag": {
+ "type": "string",
+ "description": "The GatewayManager Etag."
+ }
+ },
+ "description": "Properties of ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuit": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ExpressRouteCircuitSku",
+ "description": "The SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat"
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "ExpressRouteCircuit resource"
+ },
+ "ExpressRouteCircuitArpTable": {
+ "properties": {
+ "age": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Age"
+ },
+ "interface": {
+ "type": "string",
+ "description": "Interface"
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The IP address."
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "The MAC address."
+ }
+ },
+ "description": "The ARP table associated with the ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitsArpTableListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitArpTable"
+ },
+ "description": "Gets list of the ARP table."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListArpTable associated with the Express Route Circuits API."
+ },
+ "ExpressRouteCircuitRoutesTable": {
+ "properties": {
+ "network": {
+ "type": "string",
+ "description": "network"
+ },
+ "nextHop": {
+ "type": "string",
+ "description": "nextHop"
+ },
+ "locPrf": {
+ "type": "string",
+ "description": "locPrf"
+ },
+ "weight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "weight."
+ },
+ "path": {
+ "type": "string",
+ "description": "path"
+ }
+ },
+ "description": "The routes table associated with the ExpressRouteCircuit"
+ },
+ "ExpressRouteCircuitsRoutesTableListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitRoutesTable"
+ },
+ "description": "The list of routes table."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListRoutesTable associated with the Express Route Circuits API."
+ },
+ "ExpressRouteCircuitRoutesTableSummary": {
+ "properties": {
+ "neighbor": {
+ "type": "string",
+ "description": "Neighbor"
+ },
+ "v": {
+ "type": "integer",
+ "format": "int32",
+ "description": "BGP version number spoken to the neighbor."
+ },
+ "as": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Autonomous system number."
+ },
+ "upDown": {
+ "type": "string",
+ "description": "The length of time that the BGP session has been in the Established state, or the current status if not in the Established state."
+ },
+ "statePfxRcd": {
+ "type": "string",
+ "description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group."
+ }
+ },
+ "description": "The routes table associated with the ExpressRouteCircuit."
+ },
+ "ExpressRouteCircuitsRoutesTableSummaryListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitRoutesTableSummary"
+ },
+ "description": "A list of the routes table."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListRoutesTable associated with the Express Route Circuits API."
+ },
+ "ExpressRouteCircuitListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ },
+ "description": "A list of ExpressRouteCircuits in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListExpressRouteCircuit API service call."
+ },
+ "ExpressRouteServiceProviderBandwidthsOffered": {
+ "properties": {
+ "offerName": {
+ "type": "string",
+ "description": "The OfferName."
+ },
+ "valueInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ValueInMbps."
+ }
+ },
+ "description": "Contains bandwidths offered in ExpressRouteServiceProvider resources."
+ },
+ "ExpressRouteServiceProviderPropertiesFormat": {
+ "properties": {
+ "peeringLocations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Get a list of peering locations."
+ },
+ "bandwidthsOffered": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered"
+ },
+ "description": "Gets bandwidths offered."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the resource."
+ }
+ },
+ "description": "Properties of ExpressRouteServiceProvider."
+ },
+ "ExpressRouteServiceProvider": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A ExpressRouteResourceProvider object."
+ },
+ "ExpressRouteServiceProviderListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteServiceProvider"
+ },
+ "description": "A list of ExpressRouteResourceProvider resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListExpressRouteServiceProvider API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/loadBalancer.json
new file mode 100644
index 000000000000..c236645b6613
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/loadBalancer.json
@@ -0,0 +1,1674 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}": {
+ "delete": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_Delete",
+ "description": "Deletes the specified load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete load balancer": { "$ref": "./examples/LoadBalancerDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_Get",
+ "description": "Gets the specified load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get load balancer": { "$ref": "./examples/LoadBalancerGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_CreateOrUpdate",
+ "description": "Creates or updates a load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ },
+ "description": "Parameters supplied to the create or update load balancer operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create load balancer": { "$ref": "./examples/LoadBalancerCreate.json" },
+ "Create load balancer with inbound nat pool": { "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_UpdateTags",
+ "description": "Updates a load balancer tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update load balancer tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting LoadBalancer resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update load balancer tags": { "$ref": "./examples/LoadBalancerUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_ListAll",
+ "description": "Gets all the load balancers in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all load balancers": { "$ref": "./examples/LoadBalancerListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_List",
+ "description": "Gets all the load balancers in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List load balancers in resource group": { "$ref": "./examples/LoadBalancerList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerBackendAddressPools_List",
+ "description": "Gets all the load balancer backed address pools.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer BackendAddressPool resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerBackendAddressPoolListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerBackendAddressPoolList": { "$ref": "./examples/LoadBalancerBackendAddressPoolList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerBackendAddressPools_Get",
+ "description": "Gets load balancer backend address pool.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "backendAddressPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the backend address pool."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns LoadBalancer BackendAddressPool resource.",
+ "schema": {
+ "$ref": "#/definitions/BackendAddressPool"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerBackendAddressPoolGet": { "$ref": "./examples/LoadBalancerBackendAddressPoolGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerFrontendIPConfigurations_List",
+ "description": "Gets all the load balancer frontend IP configurations.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer FrontendIPConfiguration resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerFrontendIPConfigurationList": { "$ref": "./examples/LoadBalancerFrontendIPConfigurationList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerFrontendIPConfigurations_Get",
+ "description": "Gets load balancer frontend IP configuration.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "frontendIPConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the frontend IP configuration."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns LoadBalancer FrontendIPConfiguration resource.",
+ "schema": {
+ "$ref": "#/definitions/FrontendIPConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerFrontendIPConfigurationGet": { "$ref": "./examples/LoadBalancerFrontendIPConfigurationGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_List",
+ "description": "Gets all the inbound nat rules in a load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer InboundNatRule resources.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "InboundNatRuleList": { "$ref": "./examples/InboundNatRuleList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}": {
+ "delete": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_Delete",
+ "description": "Deletes the specified load balancer inbound nat rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "inboundNatRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the inbound nat rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "InboundNatRuleDelete": { "$ref": "./examples/InboundNatRuleDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_Get",
+ "description": "Gets the specified load balancer inbound nat rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "inboundNatRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the inbound nat rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting InboundNatRule resource.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "InboundNatRuleGet": { "$ref": "./examples/InboundNatRuleGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "InboundNatRules_CreateOrUpdate",
+ "description": "Creates or updates a load balancer inbound nat rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "inboundNatRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the inbound nat rule."
+ },
+ {
+ "name": "inboundNatRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ },
+ "description": "Parameters supplied to the create or update inbound nat rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting InboundNatRule resource.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting InboundNatRule resource.",
+ "schema": {
+ "$ref": "#/definitions/InboundNatRule"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "InboundNatRuleCreate": { "$ref": "./examples/InboundNatRuleCreate.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerLoadBalancingRules_List",
+ "description": "Gets all the load balancing rules in a load balancer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer LoadBalancingRule resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerLoadBalancingRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "LoadBalancerLoadBalancingRuleList": { "$ref": "./examples/LoadBalancerLoadBalancingRuleList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerLoadBalancingRules_Get",
+ "description": "Gets the specified load balancer load balancing rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "loadBalancingRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancing rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LoadBalancingRule resource.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancingRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerLoadBalancingRuleGet": { "$ref": "./examples/LoadBalancerLoadBalancingRuleGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerNetworkInterfaces_List",
+ "description": "Gets associated load balancer network interfaces.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerNetworkInterfaceListVmss": { "$ref": "./examples/LoadBalancerNetworkInterfaceListVmss.json" },
+ "LoadBalancerNetworkInterfaceListSimple": { "$ref": "./examples/LoadBalancerNetworkInterfaceListSimple.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerProbes_List",
+ "description": "Gets all the load balancer probes.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer Probe resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerProbeListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerProbeList": { "$ref": "./examples/LoadBalancerProbeList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerProbes_Get",
+ "description": "Gets load balancer probe.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the load balancer."
+ },
+ {
+ "name": "probeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the probe."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns LoadBalancer Probe resource.",
+ "schema": {
+ "$ref": "#/definitions/Probe"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerProbeGet": { "$ref": "./examples/LoadBalancerProbeGet.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LoadBalancerSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a load balancer SKU.",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerSkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of a load balancer"
+ },
+ "FrontendIPConfigurationPropertiesFormat": {
+ "properties": {
+ "inboundNatRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Read only. Inbound rules URIs that use this frontend IP."
+ },
+ "inboundNatPools": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Read only. Inbound pools URIs that use this frontend IP."
+ },
+ "outboundNatRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Read only. Outbound rules URIs that use this frontend IP."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Gets load balancing rules URIs that use this frontend IP."
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "The Private IP allocation method. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "The reference of the Public IP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Frontend IP Configuration of the load balancer."
+ },
+ "FrontendIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat",
+ "description": "Properties of the load balancer probe."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting the IP allocated for the resource needs to come from."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Frontend IP address of the load balancer."
+ },
+ "BackendAddressPoolPropertiesFormat": {
+ "properties": {
+ "backendIPConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "Gets collection of references to IP addresses defined in network interfaces."
+ },
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Gets load balancing rules that use this backend address pool."
+ },
+ "outboundNatRule": {
+ "readOnly": true,
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Gets outbound rules that use this backend address pool."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the backend address pool."
+ },
+ "BackendAddressPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendAddressPoolPropertiesFormat",
+ "description": "Properties of load balancer backend address pool."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Pool of backend IP addresses."
+ },
+ "LoadBalancingRulePropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to frontend IP addresses."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs."
+ },
+ "probe": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the load balancer probe used by the load balancing rule."
+ },
+ "protocol": {
+ "$ref": "#/definitions/TransportProtocol"
+ },
+ "loadDistribution": {
+ "type": "string",
+ "description": "The load distribution policy for this rule. Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'.",
+ "enum": [
+ "Default",
+ "SourceIP",
+ "SourceIPProtocol"
+ ],
+ "x-ms-enum": {
+ "name": "LoadDistribution",
+ "modelAsString": true
+ }
+ },
+ "frontendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables \"Any Port\""
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables \"Any Port\""
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
+ },
+ "enableFloatingIP": {
+ "type": "boolean",
+ "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
+ },
+ "disableOutboundSnat": {
+ "type": "boolean",
+ "description": "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "frontendPort"
+ ],
+ "description": "Properties of the load balancer."
+ },
+ "LoadBalancingRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoadBalancingRulePropertiesFormat",
+ "description": "Properties of load balancer load balancing rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "A load balancing rule for a load balancer."
+ },
+ "ProbePropertiesFormat": {
+ "properties": {
+ "loadBalancingRules": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The load balancer rules that use this probe."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.",
+ "enum": [
+ "Http",
+ "Tcp"
+ ],
+ "x-ms-enum": {
+ "name": "ProbeProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive."
+ },
+ "intervalInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5."
+ },
+ "numberOfProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure."
+ },
+ "requestPath": {
+ "type": "string",
+ "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "port"
+ ],
+ "description": "Load balancer probe resource."
+ },
+ "Probe": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProbePropertiesFormat",
+ "description": "Properties of load balancer probe."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "A load balancer probe."
+ },
+ "InboundNatRulePropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to frontend IP addresses."
+ },
+ "backendIPConfiguration": {
+ "readOnly": true,
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration",
+ "description": "A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP."
+ },
+ "protocol": {
+ "$ref": "#/definitions/TransportProtocol"
+ },
+ "frontendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
+ },
+ "enableFloatingIP": {
+ "type": "boolean",
+ "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the inbound NAT rule."
+ },
+ "InboundNatRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InboundNatRulePropertiesFormat",
+ "description": "Properties of load balancer inbound nat rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Inbound NAT rule of the load balancer."
+ },
+ "InboundNatPoolPropertiesFormat": {
+ "properties": {
+ "frontendIPConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to frontend IP addresses."
+ },
+ "protocol": {
+ "$ref": "#/definitions/TransportProtocol"
+ },
+ "frontendPortRangeStart": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534."
+ },
+ "frontendPortRangeEnd": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP."
+ },
+ "enableFloatingIP": {
+ "type": "boolean",
+ "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "frontendPortRangeStart",
+ "frontendPortRangeEnd",
+ "backendPort"
+ ],
+ "description": "Properties of Inbound NAT pool."
+ },
+ "InboundNatPool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InboundNatPoolPropertiesFormat",
+ "description": "Properties of load balancer inbound nat pool."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Inbound NAT pool of the load balancer."
+ },
+ "OutboundNatRulePropertiesFormat": {
+ "properties": {
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of outbound ports to be used for NAT."
+ },
+ "frontendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The Frontend IP addresses of the load balancer."
+ },
+ "backendAddressPool": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "backendAddressPool"
+ ],
+ "description": "Outbound NAT pool of the load balancer."
+ },
+ "OutboundNatRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OutboundNatRulePropertiesFormat",
+ "description": "Properties of load balancer outbound nat rule."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Outbound NAT pool of the load balancer."
+ },
+ "LoadBalancerPropertiesFormat": {
+ "properties": {
+ "frontendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FrontendIPConfiguration"
+ },
+ "description": "Object representing the frontend IPs to be used for the load balancer"
+ },
+ "backendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendAddressPool"
+ },
+ "description": "Collection of backend address pools used by a load balancer"
+ },
+ "loadBalancingRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancingRule"
+ },
+ "description": "Object collection representing the load balancing rules Gets the provisioning "
+ },
+ "probes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ },
+ "description": "Collection of probe objects used in the load balancer"
+ },
+ "inboundNatRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatRule"
+ },
+ "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules."
+ },
+ "inboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatPool"
+ },
+ "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules."
+ },
+ "outboundNatRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundNatRule"
+ },
+ "description": "The outbound NAT rules."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the load balancer resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the load balancer."
+ },
+ "LoadBalancer": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/LoadBalancerSku",
+ "description": "The load balancer SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoadBalancerPropertiesFormat",
+ "description": "Properties of load balancer."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "LoadBalancer resource"
+ },
+ "LoadBalancerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancer"
+ },
+ "description": "A list of load balancers in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListLoadBalancers API service call."
+ },
+ "InboundNatRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatRule"
+ },
+ "description": "A list of inbound nat rules in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListInboundNatRule API service call."
+ },
+ "LoadBalancerBackendAddressPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendAddressPool"
+ },
+ "description": "A list of backend address pools in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListBackendAddressPool API service call."
+ },
+ "LoadBalancerFrontendIPConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FrontendIPConfiguration"
+ },
+ "description": "A list of frontend IP configurations in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListFrontendIPConfiguration API service call."
+ },
+ "LoadBalancerLoadBalancingRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancingRule"
+ },
+ "description": "A list of load balancing rules in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListLoadBalancingRule API service call."
+ },
+ "LoadBalancerProbeListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ },
+ "description": "A list of probes in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListProbe API service call."
+ },
+ "TransportProtocol": {
+ "type": "string",
+ "description": "The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 'All.'",
+ "enum": [
+ "Udp",
+ "Tcp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "TransportProtocol",
+ "modelAsString": true
+ }
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/network.json
new file mode 100644
index 000000000000..f8fa90827cd0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/network.json
@@ -0,0 +1,167 @@
+{
+ "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-01-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": {
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkInterface.json
new file mode 100644
index 000000000000..af6db8dfe48c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkInterface.json
@@ -0,0 +1,1113 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}": {
+ "delete": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_Delete",
+ "description": "Deletes the specified network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network interface": { "$ref": "./examples/NetworkInterfaceDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_Get",
+ "description": "Gets information about the specified network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network interface": { "$ref": "./examples/NetworkInterfaceGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_CreateOrUpdate",
+ "description": "Creates or updates a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "description": "Parameters supplied to the create or update network interface operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network interface": { "$ref": "./examples/NetworkInterfaceCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_UpdateTags",
+ "description": "Updates a network interface tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network interface tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network interface tags": { "$ref": "./examples/NetworkInterfaceUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListAll",
+ "description": "Gets all network interfaces in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all network interfaces": { "$ref": "./examples/NetworkInterfaceListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_List",
+ "description": "Gets all network interfaces in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List network interfaces in resource group": { "$ref": "./examples/NetworkInterfaceList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable": {
+ "post": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_GetEffectiveRouteTable",
+ "description": "Gets all route tables applied to a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of EffectRoute resources.",
+ "schema": {
+ "$ref": "#/definitions/EffectiveRouteListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Show network interface effective route tables": { "$ref": "./examples/NetworkInterfaceEffectiveRouteTableList.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups": {
+ "post": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListEffectiveNetworkSecurityGroups",
+ "description": "Gets all network security groups applied to a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityGroupListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "List network interface effective network security groups": { "$ref": "./examples/NetworkInterfaceEffectiveNSGList.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceIPConfigurations_List",
+ "description": "Get all ip configurations in a network interface",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface IPConfiguration resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NetworkInterfaceIPConfigurationList": { "$ref": "./examples/NetworkInterfaceIPConfigurationList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceIPConfigurations_Get",
+ "description": "Gets the specified network interface ip configuration.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ip configuration name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterface IPConfiguration resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkInterfaceIPConfigurationGet": { "$ref": "./examples/NetworkInterfaceIPConfigurationGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceLoadBalancers_List",
+ "description": "List all load balancers in a network interface.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface LoadBalancer resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceLoadBalancerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NetworkInterfaceLoadBalancerList": { "$ref": "./examples/NetworkInterfaceLoadBalancerList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkInterfaceIPConfigurationPropertiesFormat": {
+ "properties": {
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool"
+ },
+ "description": "The reference of ApplicationGatewayBackendAddressPool resource."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/BackendAddressPool"
+ },
+ "description": "The reference of LoadBalancerBackendAddressPool resource."
+ },
+ "loadBalancerInboundNatRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/InboundNatRule"
+ },
+ "description": "A list of references of LoadBalancerInboundNatRules."
+ },
+ "privateIPAddress": {
+ "type": "string",
+ "description": "Private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "Subnet bound to the IP configuration."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Gets whether this is a primary customer address on the network interface."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "Public IP address bound to the IP configuration."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "Application security groups in which the IP configuration is included."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the network interface IP configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of IP configuration."
+ },
+ "NetworkInterfaceIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat",
+ "description": "Network interface IP configuration properties."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IPConfiguration in a network interface."
+ },
+ "NetworkInterfaceDnsSettings": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection."
+ },
+ "appliedDnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs."
+ },
+ "internalDnsNameLabel": {
+ "type": "string",
+ "description": "Relative DNS name for this NIC used for internal communications between VMs in the same virtual network."
+ },
+ "internalFqdn": {
+ "type": "string",
+ "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network."
+ },
+ "internalDomainNameSuffix": {
+ "type": "string",
+ "description": "Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix."
+ }
+ },
+ "description": "DNS settings of a network interface."
+ },
+ "NetworkInterfacePropertiesFormat": {
+ "properties": {
+ "virtualMachine": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of a virtual machine."
+ },
+ "networkSecurityGroup": {
+ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
+ "description": "The reference of the NetworkSecurityGroup resource."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "A list of IPConfigurations of the network interface."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/NetworkInterfaceDnsSettings",
+ "description": "The DNS settings in network interface."
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "The MAC address of the network interface."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Gets whether this is a primary network interface on a virtual machine."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "If the network interface is accelerated networking enabled."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Indicates whether IP forwarding is enabled on this network interface."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the network interface resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "NetworkInterface properties. "
+ },
+ "NetworkInterface": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfacePropertiesFormat",
+ "description": "Properties of the network interface."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "A network interface in a resource group."
+ },
+ "NetworkInterfaceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "description": "A list of network interfaces in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListNetworkInterface API service call."
+ },
+ "NetworkInterfaceIPConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "A list of ip configurations."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list ip configurations API service call."
+ },
+ "NetworkInterfaceLoadBalancerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "./loadBalancer.json#/definitions/LoadBalancer"
+ },
+ "description": "A list of load balancers."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list ip configurations API service call."
+ },
+ "EffectiveNetworkSecurityGroup": {
+ "properties": {
+ "networkSecurityGroup": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The ID of network security group that is applied."
+ },
+ "association": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityGroupAssociation",
+ "description": "Associated resources."
+ },
+ "effectiveSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityRule"
+ },
+ "description": "A collection of effective security rules."
+ },
+ "tagMap": {
+ "type": "string",
+ "additionalProperties": {
+ "type":"array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of IP Addresses within the tag (key)"
+ },
+ "description": "Mapping of tags to list of IP Addresses included within the tag."
+ }
+ },
+ "description": "Effective network security group."
+ },
+ "EffectiveNetworkSecurityGroupAssociation": {
+ "properties": {
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The ID of the subnet if assigned."
+ },
+ "networkInterface": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The ID of the network interface if assigned."
+ }
+ },
+ "description": "The effective network security group association."
+ },
+ "EffectiveNetworkSecurityRule": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the security rule specified by the user (if created by the user)."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', and 'All'.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveSecurityRuleProtocol",
+ "modelAsString": true
+ }
+ },
+ "sourcePortRange": {
+ "type": "string",
+ "description": "The source port or range."
+ },
+ "destinationPortRange": {
+ "type": "string",
+ "description": "The destination port or range."
+ },
+ "sourcePortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as seperator (e.g. 100-400), or an asterix (*)"
+ },
+ "destinationPortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as seperator (e.g. 100-400), or an asterix (*)"
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "description": "The source address prefix."
+ },
+ "destinationAddressPrefix": {
+ "type": "string",
+ "description": "The destination address prefix."
+ },
+ "sourceAddressPrefixes" : {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ },
+ "destinationAddressPrefixes" : {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ },
+ "expandedSourceAddressPrefix": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The expanded source address prefix."
+ },
+ "expandedDestinationAddressPrefix": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Expanded destination address prefix."
+ },
+ "access": {
+ "type": "string",
+ "description": "Whether network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleAccess",
+ "modelAsString": true
+ }
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority of the rule."
+ },
+ "direction": {
+ "type": "string",
+ "description": "The direction of the rule. Possible values are: 'Inbound and Outbound'.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleDirection",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Effective network security rules."
+ },
+ "EffectiveNetworkSecurityGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EffectiveNetworkSecurityGroup"
+ },
+ "description": "A list of effective network security groups."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list effective network security groups API service call."
+ },
+ "EffectiveRoute": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the user defined route. This is optional."
+ },
+ "source": {
+ "type": "string",
+ "description": "Who created the route. Possible values are: 'Unknown', 'User', 'VirtualNetworkGateway', and 'Default'.",
+ "enum": [
+ "Unknown",
+ "User",
+ "VirtualNetworkGateway",
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveRouteSource",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "The value of effective route. Possible values are: 'Active' and 'Invalid'.",
+ "enum": [
+ "Active",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "EffectiveRouteState",
+ "modelAsString": true
+ }
+ },
+ "addressPrefix": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The address prefixes of the effective routes in CIDR notation."
+ },
+ "nextHopIpAddress": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The IP address of the next hop of the effective route."
+ },
+ "nextHopType": {
+ "type": "string",
+ "description": "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'.",
+ "enum": [
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "Internet",
+ "VirtualAppliance",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "RouteNextHopType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Effective Route"
+ },
+ "EffectiveRouteListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EffectiveRoute"
+ },
+ "description": "A list of effective routes."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list effective route API service call."
+ },
+ "IPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAddress": {
+ "type": "string",
+ "description": "The private IP address of the IP configuration."
+ },
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "The private IP allocation method. Possible values are 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
+ "description": "The reference of the public IP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of IP configuration."
+ },
+ "IPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IPConfigurationPropertiesFormat",
+ "description": "Properties of the IP configuration"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..88478b5526b5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkSecurityGroup.json
@@ -0,0 +1,866 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}": {
+ "delete": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_Delete",
+ "description": "Deletes the specified network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network security group": { "$ref": "./examples/NetworkSecurityGroupDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_Get",
+ "description": "Gets the specified network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network security group": { "$ref": "./examples/NetworkSecurityGroupGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_CreateOrUpdate",
+ "description": "Creates or updates a network security group in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ },
+ "description": "Parameters supplied to the create or update network security group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network security group": { "$ref": "./examples/NetworkSecurityGroupCreate.json" },
+ "Create network security group with rule": { "$ref": "./examples/NetworkSecurityGroupCreateWithRule.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_UpdateTags",
+ "description": "Updates a network security group tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network security group tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network security group tags": { "$ref": "./examples/NetworkSecurityGroupUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups": {
+ "get": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_ListAll",
+ "description": "Gets all network security groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all network security groups": { "$ref": "./examples/NetworkSecurityGroupListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups": {
+ "get": {
+ "tags": [
+ "NetworkSecurityGroups"
+ ],
+ "operationId": "NetworkSecurityGroups_List",
+ "description": "Gets all network security groups in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSecurityGroupListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List network security groups in resource group": { "$ref": "./examples/NetworkSecurityGroupList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}": {
+ "delete": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_Delete",
+ "description": "Deletes the specified network security rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "securityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the security rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network security rule from network security group": { "$ref": "./examples/NetworkSecurityGroupRuleDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_Get",
+ "description": "Get the specified network security rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "securityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the security rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network security rule in network security group": { "$ref": "./examples/NetworkSecurityGroupRuleGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_CreateOrUpdate",
+ "description": "Creates or updates a security rule in the specified network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "securityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the security rule."
+ },
+ {
+ "name": "securityRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "Parameters supplied to the create or update network security rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create security rule": { "$ref": "./examples/NetworkSecurityGroupRuleCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules": {
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "SecurityRules_List",
+ "description": "Gets all security rules in a network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of SecurityRule resources.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRuleListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List network security rules in network security group": { "$ref": "./examples/NetworkSecurityGroupRuleList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules": {
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "DefaultSecurityRules_List",
+ "description": "Gets all default security rules in a network security group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of SecurityRule resources.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRuleListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DefaultSecurityRuleList": { "$ref": "./examples/DefaultSecurityRuleList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}" : {
+ "get": {
+ "tags": [
+ "SecurityRules"
+ ],
+ "operationId": "DefaultSecurityRules_Get",
+ "description": "Get the specified default network security rule.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkSecurityGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network security group."
+ },
+ {
+ "name": "defaultSecurityRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the default security rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting SecurityRule resource.",
+ "schema": {
+ "$ref": "#/definitions/SecurityRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DefaultSecurityRuleGet": { "$ref": "./examples/DefaultSecurityRuleGet.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SecurityRulePropertiesFormat": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for this rule. Restricted to 140 chars."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'.",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "*"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleProtocol",
+ "modelAsString": true
+ }
+ },
+ "sourcePortRange": {
+ "type": "string",
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ },
+ "destinationPortRange": {
+ "type": "string",
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "description": "The CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. "
+ },
+ "sourceAddressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The CIDR or source IP ranges."
+ },
+ "sourceApplicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "The application security group specified as source."
+ },
+ "destinationAddressPrefix": {
+ "type": "string",
+ "description": "The destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
+ },
+ "destinationAddressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination address prefixes. CIDR or destination IP ranges."
+ },
+ "destinationApplicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup"
+ },
+ "description": "The application security group specified as destination."
+ },
+ "sourcePortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The source port."
+ },
+ "description": "The source port ranges."
+ },
+ "destinationPortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The destination port."
+ },
+ "description": "The destination port ranges."
+ },
+ "access": {
+ "type": "string",
+ "description": "The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleAccess",
+ "modelAsString": true
+ }
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule."
+ },
+ "direction": {
+ "type": "string",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outcoming traffic. Possible values are: 'Inbound' and 'Outbound'.",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityRuleDirection",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "protocol",
+ "access",
+ "direction"
+ ],
+ "description": "Security rule resource."
+ },
+ "SecurityRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecurityRulePropertiesFormat",
+ "description": "Properties of the security rule"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Network security rule."
+ },
+ "SecurityRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "The security rules in a network security group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group."
+ },
+ "NetworkSecurityGroupPropertiesFormat": {
+ "properties": {
+ "securityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "A collection of security rules of the network security group."
+ },
+ "defaultSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityRule"
+ },
+ "description": "The default security rules of network security group."
+ },
+ "networkInterfaces": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ },
+ "description": "A collection of references to network interfaces."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet"
+ },
+ "description": "A collection of references to subnets."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the network security group resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Network Security Group resource."
+ },
+ "NetworkSecurityGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat",
+ "description": "Properties of the network security group"
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "NetworkSecurityGroup resource."
+ },
+ "NetworkSecurityGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityGroup"
+ },
+ "description": "A list of NetworkSecurityGroup resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListNetworkSecurityGroups API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkWatcher.json
new file mode 100644
index 000000000000..cc3aa43063e5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/networkWatcher.json
@@ -0,0 +1,3085 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}": {
+ "put": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_CreateOrUpdate",
+ "description": "Creates or updates a network watcher in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ },
+ "description": "Parameters that define the network watcher resource."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network watcher": { "$ref": "./examples/NetworkWatcherCreate.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_Get",
+ "description": "Gets the specified network watcher by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network watcher": { "$ref": "./examples/NetworkWatcherGet.json" }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified network watcher resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete network watcher": { "$ref": "./examples/NetworkWatcherDelete.json" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_UpdateTags",
+ "description": "Updates a network watcher tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network watcher tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network watcher tags": { "$ref": "./examples/NetworkWatcherUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers": {
+ "get": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_List",
+ "description": "Gets all network watchers by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List network watchers": { "$ref": "./examples/NetworkWatcherList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers": {
+ "get": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_ListAll",
+ "description": "Gets all network watchers by subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List all network watchers": { "$ref": "./examples/NetworkWatcherListAll.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTopology",
+ "description": "Gets the current network topology by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopologyParameters"
+ },
+ "description": "Parameters that define the representation of topology."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the topology of resource group.",
+ "schema": {
+ "$ref": "#/definitions/Topology"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Topology": {
+ "$ref": "./examples/NetworkWatcherTopologyGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_VerifyIPFlow",
+ "x-ms-long-running-operation": true,
+ "description": "Verify IP flow from the specified VM to a location given the currently configured NSG rules.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VerificationIPFlowParameters"
+ },
+ "description": "Parameters that define the IP flow to be verified."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the result of IP flow verification.",
+ "schema": {
+ "$ref": "#/definitions/VerificationIPFlowResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/VerificationIPFlowResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Ip flow verify": { "$ref": "./examples/NetworkWatcherIpFlowVerify.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNextHop",
+ "x-ms-long-running-operation": true,
+ "description": "Gets the next hop from the specified VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NextHopParameters"
+ },
+ "description": "Parameters that define the source and destination endpoint."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the next hop from the VM.",
+ "schema": {
+ "$ref": "#/definitions/NextHopResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NextHopResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get next hop": { "$ref": "./examples/NetworkWatcherNextHopGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetVMSecurityRules",
+ "x-ms-long-running-operation": true,
+ "description": "Gets the configured and effective security group rules on the specified VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecurityGroupViewParameters"
+ },
+ "description": "Parameters that define the VM to check security groups for."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns security group rules on the VM.",
+ "schema": {
+ "$ref": "#/definitions/SecurityGroupViewResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/SecurityGroupViewResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get security group view": { "$ref": "./examples/NetworkWatcherSecurityGroupViewGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}": {
+ "put": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Create",
+ "x-ms-long-running-operation": true,
+ "description": "Create and start a packet capture on the specified VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PacketCapture"
+ },
+ "description": "Parameters that define the create packet capture operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request successful. The operation returns the resulting packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureCreate.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Get",
+ "description": "Gets a packet capture session by name.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureGet.json" }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified packet capture session.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureDelete.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_Stop",
+ "x-ms-long-running-operation": true,
+ "description": "Stops a specified packet capture session.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the packet capture session."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Stop packet capture": { "$ref": "./examples/NetworkWatcherPacketCaptureStop.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus": {
+ "post": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_GetStatus",
+ "x-ms-long-running-operation": true,
+ "description": "Query the status of a running packet capture session.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "packetCaptureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name given to the packet capture session."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful query of packet capture status.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureQueryStatusResult"
+ }
+ },
+ "202": {
+ "description": "Accepted query status of packet capture.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureQueryStatusResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query packet capture status": { "$ref": "./examples/NetworkWatcherPacketCaptureQueryStatus.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures": {
+ "get": {
+ "tags": [
+ "PacketCaptures"
+ ],
+ "operationId": "PacketCaptures_List",
+ "description": "Lists all packet capture sessions within the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful packet capture enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List packet captures": { "$ref": "./examples/NetworkWatcherPacketCapturesList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTroubleshooting",
+ "x-ms-long-running-operation": true,
+ "description": "Initiate troubleshooting on a specified resource",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingParameters"
+ },
+ "description": "Parameters that define the resource to troubleshoot."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful troubleshooting request",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "202": {
+ "description": "Accepted get troubleshooting request.",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get troubleshooting": { "$ref": "./examples/NetworkWatcherTroubleshootGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetTroubleshootingResult",
+ "x-ms-long-running-operation": true,
+ "description": "Get the last completed troubleshooting result on a specified resource",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryTroubleshootingParameters"
+ },
+ "description": "Parameters that define the resource to query the troubleshooting result."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful get troubleshooting result request",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "202": {
+ "description": "Accepted get troubleshooting result request.",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get troubleshoot result": { "$ref": "./examples/NetworkWatcherTroubleshootResultQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_SetFlowLogConfiguration",
+ "x-ms-long-running-operation": true,
+ "description": "Configures flow log on a specified resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ },
+ "description": "Parameters that define the configuration of flow log."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for setting flow log configuration.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configure flow log": { "$ref": "./examples/NetworkWatcherFlowLogConfigure.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetFlowLogStatus",
+ "x-ms-long-running-operation": true,
+ "description": "Queries status of flow log on a specified resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FlowLogStatusParameters"
+ },
+ "description": "Parameters that define a resource to query flow log status."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for query flow log status.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get flow log status": { "$ref": "./examples/NetworkWatcherFlowLogStatusQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_CheckConnectivity",
+ "x-ms-long-running-operation": true,
+ "description": "Verifies the possibility of establishing a direct TCP connection from a virtual machine to a given endpoint including another VM or an arbitrary remote server.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectivityParameters"
+ },
+ "description": "Parameters that determine how the connectivity check will be performed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for checking connectivity.",
+ "schema": {
+ "$ref": "#/definitions/ConnectivityInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectivityInformation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check connectivity": { "$ref": "./examples/NetworkWatcherConnectivityCheck.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetAzureReachabilityReport",
+ "x-ms-long-running-operation": true,
+ "description": "Gets the relative latency score for internet service providers from a specified location to Azure regions.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureReachabilityReportParameters"
+ },
+ "description": "Parameters that determine Azure reachability report configuration."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for Azure reachability report.",
+ "schema": {
+ "$ref": "#/definitions/AzureReachabilityReport"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/AzureReachabilityReport"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Reachability Report": {
+ "$ref": "./examples/NetworkWatcherAzureReachabilityReportGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_ListAvailableProviders",
+ "x-ms-long-running-operation": true,
+ "description": "Lists all available internet service providers for a specified Azure region.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource group."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network watcher resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableProvidersListParameters"
+ },
+ "description": "Parameters that scope the list of available providers."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for list of available providers.",
+ "schema": {
+ "$ref": "#/definitions/AvailableProvidersList"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/AvailableProvidersList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Azure Reachability Report": {
+ "$ref": "./examples/NetworkWatcherAvailableProvidersListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}": {
+ "put": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitor"
+ },
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting connection monitor resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting connection monitor resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorCreate.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Get",
+ "description": "Gets a connection monitor by name.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a connection monitor.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorGet.json" }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Delete",
+ "x-ms-long-running-operation": true,
+ "description": "Deletes the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorDelete.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Stop",
+ "x-ms-long-running-operation": true,
+ "description": "Stops the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Stop connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorStop.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Start",
+ "x-ms-long-running-operation": true,
+ "description": "Starts the specified connection monitor.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation starts the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Start connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorStart.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": {
+ "post": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_Query",
+ "x-ms-long-running-operation": true,
+ "description": "Query a snapshot of the most recent connection states.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "name": "connectionMonitorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name given to the connection monitor."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful query of connection states.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorQueryResult"
+ }
+ },
+ "202": {
+ "description": "Accepted query of connection states.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorQueryResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query connection monitor": { "$ref": "./examples/NetworkWatcherConnectionMonitorQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors": {
+ "get": {
+ "tags": [
+ "ConnectionMonitors"
+ ],
+ "operationId": "ConnectionMonitors_List",
+ "description": "Lists all connection monitors for the specified Network Watcher.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group containing Network Watcher."
+ },
+ {
+ "name": "networkWatcherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Network Watcher resource."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful connection monitor enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List connection monitors": { "$ref": "./examples/NetworkWatcherConnectionMonitorList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkWatcher": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the network watcher."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ID of the network watcher."
+ },
+ "etag": {
+ "type": "string",
+ "default": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network watcher type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkWatcherPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "location"
+ ],
+ "description": "Network watcher in a resource group."
+ },
+ "NetworkWatcherPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "The network watcher properties."
+ },
+ "NetworkWatcherListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ }
+ },
+ "description": "List of network watcher resources."
+ },
+ "TopologyParameters": {
+ "properties": {
+ "targetResourceGroupName": {
+ "type": "string",
+ "description": "The name of the target resource group to perform topology on."
+ },
+ "targetVirtualNetwork": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the Virtual Network resource."
+ },
+ "targetSubnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the Subnet resource."
+ }
+ },
+ "description": "Parameters that define the representation of topology."
+ },
+ "Topology": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "GUID representing the operation id."
+ },
+ "createdDateTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The datetime when the topology was initially created for the resource group."
+ },
+ "lastModified": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The datetime when the topology was last modified."
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TopologyResource"
+ }
+ }
+ },
+ "description": "Topology of the specified resource group."
+ },
+ "TopologyResource": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "ID of the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "associations": {
+ "type": "array",
+ "description": "Holds the associations the resource has with other resources in the resource group.",
+ "items": {
+ "$ref": "#/definitions/TopologyAssociation"
+ }
+ }
+ },
+ "description": "The network resource topology information for the given resource group."
+ },
+ "TopologyAssociation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is associated with the parent resource."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource that is associated with the parent resource."
+ },
+ "associationType": {
+ "type": "string",
+ "enum": [
+ "Associated",
+ "Contains"
+ ],
+ "x-ms-enum": {
+ "name": "AssociationType",
+ "modelAsString": true
+ },
+ "description": "The association type of the child resource to the parent resource."
+ }
+ },
+ "description": "Resources that have an association with the parent resource."
+ },
+ "VerificationIPFlowParameters": {
+ "description": "Parameters that define the IP flow to be verified.",
+ "required": [
+ "targetResourceId",
+ "direction",
+ "protocol",
+ "localPort",
+ "remotePort",
+ "localIPAddress",
+ "remoteIPAddress"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "The ID of the target resource to perform next-hop on."
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Direction",
+ "modelAsString": true
+ },
+ "description": "The direction of the packet represented as a 5-tuple."
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ },
+ "description": "Protocol to be verified on."
+ },
+ "localPort": {
+ "type": "string",
+ "description": "The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction."
+ },
+ "remotePort": {
+ "type": "string",
+ "description": "The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction."
+ },
+ "localIPAddress": {
+ "type": "string",
+ "description": "The local IP address. Acceptable values are valid IPv4 addresses."
+ },
+ "remoteIPAddress": {
+ "type": "string",
+ "description": "The remote IP address. Acceptable values are valid IPv4 addresses."
+ },
+ "targetNicResourceId": {
+ "type": "string",
+ "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional)."
+ }
+ }
+ },
+ "VerificationIPFlowResult": {
+ "description": "Results of IP flow verification on the target resource.",
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ },
+ "description": "Indicates whether the traffic is allowed or denied."
+ },
+ "ruleName": {
+ "type": "string",
+ "description": "Name of the rule. If input is not matched against any security rule, it is not displayed."
+ }
+ }
+ },
+ "NextHopParameters": {
+ "description": "Parameters that define the source and destination endpoint.",
+ "required": [
+ "targetResourceId",
+ "sourceIPAddress",
+ "destinationIPAddress"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "The resource identifier of the target resource against which the action is to be performed."
+ },
+ "sourceIPAddress": {
+ "type": "string",
+ "description": "The source IP address."
+ },
+ "destinationIPAddress": {
+ "type": "string",
+ "description": "The destination IP address."
+ },
+ "targetNicResourceId": {
+ "type": "string",
+ "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional)."
+ }
+ }
+ },
+ "NextHopResult": {
+ "description": "The information about next hop from the specified VM.",
+ "properties": {
+ "nextHopType": {
+ "type": "string",
+ "enum": [
+ "Internet",
+ "VirtualAppliance",
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "HyperNetGateway",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "NextHopType",
+ "modelAsString": true
+ },
+ "description": "Next hop type."
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "Next hop IP Address"
+ },
+ "routeTableId": {
+ "type": "string",
+ "description": "The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'."
+ }
+ }
+ },
+ "SecurityGroupViewParameters": {
+ "description": "Parameters that define the VM to check security groups for.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "ID of the target VM."
+ }
+ }
+ },
+ "SecurityGroupViewResult": {
+ "description": "The information about security rules applied to the specified VM.",
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "description": "List of network interfaces on the specified VM.",
+ "items": {
+ "$ref": "#/definitions/SecurityGroupNetworkInterface"
+ }
+ }
+ }
+ },
+ "SecurityGroupNetworkInterface": {
+ "description": "Network interface and all its associated security rules.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID of the network interface."
+ },
+ "securityRuleAssociations": {
+ "$ref": "#/definitions/SecurityRuleAssociations"
+ }
+ }
+ },
+ "SecurityRuleAssociations": {
+ "description": "All security rules associated with the network interface.",
+ "properties": {
+ "networkInterfaceAssociation": {
+ "$ref": "#/definitions/NetworkInterfaceAssociation"
+ },
+ "subnetAssociation": {
+ "$ref": "#/definitions/SubnetAssociation"
+ },
+ "defaultSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule"
+ },
+ "description": "Collection of default security rules of the network security group."
+ },
+ "effectiveSecurityRules": {
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/EffectiveNetworkSecurityRule"
+ },
+ "description": "Collection of effective security rules."
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "description": "Network interface and its custom security rules.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network interface ID."
+ },
+ "securityRules": {
+ "type": "array",
+ "description": "Collection of custom security rules.",
+ "items": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule"
+ }
+ }
+ }
+ },
+ "SubnetAssociation": {
+ "description": "Network interface and its custom security rules.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Subnet ID."
+ },
+ "securityRules": {
+ "type": "array",
+ "description": "Collection of custom security rules.",
+ "items": {
+ "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule"
+ }
+ }
+ }
+ },
+ "PacketCapture": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the packet capture."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ID of the packet capture."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Packet capture type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PacketCaptureParameters"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Parameters that define the create packet capture operation."
+ },
+ "PacketCaptureParameters": {
+ "properties": {
+ "target": {
+ "type": "string",
+ "description": "The ID of the targeted resource, only VM is currently supported."
+ },
+ "bytesToCapturePerPacket": {
+ "type": "integer",
+ "default": 0,
+ "description": "Number of bytes captured per packet, the remaining bytes are truncated."
+ },
+ "totalBytesPerSession": {
+ "type": "integer",
+ "default": 1073741824,
+ "description": "Maximum size of the capture output."
+ },
+ "timeLimitInSeconds": {
+ "type": "integer",
+ "default": 18000,
+ "description": "Maximum duration of the capture session in seconds."
+ },
+ "storageLocation": {
+ "$ref": "#/definitions/PacketCaptureStorageLocation"
+ },
+ "filters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PacketCaptureFilter"
+ }
+ }
+ },
+ "required": [
+ "target",
+ "storageLocation"
+ ],
+ "description": "Parameters that define the create packet capture operation."
+ },
+ "PacketCaptureStorageLocation": {
+ "properties": {
+ "storageId": {
+ "type": "string",
+ "description": "The ID of the storage account to save the packet capture session. Required if no local file path is provided."
+ },
+ "storagePath": {
+ "type": "string",
+ "description": "The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional."
+ }
+ },
+ "description": "Describes the storage location for a packet capture session."
+ },
+ "PacketCaptureFilter": {
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "TCP",
+ "UDP",
+ "Any"
+ ],
+ "x-ms-enum": {
+ "name": "PcProtocol",
+ "modelAsString": true
+ },
+ "default": "Any",
+ "description": "Protocol to be filtered on."
+ },
+ "localIPAddress": {
+ "type": "string",
+ "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ },
+ "remoteIPAddress": {
+ "type": "string",
+ "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ },
+ "localPort": {
+ "type": "string",
+ "description": "Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ },
+ "remotePort": {
+ "type": "string",
+ "description": "Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null."
+ }
+ },
+ "description": "Filter that is applied to packet capture request. Multiple filters can be applied."
+ },
+ "PacketCaptureListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ },
+ "description": "Information about packet capture sessions."
+ }
+ },
+ "description": "List of packet capture sessions."
+ },
+ "PacketCaptureResult": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the packet capture."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ID of the packet capture."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Packet capture type."
+ },
+ "etag": {
+ "type": "string",
+ "default": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PacketCaptureResultProperties"
+ }
+ },
+ "description": "Information about packet capture session."
+ },
+ "PacketCaptureResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the packet capture session."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PacketCaptureParameters"
+ }
+ ],
+ "description": "Describes the properties of a packet capture session."
+ },
+ "PacketCaptureQueryStatusResult": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the packet capture resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the packet capture resource."
+ },
+ "captureStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the packet capture session."
+ },
+ "packetCaptureStatus": {
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Stopped",
+ "Error",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "PcStatus",
+ "modelAsString": true
+ },
+ "description": "The status of the packet capture session."
+ },
+ "stopReason": {
+ "type": "string",
+ "description": "The reason the current packet capture session was stopped."
+ },
+ "packetCaptureError": {
+ "type": "array",
+ "description": "List of errors of packet capture session.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "InternalError",
+ "AgentStopped",
+ "CaptureFailed",
+ "LocalFileFailed",
+ "StorageFailed"
+ ],
+ "x-ms-enum": {
+ "name": "PcError",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "description": "Status of packet capture session."
+ },
+ "TroubleshootingParameters": {
+ "description": "Parameters that define the resource to troubleshoot.",
+ "required": [
+ "targetResourceId",
+ "properties"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource to troubleshoot.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TroubleshootingProperties"
+ }
+ }
+ },
+ "QueryTroubleshootingParameters": {
+ "description": "Parameters that define the resource to query the troubleshooting result.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource ID to query the troubleshooting result.",
+ "type": "string"
+ }
+ }
+ },
+ "TroubleshootingProperties": {
+ "description": "Storage location provided for troubleshoot.",
+ "required": [
+ "storageId",
+ "storagePath"
+ ],
+ "properties": {
+ "storageId": {
+ "description": "The ID for the storage account to save the troubleshoot result.",
+ "type": "string"
+ },
+ "storagePath": {
+ "description": "The path to the blob to save the troubleshoot result in.",
+ "type": "string"
+ }
+ }
+ },
+ "TroubleshootingResult": {
+ "description": "Troubleshooting information gained from specified resource.",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the troubleshooting."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of the troubleshooting."
+ },
+ "code": {
+ "type": "string",
+ "description": "The result code of the troubleshooting."
+ },
+ "results": {
+ "type": "array",
+ "description": "Information from troubleshooting.",
+ "items": {
+ "$ref": "#/definitions/TroubleshootingDetails"
+ }
+ }
+ }
+ },
+ "TroubleshootingDetails": {
+ "description": "Information gained from troubleshooting of specified resource.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The id of the get troubleshoot operation."
+ },
+ "reasonType": {
+ "type": "string",
+ "description": "Reason type of failure."
+ },
+ "summary": {
+ "type": "string",
+ "description": "A summary of troubleshooting."
+ },
+ "detail": {
+ "type": "string",
+ "description": "Details on troubleshooting results."
+ },
+ "recommendedActions": {
+ "type": "array",
+ "description": "List of recommended actions.",
+ "items": {
+ "$ref": "#/definitions/TroubleshootingRecommendedActions"
+ }
+ }
+ }
+ },
+ "TroubleshootingRecommendedActions": {
+ "description": "Recommended actions based on discovered issues.",
+ "properties": {
+ "actionId": {
+ "description": "ID of the recommended action.",
+ "type": "string"
+ },
+ "actionText": {
+ "description": "Description of recommended actions.",
+ "type": "string"
+ },
+ "actionUri": {
+ "description": "The uri linking to a documentation for the recommended troubleshooting actions.",
+ "type": "string"
+ },
+ "actionUriText": {
+ "description": "The information from the URI for the recommended troubleshooting actions.",
+ "type": "string"
+ }
+ }
+ },
+ "FlowLogProperties": {
+ "description": "Parameters that define the configuration of flow log.",
+ "required": [
+ "storageId",
+ "enabled"
+ ],
+ "properties": {
+ "storageId": {
+ "description": "ID of the storage account which is used to store the flow log.",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Flag to enable/disable flow logging.",
+ "type": "boolean"
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicyParameters"
+ }
+ }
+ },
+ "FlowLogStatusParameters": {
+ "description": "Parameters that define a resource to query flow log status.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource where getting the flow logging status.",
+ "type": "string"
+ }
+ }
+ },
+ "RetentionPolicyParameters": {
+ "description": "Parameters that define the retention policy for flow log.",
+ "properties": {
+ "days": {
+ "description": "Number of days to retain flow log records.",
+ "type": "integer",
+ "default": 0
+ },
+ "enabled": {
+ "description": "Flag to enable/disable retention.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "FlowLogInformation": {
+ "description": "Information on the configuration of flow log.",
+ "required": [
+ "targetResourceId",
+ "properties"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The ID of the resource to configure for flow logging.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FlowLogProperties"
+ }
+ }
+ },
+ "ConnectivityParameters": {
+ "description": "Parameters that determine how the connectivity check will be performed.",
+ "required": [
+ "source",
+ "destination"
+ ],
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectivitySource"
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectivityDestination"
+ }
+ }
+ },
+ "ConnectivitySource": {
+ "description": "Parameters that define the source of the connection.",
+ "required": [
+ "resourceId"
+ ],
+ "properties": {
+ "resourceId": {
+ "description": "The ID of the resource from which a connectivity check will be initiated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The source port from which a connectivity check will be performed.",
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityDestination": {
+ "description": "Parameters that define destination of connection.",
+ "properties": {
+ "resourceId": {
+ "description": "The ID of the resource to which a connection attempt will be made.",
+ "type": "string"
+ },
+ "address": {
+ "description": "The IP address or URI the resource to which a connection attempt will be made.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port on which check connectivity will be performed.",
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityInformation": {
+ "description": "Information on the connectivity status.",
+ "properties": {
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Connected",
+ "Disconnected",
+ "Degraded"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ },
+ "description": "The connection status."
+ },
+ "avgLatencyInMs": {
+ "description": "Average latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "minLatencyInMs": {
+ "description": "Minimum latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "maxLatencyInMs": {
+ "description": "Maximum latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "probesSent": {
+ "description": "Total number of probes sent.",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "probesFailed": {
+ "description": "Number of failed probes.",
+ "readOnly": true,
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityHop": {
+ "description": "Information about a hop between the source and the destination.",
+ "properties": {
+ "type": {
+ "description": "The type of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "address": {
+ "description": "The IP address of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The ID of the resource corresponding to this hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextHopIds": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of next hop identifiers.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "issues": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of issues.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityIssue"
+ }
+ }
+ }
+ },
+ "ConnectivityIssue": {
+ "description": "Information about an issue encountered in the process of checking for connectivity.",
+ "properties": {
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Local",
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Origin",
+ "modelAsString": true
+ },
+ "description": "The origin of the issue."
+ },
+ "severity": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Error",
+ "Warning"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ },
+ "description": "The severity of the issue."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "AgentStopped",
+ "GuestFirewall",
+ "DnsResolution",
+ "SocketBind",
+ "NetworkSecurityRule",
+ "UserDefinedRoute",
+ "PortThrottled",
+ "Platform"
+ ],
+ "x-ms-enum": {
+ "name": "IssueType",
+ "modelAsString": true
+ },
+ "description": "The type of issue."
+ },
+ "context": {
+ "readOnly": true,
+ "type": "array",
+ "description": "Provides additional context on the issue.",
+ "items": {
+ "$ref": "#/definitions/IssueContext"
+ }
+ }
+ }
+ },
+ "IssueContext": {
+ "description": "A key-value pair that provides additional context on the issue.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "AzureReachabilityReportParameters": {
+ "properties": {
+ "providerLocation": {
+ "$ref": "#/definitions/AzureReachabilityReportLocation"
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Internet service providers."
+ },
+ "azureLocations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional Azure regions to scope the query to."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the Azure reachability report."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the Azure reachability report."
+ }
+ },
+ "required": [
+ "providerLocation",
+ "startTime",
+ "endTime"
+ ],
+ "description": "Geographic and time constraints for Azure reachability report."
+ },
+ "AzureReachabilityReportLocation": {
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "The name of the country."
+ },
+ "state": {
+ "type": "string",
+ "description": "The name of the state."
+ },
+ "city": {
+ "type": "string",
+ "description": "The name of the city or town."
+ }
+ },
+ "required": [
+ "country"
+ ],
+ "description": "Parameters that define a geographic location."
+ },
+ "AzureReachabilityReport": {
+ "properties": {
+ "aggregationLevel": {
+ "type": "string",
+ "description": "The aggregation level of Azure reachability report. Can be Country, State or City."
+ },
+ "providerLocation": {
+ "$ref": "#/definitions/AzureReachabilityReportLocation"
+ },
+ "reachabilityReport": {
+ "type": "array",
+ "description": "List of Azure reachability report items.",
+ "items": {
+ "$ref": "#/definitions/AzureReachabilityReportItem"
+ }
+ }
+ },
+ "required": [
+ "aggregationLevel",
+ "providerLocation",
+ "reachabilityReport"
+ ],
+ "description": "Azure reachability report details."
+ },
+ "AzureReachabilityReportItem": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "The Internet service provider."
+ },
+ "azureLocation": {
+ "type": "string",
+ "description": "The Azure region."
+ },
+ "latencies": {
+ "type": "array",
+ "description": "List of latency details for each of the time series.",
+ "items": {
+ "$ref": "#/definitions/AzureReachabilityReportLatencyInfo"
+ }
+ }
+ },
+ "description": "Azure reachability report details for a given provider location."
+ },
+ "AzureReachabilityReportLatencyInfo": {
+ "properties": {
+ "timeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time stamp."
+ },
+ "score": {
+ "type": "integer",
+ "description": "The relative latency score between 1 and 100, higher values indicating a faster connection.",
+ "minimum": 1,
+ "maximum": 100
+ }
+ },
+ "description": "Details on latency for a time series."
+ },
+ "AvailableProvidersListParameters": {
+ "properties": {
+ "azureLocations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Azure regions."
+ },
+ "country": {
+ "type": "string",
+ "description": "The country for available providers list."
+ },
+ "state": {
+ "type": "string",
+ "description": "The state for available providers list."
+ },
+ "city": {
+ "type": "string",
+ "description": "The city or town for available providers list."
+ }
+ },
+ "description": "Constraints that determine the list of available Internet service providers."
+ },
+ "AvailableProvidersList": {
+ "properties": {
+ "countries": {
+ "type": "array",
+ "description": "List of available countries.",
+ "items": {
+ "$ref": "#/definitions/AvailableProvidersListCountry"
+ }
+ }
+ },
+ "required": [
+ "countries"
+ ],
+ "description": "List of available countries with details."
+ },
+ "AvailableProvidersListCountry": {
+ "properties": {
+ "countryName": {
+ "type": "string",
+ "description": "The country name."
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Internet service providers."
+ },
+ "states": {
+ "type": "array",
+ "description": "List of available states in the country.",
+ "items": {
+ "$ref": "#/definitions/AvailableProvidersListState"
+ }
+ }
+ },
+ "description": "Country details."
+ },
+ "AvailableProvidersListState": {
+ "properties": {
+ "stateName": {
+ "type": "string",
+ "description": "The state name."
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Internet service providers."
+ },
+ "cities": {
+ "type": "array",
+ "description": "List of available cities or towns in the state.",
+ "items": {
+ "$ref": "#/definitions/AvailableProvidersListCity"
+ }
+ }
+ },
+ "description": "State details."
+ },
+ "AvailableProvidersListCity": {
+ "properties": {
+ "cityName": {
+ "type": "string",
+ "description": "The city or town name."
+ },
+ "providers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of Internet service providers."
+ }
+ },
+ "description": "City or town details."
+ },
+ "ConnectionMonitor": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Connection monitor location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Connection monitor tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConnectionMonitorParameters"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ "ConnectionMonitorParameters": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectionMonitorSource"
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectionMonitorDestination"
+ },
+ "autoStart": {
+ "type": "boolean",
+ "default": true,
+ "description": "Determines if the connection monitor will start automatically once created."
+ },
+ "monitoringIntervalInSeconds": {
+ "type": "integer",
+ "default": 60,
+ "description": "Monitoring interval in seconds."
+ }
+ },
+ "required": [
+ "source",
+ "destination"
+ ],
+ "description": "Parameters that define the operation to create a connection monitor."
+ },
+ "ConnectionMonitorSource": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource used as the source by connection monitor."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The source port used by connection monitor."
+ }
+ },
+ "required": [
+ "resourceId"
+ ],
+ "description": "Describes the source of connection monitor."
+ },
+ "ConnectionMonitorDestination": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the resource used as the destination by connection monitor."
+ },
+ "address": {
+ "type": "string",
+ "description": "Address of the connection monitor destination (IP or domain name)."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The destination port used by connection monitor."
+ }
+ },
+ "description": "Describes the destination of connection monitor."
+ },
+ "ConnectionMonitorListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ },
+ "description": "Information about connection monitors."
+ }
+ },
+ "description": "List of connection monitors."
+ },
+ "ConnectionMonitorResult": {
+ "x-ms-azure-resource": true,
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the connection monitor."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ID of the connection monitor."
+ },
+ "etag": {
+ "type": "string",
+ "default": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Connection monitor type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Connection monitor location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Connection monitor tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConnectionMonitorResultProperties"
+ }
+ },
+ "description": "Information about the connection monitor."
+ },
+ "ConnectionMonitorResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the connection monitor."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the connection monitor was started."
+ },
+ "monitoringStatus": {
+ "type": "string",
+ "description": "The monitoring status of the connection monitor."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConnectionMonitorParameters"
+ }
+ ],
+ "description": "Describes the properties of a connection monitor."
+ },
+ "ConnectionMonitorQueryResult": {
+ "properties": {
+ "states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionStateSnapshot"
+ },
+ "description": "Information about connection states."
+ }
+ },
+ "description": "List of connection states snaphots."
+ },
+ "ConnectionStateSnapshot": {
+ "properties": {
+ "connectionState": {
+ "type": "string",
+ "enum": [
+ "Reachable",
+ "Unreachable",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionState",
+ "modelAsString": true
+ },
+ "description": "The connection state."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the connection snapshot."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of the connection snapshot."
+ },
+ "evaluationState": {
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "EvaluationState",
+ "modelAsString": true
+ },
+ "description": "Connectivity analysis evaluation state."
+ },
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ }
+ },
+ "description": "Connection state snapshot."
+ }
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/operation.json
new file mode 100644
index 000000000000..4cb2a581a406
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/operation.json
@@ -0,0 +1,279 @@
+{
+ "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-01-01"
+ },
+ "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.Network/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Network Rest API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get a list of operations for a resource provider": { "$ref": "./examples/OperationList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Network operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Network operations supported by the Network resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Network REST API operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft Network.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of the operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "description": "Origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationPropertiesFormat",
+ "description": "Operation properties format."
+ }
+ }
+ },
+ "OperationPropertiesFormat": {
+ "description": "Description of operation properties format.",
+ "properties": {
+ "serviceSpecification": {
+ "description": "Specification of the service.",
+ "properties": {
+ "metricSpecifications": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ },
+ "description": "Operation service specification."
+ },
+ "logSpecifications": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ },
+ "description": "Operation log specification."
+ }
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Description of logging specification.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the specification."
+ },
+ "blobDuration": {
+ "type": "string",
+ "description": "Duration of the blob."
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Description of metrics specification.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the metric."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "The description of the metric."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Units the metric to be displayed in."
+ },
+ "aggregationType": {
+ "type": "string",
+ "description": "The aggregation type."
+ },
+ "availabilities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Availability"
+ },
+ "description": "List of availability."
+ },
+ "enableRegionalMdmAccount": {
+ "type": "boolean",
+ "description": "Whether regional MDM account enabled."
+ },
+ "fillGapWithZero": {
+ "type": "boolean",
+ "description": "Whether gaps would be filled with zeros."
+ },
+ "metricFilterPattern": {
+ "type": "string",
+ "description": "Pattern for the filter of the metric."
+ },
+ "dimensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "description": "List of dimensions."
+ },
+ "isInternal": {
+ "type": "boolean",
+ "description": "Whether the metric is internal."
+ },
+ "sourceMdmAccount": {
+ "type": "string",
+ "description": "The source MDM account."
+ },
+ "sourceMdmNamespace": {
+ "type": "string",
+ "description": "The source MDM namespace."
+ },
+ "resourceIdDimensionNameOverride": {
+ "type": "string",
+ "description": "The resource Id dimension name override."
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Dimension of the metric.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the dimension."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the dimension."
+ },
+ "internalName": {
+ "type": "string",
+ "description": "The internal name of the dimension."
+ }
+ }
+ },
+ "Availability": {
+ "description": "Availability of the metric.",
+ "properties": {
+ "timeGrain": {
+ "type": "string",
+ "description": "The time grain of the availability."
+ },
+ "retention": {
+ "type": "string",
+ "description": "The retention of the availability."
+ },
+ "blobDuration": {
+ "type": "string",
+ "description": "Duration of the availability blob."
+ }
+ }
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/publicIpAddress.json
new file mode 100644
index 000000000000..a6d47fc919e4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/publicIpAddress.json
@@ -0,0 +1,483 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}": {
+ "delete": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_Delete",
+ "description": "Deletes the specified public IP address.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete public IP address": { "$ref": "./examples/PublicIpAddressDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_Get",
+ "description": "Gets the specified public IP address in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get public IP address": { "$ref": "./examples/PublicIpAddressGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_CreateOrUpdate",
+ "description": "Creates or updates a static or dynamic public IP address.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP address."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ },
+ "description": "Parameters supplied to the create or update public IP address operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create public IP address defaults": { "$ref": "./examples/PublicIpAddressCreateDefaults.json" },
+ "Create public IP address allocation method": { "$ref": "./examples/PublicIpAddressCreateCustomizedValues.json" },
+ "Create public IP address DNS": { "$ref": "./examples/PublicIpAddressCreateDns.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_UpdateTags",
+ "description": "Updates public IP address tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP address."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update public IP address tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddress"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP address tags": { "$ref": "./examples/PublicIpAddressUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses": {
+ "get": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_ListAll",
+ "description": "Gets all the public IP addresses in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPAddress resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all public IP addresses": { "$ref": "./examples/PublicIpAddressListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses": {
+ "get": {
+ "tags": [
+ "PublicIPAddresses"
+ ],
+ "operationId": "PublicIPAddresses_List",
+ "description": "Gets all public IP addresses in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPAddress resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group public IP addresses": { "$ref": "./examples/PublicIpAddressList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PublicIPAddressSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a public IP address SKU.",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAddressSkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of a public IP address"
+ },
+ "PublicIPAddressPropertiesFormat": {
+ "properties": {
+ "publicIPAllocationMethod": {
+ "type": "string",
+ "description": "The public IP allocation method. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "publicIPAddressVersion": {
+ "type": "string",
+ "description": "The public IP address version. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "ipConfiguration": {
+ "readOnly": true,
+ "$ref": "./networkInterface.json#/definitions/IPConfiguration",
+ "description": "The IP configuration associated with the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/PublicIPAddressDnsSettings",
+ "description": "The FQDN of the DNS record associated with the public IP address."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpTag"
+ },
+ "description": "The list of tags associated with the public IP address."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The IP address associated with the public IP address resource."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the public IP resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Public IP address properties."
+ },
+ "PublicIPAddress": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/PublicIPAddressSku",
+ "description": "The public IP address SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PublicIPAddressPropertiesFormat",
+ "description": "Public IP address properties."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting the IP allocated for the resource needs to come from."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Public IP address resource."
+ },
+ "PublicIPAddressListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicIPAddress"
+ },
+ "description": "A list of public IP addresses that exists in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListPublicIpAddresses API service call."
+ },
+ "PublicIPAddressDnsSettings": {
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system."
+ },
+ "fqdn": {
+ "type": "string",
+ "description": "Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone."
+ },
+ "reverseFqdn": {
+ "type": "string",
+ "description": "Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. "
+ }
+ },
+ "description": "Contains FQDN of the DNS record associated with the public IP address"
+ },
+ "IpTag": {
+ "properties": {
+ "ipTagType": {
+ "type": "string",
+ "description": "Gets or sets the ipTag type: Example FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "Gets or sets value of the IpTag associated with the public IP. Example SQL, Storage etc"
+ }
+ },
+ "description": "Contains the IpTag associated with the public IP address"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/routeFilter.json
new file mode 100644
index 000000000000..4ace60cedc1d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/routeFilter.json
@@ -0,0 +1,799 @@
+{
+ "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-01-01"
+ },
+ "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/routeFilters/{routeFilterName}": {
+ "delete": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_Delete",
+ "x-ms-examples": {
+ "RouteFilterDelete": { "$ref": "./examples/RouteFilterDelete.json" }
+ },
+ "description": "Deletes the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_Get",
+ "x-ms-examples": {
+ "RouteFilterGet": { "$ref": "./examples/RouteFilterGet.json" }
+ },
+ "description": "Gets the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced express route bgp peering resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_CreateOrUpdate",
+ "x-ms-examples": {
+ "RouteFilterCreate": { "$ref": "./examples/RouteFilterCreate.json" }
+ },
+ "description": "Creates or updates a route filter in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "routeFilterParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ },
+ "description": "Parameters supplied to the create or update route filter operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_Update",
+ "x-ms-examples": {
+ "RouteFilterUpdate": { "$ref": "./examples/RouteFilterUpdate.json" }
+ },
+ "description": "Updates a route filter in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "routeFilterParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchRouteFilter"
+ },
+ "description": "Parameters supplied to the update route filter operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilter"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters": {
+ "get": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_ListByResourceGroup",
+ "x-ms-examples": {
+ "RouteFilterListByResourceGroup": { "$ref": "./examples/RouteFilterListByResourceGroup.json" }
+ },
+ "description": "Gets all route filters in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route Filter resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters": {
+ "get": {
+ "tags": [
+ "RouteFilters"
+ ],
+ "operationId": "RouteFilters_List",
+ "x-ms-examples": {
+ "RouteFilterList": { "$ref": "./examples/RouteFilterList.json" }
+ },
+ "description": "Gets all route filters in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route Filter resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}": {
+ "delete": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_Delete",
+ "x-ms-examples": {
+ "RouteFilterRuleDelete": { "$ref": "./examples/RouteFilterRuleDelete.json" }
+ },
+ "description": "Deletes the specified rule from a route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "Rule was deleted or not found."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_Get",
+ "x-ms-examples": {
+ "RouteFilterRuleGet": { "$ref": "./examples/RouteFilterRuleGet.json" }
+ },
+ "description": "Gets the specified rule from a route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the rule."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_CreateOrUpdate",
+ "x-ms-examples": {
+ "RouteFilterRuleCreate": { "$ref": "./examples/RouteFilterRuleCreate.json" }
+ },
+ "description": "Creates or updates a route in the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter rule."
+ },
+ {
+ "name": "routeFilterRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ },
+ "description": "Parameters supplied to the create or update route filter rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_Update",
+ "x-ms-examples": {
+ "RouteFilterRuleUpdate": { "$ref": "./examples/RouteFilterRuleUpdate.json" }
+ },
+ "description": "Updates a route in the specified route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "name": "ruleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter rule."
+ },
+ {
+ "name": "routeFilterRuleParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchRouteFilterRule"
+ },
+ "description": "Parameters supplied to the update route filter rule operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Route Filter Rule resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRule"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules": {
+ "get": {
+ "tags": [
+ "RouteFilterRules"
+ ],
+ "operationId": "RouteFilterRules_ListByRouteFilter",
+ "x-ms-examples": {
+ "RouteFilterRuleListByRouteFilter": { "$ref": "./examples/RouteFilterRuleListByRouteFilter.json" }
+ },
+ "description": "Gets all RouteFilterRules in a route filter.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeFilterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route filter."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route Filter Rule resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteFilterRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RouteFilterRulePropertiesFormat": {
+ "required": [
+ "access",
+ "routeFilterRuleType",
+ "communities"
+ ],
+ "properties": {
+ "access": {
+ "type": "string",
+ "description": "The access type of the rule. Valid values are: 'Allow', 'Deny'",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "Access",
+ "modelAsString": true
+ }
+ },
+ "routeFilterRuleType": {
+ "type": "string",
+ "description": "The rule type of the rule. Valid value is: 'Community'",
+ "enum": [
+ "Community"
+ ],
+ "x-ms-enum": {
+ "name": "RouteFilterRuleType",
+ "modelAsString": true
+ }
+ },
+ "communities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'."
+ }
+ },
+ "description": "Route Filter Rule Resource"
+ },
+ "RouteFilterRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route Filter Rule Resource"
+ },
+ "PatchRouteFilterRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterRulePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route Filter Rule Resource"
+ },
+ "RouteFilterPropertiesFormat": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteFilterRule"
+ },
+ "description": "Collection of RouteFilterRules contained within a route filter."
+ },
+ "peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering"
+ },
+ "description": "A collection of references to express route circuit peerings."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'."
+ }
+ },
+ "description": "Route Filter Resource"
+ },
+ "RouteFilter": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat"
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Route Filter Resource."
+ },
+ "PatchRouteFilter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteFilterPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route Filter Resource."
+ },
+ "RouteFilterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteFilter"
+ },
+ "description": "Gets a list of route filters in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRouteFilters API service call."
+ },
+ "RouteFilterRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteFilterRule"
+ },
+ "description": "Gets a list of RouteFilterRules in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRouteFilterRules API service call"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/routeTable.json
new file mode 100644
index 000000000000..8b17aea06af8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/routeTable.json
@@ -0,0 +1,672 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}": {
+ "delete": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_Delete",
+ "description": "Deletes the specified route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "200": {
+ "description": "Request successful. Operation to delete was accepted."
+ },
+ "202": {
+ "description": "Accepted. If route table not found returned synchronously, otherwise if found returned asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete route table": { "$ref": "./examples/RouteTableDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_Get",
+ "description": "Gets the specified route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get route table": { "$ref": "./examples/RouteTableGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_CreateOrUpdate",
+ "description": "Create or updates a route table in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ },
+ "description": "Parameters supplied to the create or update route table operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create route table": { "$ref": "./examples/RouteTableCreate.json" },
+ "Create route table with route": { "$ref": "./examples/RouteTableCreateWithRoute.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_UpdateTags",
+ "description": "Updates a route table tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update route table tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting RouteTable resource.",
+ "schema": {
+ "$ref": "#/definitions/RouteTable"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update route table tags": { "$ref": "./examples/RouteTableUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables": {
+ "get": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_List",
+ "description": "Gets all route tables in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of RouteTable resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteTableListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List route tables in resource group": { "$ref": "./examples/RouteTableList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables": {
+ "get": {
+ "tags": [
+ "RouteTables"
+ ],
+ "operationId": "RouteTables_ListAll",
+ "description": "Gets all route tables in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of RouteTable resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteTableListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all route tables": { "$ref": "./examples/RouteTableListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}": {
+ "delete": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_Delete",
+ "description": "Deletes the specified route from a route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "routeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "Route was deleted or not found."
+ }
+ },
+ "x-ms-examples": {
+ "Delete route": { "$ref": "./examples/RouteTableRouteDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_Get",
+ "description": "Gets the specified route from a route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "routeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Route resource.",
+ "schema": {
+ "$ref": "#/definitions/Route"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get route": { "$ref": "./examples/RouteTableRouteGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_CreateOrUpdate",
+ "description": "Creates or updates a route in the specified route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "name": "routeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route."
+ },
+ {
+ "name": "routeParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Route"
+ },
+ "description": "Parameters supplied to the create or update route operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Route resource.",
+ "schema": {
+ "$ref": "#/definitions/Route"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Route resource.",
+ "schema": {
+ "$ref": "#/definitions/Route"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create route": { "$ref": "./examples/RouteTableRouteCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes": {
+ "get": {
+ "tags": [
+ "Routes"
+ ],
+ "operationId": "Routes_List",
+ "description": "Gets all routes in a route table.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "routeTableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the route table."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Route resources.",
+ "schema": {
+ "$ref": "#/definitions/RouteListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List routes": { "$ref": "./examples/RouteTableRouteList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RoutePropertiesFormat": {
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The destination CIDR to which the route applies."
+ },
+ "nextHopType": {
+ "type": "string",
+ "description": "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'",
+ "enum": [
+ "VirtualNetworkGateway",
+ "VnetLocal",
+ "Internet",
+ "VirtualAppliance",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "RouteNextHopType",
+ "modelAsString": true
+ }
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "nextHopType"
+ ],
+ "description": "Route resource"
+ },
+ "Route": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoutePropertiesFormat",
+ "description": "Properties of the route."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Route resource"
+ },
+ "RouteTablePropertiesFormat": {
+ "properties": {
+ "routes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Route"
+ },
+ "description": "Collection of routes contained within a route table."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet"
+ },
+ "description": "A collection of references to subnets."
+ },
+ "disableBgpRoutePropagation": {
+ "type": "boolean",
+ "description": "Gets or sets whether to disable the routes learned by BGP on that route table. True means disable."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Route Table resource"
+ },
+ "RouteTable": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RouteTablePropertiesFormat",
+ "description": "Properties of the route table."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Route table resource."
+ },
+ "RouteTableListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteTable"
+ },
+ "description": "Gets a list of route tables in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRouteTable API service call."
+ },
+ "RouteListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Route"
+ },
+ "description": "Gets a list of routes in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListRoute API service call"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/serviceCommunity.json
new file mode 100644
index 000000000000..cd6ffa47b344
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/serviceCommunity.json
@@ -0,0 +1,165 @@
+{
+ "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-01-01"
+ },
+ "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}/providers/Microsoft.Network/bgpServiceCommunities": {
+ "get": {
+ "tags": [
+ "BgpServiceCommunities"
+ ],
+ "operationId": "BgpServiceCommunities_List",
+ "x-ms-examples": {
+ "ServiceCommunityList": { "$ref": "./examples/ServiceCommunityList.json" }
+ },
+ "description": "Gets all the available bgp service communities.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of BgpServiceCommunity resources.",
+ "schema": {
+ "$ref": "#/definitions/BgpServiceCommunityListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BGPCommunity": {
+ "properties": {
+ "serviceSupportedRegion": {
+ "type": "string",
+ "description": "The region which the service support. e.g. For O365, region is Global."
+ },
+ "communityName": {
+ "type": "string",
+ "description": "The name of the bgp community. e.g. Skype."
+ },
+ "communityValue": {
+ "type": "string",
+ "description": "The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing."
+ },
+ "communityPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The prefixes that the bgp community contains."
+ },
+ "isAuthorizedToUse": {
+ "type": "boolean",
+ "description": "Customer is authorized to use bgp community or not."
+ },
+ "serviceGroup": {
+ "type": "string",
+ "description": "The service group of the bgp community contains."
+ }
+ },
+ "description": "Contains bgp community information offered in Service Community resources."
+ },
+ "BgpServiceCommunityPropertiesFormat": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the bgp community. e.g. Skype."
+ },
+ "bgpCommunities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BGPCommunity"
+ },
+ "description": "Get a list of bgp communities."
+ }
+ },
+ "description": "Properties of Service Community."
+ },
+ "BgpServiceCommunity": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BgpServiceCommunityPropertiesFormat"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Service Community Properties."
+ },
+ "BgpServiceCommunityListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BgpServiceCommunity"
+ },
+ "description": "A list of service community resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListServiceCommunity API service call."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/usage.json
new file mode 100644
index 000000000000..33db9b43544e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/usage.json
@@ -0,0 +1,167 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages": {
+ "get": {
+ "tags": [
+ "Usages"
+ ],
+ "operationId": "Usages_List",
+ "description": "List network usages for a subscription.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location where resource usage is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Usage resources.",
+ "schema": {
+ "$ref": "#/definitions/UsagesListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List usages": { "$ref": "./examples/UsageList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UsageName": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "A string describing the resource name."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "A localized string describing the resource name."
+ }
+ },
+ "description": "The usage names."
+ },
+ "Usage": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource identifier."
+ },
+ "unit": {
+ "type": "string",
+ "description": "An enum describing the unit of measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "UsageUnit",
+ "modelAsString": true
+ }
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The current value of the usage."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The limit of usage."
+ },
+ "name": {
+ "$ref": "#/definitions/UsageName",
+ "description": "The name of the type of usage."
+ }
+ },
+ "required": [
+ "unit",
+ "currentValue",
+ "limit",
+ "name"
+ ],
+ "description": "Describes network resource usage."
+ },
+ "UsagesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list network resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ },
+ "description": "The list usages operation response."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/virtualNetwork.json
new file mode 100644
index 000000000000..c1e125df2624
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/virtualNetwork.json
@@ -0,0 +1,1251 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Delete",
+ "description": "Deletes the specified virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete virtual network": { "$ref": "./examples/VirtualNetworkDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Get",
+ "description": "Gets the specified virtual network by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get virtual network": { "$ref": "./examples/VirtualNetworkGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_CreateOrUpdate",
+ "description": "Creates or updates a virtual network in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ },
+ "description": "Parameters supplied to the create or update virtual network operation"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create virtual network": { "$ref": "./examples/VirtualNetworkCreate.json" },
+ "Create virtual network with subnet": { "$ref": "./examples/VirtualNetworkCreateSubnet.json" },
+ "Create virtual network with service endpoints": { "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_UpdateTags",
+ "description": "Updates a virtual network tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update virtual network tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetwork resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update virtual network tags": { "$ref": "./examples/VirtualNetworkUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": {
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_ListAll",
+ "description": "Gets all virtual networks in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetwork resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual networks": { "$ref": "./examples/VirtualNetworkListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": {
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_List",
+ "description": "Gets all virtual networks in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetwork resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual networks in resource group": { "$ref": "./examples/VirtualNetworkList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": {
+ "delete": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_Delete",
+ "description": "Deletes the specified subnet.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "subnetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete subnet": { "$ref": "./examples/SubnetDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_Get",
+ "description": "Gets the specified subnet by virtual network and resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "subnetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Subnet resource.",
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get subnet": { "$ref": "./examples/SubnetGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_CreateOrUpdate",
+ "description": "Creates or updates a subnet in the specified virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "subnetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ {
+ "name": "subnetParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ },
+ "description": "Parameters supplied to the create or update subnet operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Subnet resource.",
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Subnet resource.",
+ "schema": {
+ "$ref": "#/definitions/Subnet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create subnet": { "$ref": "./examples/SubnetCreate.json" },
+ "Create subnet with service endpoints": { "$ref": "./examples/SubnetCreateServiceEndpoint.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": {
+ "get": {
+ "tags": [
+ "Subnets"
+ ],
+ "operationId": "Subnets_List",
+ "description": "Gets all subnets in a virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Subnet resources.",
+ "schema": {
+ "$ref": "#/definitions/SubnetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List subnets": { "$ref": "./examples/SubnetList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_Delete",
+ "description": "Deletes the specified virtual network peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "virtualNetworkPeeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Delete peering": { "$ref": "./examples/VirtualNetworkPeeringDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_Get",
+ "description": "Gets the specified virtual network peering.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "virtualNetworkPeeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network peering."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get peering": { "$ref": "./examples/VirtualNetworkPeeringGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_CreateOrUpdate",
+ "description": "Creates or updates a peering in the specified virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "name": "virtualNetworkPeeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "VirtualNetworkPeeringParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "Parameters supplied to the create or update virtual network peering operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create peering": { "$ref": "./examples/VirtualNetworkPeeringCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": {
+ "get": {
+ "tags": [
+ "VirtualNetworkPeerings"
+ ],
+ "operationId": "VirtualNetworkPeerings_List",
+ "description": "Gets all virtual network peerings in a virtual network.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeeringListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List peerings": { "$ref": "./examples/VirtualNetworkPeeringList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability": {
+ "get": {
+ "operationId": "VirtualNetworks_CheckIPAddressAvailability",
+ "description": "Checks whether a private IP address is available for use.",
+ "parameters": [
+ {
+ "name": "ipAddress",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The private IP address to be verified."
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private IP address availability and list of other free addresses if the requested one is not available.",
+ "schema": {
+ "$ref": "#/definitions/IPAddressAvailabilityResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check IP address availability": { "$ref": "./examples/VirtualNetworkCheckIPAddressAvailability.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages": {
+ "get": {
+ "operationId": "VirtualNetworks_ListUsage",
+ "description": "Lists usage stats.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Usage stats for vnet.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkListUsageResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VnetGetUsage": { "$ref": "./examples/VirtualNetworkListUsage.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceNavigationLinkFormat": {
+ "properties": {
+ "linkedResourceType": {
+ "type": "string",
+ "description": "Resource type of the linked resource."
+ },
+ "link": {
+ "type": "string",
+ "description": "Link to the external resource"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the ResourceNavigationLink resource."
+ }
+ },
+ "description": "Properties of ResourceNavigationLink."
+ },
+ "ResourceNavigationLink": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ResourceNavigationLinkFormat",
+ "description": "Resource navigation link properties format."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "ResourceNavigationLink resource."
+ },
+ "SubnetPropertiesFormat": {
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The address prefix for the subnet."
+ },
+ "networkSecurityGroup": {
+ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
+ "description": "The reference of the NetworkSecurityGroup resource."
+ },
+ "routeTable": {
+ "$ref": "./routeTable.json#/definitions/RouteTable",
+ "description": "The reference of the RouteTable resource."
+ },
+ "serviceEndpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPropertiesFormat"
+ },
+ "description": "An array of service endpoints."
+ },
+ "ipConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/IPConfiguration"
+ },
+ "description": "Gets an array of references to the network interface IP configurations using subnet."
+ },
+ "resourceNavigationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "Gets an array of references to the external resources using subnet."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of the subnet."
+ },
+ "ServiceEndpointPropertiesFormat": {
+ "properties": {
+ "service": {
+ "type": "string",
+ "description": "The type of the endpoint service."
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of locations."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "The service endpoint properties."
+ },
+ "VirtualNetworkPeeringPropertiesFormat": {
+ "properties": {
+ "allowVirtualNetworkAccess": {
+ "type": "boolean",
+ "description": "Whether the VMs in the linked virtual network space would be able to access all the VMs in local Virtual network space."
+ },
+ "allowForwardedTraffic": {
+ "type": "boolean",
+ "description": "Whether the forwarded traffic from the VMs in the remote virtual network will be allowed/disallowed."
+ },
+ "allowGatewayTransit": {
+ "type": "boolean",
+ "description": "If gateway links can be used in remote virtual networking to link to this virtual network."
+ },
+ "useRemoteGateways": {
+ "type": "boolean",
+ "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway."
+ },
+ "remoteVirtualNetwork": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)."
+ },
+ "remoteAddressSpace": {
+ "$ref": "#/definitions/AddressSpace",
+ "description": "The reference of the remote virtual network address space."
+ },
+ "peeringState": {
+ "type": "string",
+ "description": "The status of the virtual network peering. Possible values are 'Initiated', 'Connected', and 'Disconnected'.",
+ "enum": [
+ "Initiated",
+ "Connected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkPeeringState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of the virtual network peering."
+ },
+ "Subnet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubnetPropertiesFormat",
+ "description": "Properties of the subnet."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Subnet in a virtual network resource."
+ },
+ "VirtualNetworkPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat",
+ "description": "Properties of the virtual network peering."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Peerings in a virtual network resource."
+ },
+ "SubnetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ },
+ "description": "The subnets in a virtual network."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network"
+ },
+ "VirtualNetworkPeeringListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "The peerings in a virtual network."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network."
+ },
+ "VirtualNetworkPropertiesFormat": {
+ "properties": {
+ "addressSpace": {
+ "$ref": "#/definitions/AddressSpace",
+ "description": "The AddressSpace that contains an array of IP address ranges that can be used by subnets."
+ },
+ "dhcpOptions": {
+ "$ref": "#/definitions/DhcpOptions",
+ "description": "The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network."
+ },
+ "subnets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ },
+ "description": "A list of subnets in a Virtual Network."
+ },
+ "virtualNetworkPeerings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "A list of peerings in a Virtual Network."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resourceGuid property of the Virtual Network resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "enableDdosProtection": {
+ "type": "boolean",
+ "description": "Indicates if DDoS protection is enabled for all the protected resources in a Virtual Network."
+ },
+ "enableVmProtection": {
+ "type": "boolean",
+ "description": "Indicates if Vm protection is enabled for all the subnets in a Virtual Network."
+ }
+ },
+ "description": "Properties of the virtual network."
+ },
+ "VirtualNetwork": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkPropertiesFormat",
+ "description": "Properties of the virtual network."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Virtual Network resource."
+ },
+ "VirtualNetworkListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetwork"
+ },
+ "description": "Gets a list of VirtualNetwork resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListVirtualNetworks API service call."
+ },
+ "AddressSpace": {
+ "properties": {
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of address blocks reserved for this virtual network in CIDR notation."
+ }
+ },
+ "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network."
+ },
+ "DhcpOptions": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of DNS servers IP addresses."
+ }
+ },
+ "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options."
+ },
+ "IPAddressAvailabilityResult": {
+ "properties": {
+ "available": {
+ "type": "boolean",
+ "description": "Private IP address availability."
+ },
+ "availableIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Contains other available private IP addresses if the asked for address is taken."
+ }
+ },
+ "description": "Response for CheckIPAddressAvailability API service call"
+ },
+ "VirtualNetworkListUsageResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkUsage"
+ },
+ "description": "VirtualNetwork usage stats."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the virtual networks GetUsage API service call."
+ },
+ "VirtualNetworkUsage": {
+ "properties": {
+ "currentValue": {
+ "type": "number",
+ "format": "double",
+ "readOnly": true,
+ "description": "Indicates number of IPs used from the Subnet."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Subnet identifier."
+ },
+ "limit": {
+ "type": "number",
+ "format": "double",
+ "readOnly": true,
+ "description": "Indicates the size of the subnet."
+ },
+ "name": {
+ "$ref": "#/definitions/VirtualNetworkUsageName",
+ "readOnly": true,
+ "description": "The name containing common and localized value for usage."
+ },
+ "unit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Usage units. Returns 'Count'"
+ }
+ },
+ "description": "Usage details for subnet."
+ },
+ "VirtualNetworkUsageName": {
+ "properties": {
+ "localizedValue": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Localized subnet size and usage string."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Subnet size and usage string."
+ }
+ },
+ "description": "Usage strings container."
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..579597d8bfd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/virtualNetworkGateway.json
@@ -0,0 +1,2432 @@
+{
+ "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-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": {
+ "put": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_CreateOrUpdate",
+ "description": "Creates or updates a virtual network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ },
+ "description": "Parameters supplied to create or update virtual network gateway operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Get",
+ "description": "Gets the specified virtual network gateway by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Delete",
+ "description": "Deletes the specified virtual network gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_UpdateTags",
+ "description": "Updates a virtual network gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update virtual network gateway tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Virtual Network Gateway Tags": { "$ref": "./examples/VirtualNetworkGatewayUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": {
+ "get": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_List",
+ "description": "Gets all virtual network gateways by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections": {
+ "get": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_ListConnections",
+ "description": "Gets all the connections in a virtual network gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayListConnectionsResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "VirtualNetworkGatewaysListConnections": { "$ref": "./examples/VirtualNetworkGatewaysListConnections.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Reset",
+ "description": "Resets the primary of the virtual network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "gatewayVip",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Request successful. The operation reset the primary of the virtual network gateway.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_Generatevpnclientpackage",
+ "description": "Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnClientParameters"
+ },
+ "description": "Parameters supplied to the generate virtual network gateway VPN client package operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN client package URL.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GenerateVpnProfile",
+ "description": "Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnClientParameters"
+ },
+ "description": "Parameters supplied to the generate virtual network gateway VPN client package operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetVpnProfilePackageUrl",
+ "description": "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetBgpPeerStatus",
+ "description": "The GetBgpPeerStatus operation retrieves the status of all BGP peers.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "peer",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The IP address of the peer to retrieve the status of."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of BGP peer statuses",
+ "schema": {
+ "$ref": "#/definitions/BgpPeerStatusListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_SupportedVpnDevices",
+ "description": "Gets a xml format representation for supported vpn devices.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for supported vpn devices.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetLearnedRoutes",
+ "description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of advertised BGP routes",
+ "schema": {
+ "$ref": "#/definitions/GatewayRouteListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetAdvertisedRoutes",
+ "description": "This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "peer",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The IP address of the peer"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of learned BGP routes",
+ "schema": {
+ "$ref": "#/definitions/GatewayRouteListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_VpnDeviceConfigurationScript",
+ "description": "Gets a xml format representation for vpn device configuration script.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection for which the configuration script is generated."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnDeviceScriptParameters"
+ },
+ "description": "Parameters supplied to the generate vpn device script operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for vpn device configuration script.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": {
+ "put": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate",
+ "description": "Creates or updates a virtual network gateway connection in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ },
+ "description": "Parameters supplied to the create or update virtual network gateway connection operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_Get",
+ "description": "Gets the specified virtual network gateway connection by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_Delete",
+ "description": "Deletes the specified virtual network Gateway connection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_UpdateTags",
+ "description": "Updates a virtual network gateway connection tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update virtual network gateway connection tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntity"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Virtual Network Gateway Connection Tags": { "$ref": "./examples/VirtualNetworkGatewayConnectionUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": {
+ "put": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_SetSharedKey",
+ "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway connection name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ },
+ "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ },
+ "200": {
+ "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_GetSharedKey",
+ "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway connection shared key name."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
+ "get": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_List",
+ "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation resets the virtual network gateway connection shared key.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGatewayConnections"
+ ],
+ "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey",
+ "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualNetworkGatewayConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway connection reset shared key Name."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionResetSharedKey"
+ },
+ "description": "Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation sets the virtual network gateway connection shared key.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionResetSharedKey"
+ }
+ },
+ "202": {
+ "description": ""
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": {
+ "put": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_CreateOrUpdate",
+ "description": "Creates or updates a local network gateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ },
+ "description": "Parameters supplied to the create or update local network gateway operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_Get",
+ "description": "Gets the specified local network gateway in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_Delete",
+ "description": "Deletes the specified local network gateway.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_UpdateTags",
+ "description": "Updates a local network gateway tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "localNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "type": "string",
+ "description": "The name of the local network gateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update local network gateway tags."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Local Network Gateway Tags": { "$ref": "./examples/LocalNetworkGatewayUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways": {
+ "get": {
+ "tags": [
+ "LocalNetworkGateways"
+ ],
+ "operationId": "LocalNetworkGateways_List",
+ "description": "Gets all the local network gateways in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualNetworkGatewayIPConfigurationPropertiesFormat": {
+ "properties": {
+ "privateIPAllocationMethod": {
+ "type": "string",
+ "description": "The private IP allocation method. Possible values are: 'Static' and 'Dynamic'.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "x-ms-enum": {
+ "name": "IPAllocationMethod",
+ "modelAsString": true
+ }
+ },
+ "subnet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the subnet resource."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the public IP resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of VirtualNetworkGatewayIPConfiguration"
+ },
+ "VirtualNetworkGatewayIPConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayIPConfigurationPropertiesFormat",
+ "description": "Properties of the virtual network gateway ip configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "IP configuration for virtual network gateway"
+ },
+ "VirtualNetworkGatewayPropertiesFormat": {
+ "properties": {
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration"
+ },
+ "description": "IP configurations for virtual network gateway."
+ },
+ "gatewayType": {
+ "type": "string",
+ "description": "The type of this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'.",
+ "enum": [
+ "Vpn",
+ "ExpressRoute"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayType",
+ "modelAsString": true
+ }
+ },
+ "vpnType": {
+ "type": "string",
+ "description": "The type of this virtual network gateway. Possible values are: 'PolicyBased' and 'RouteBased'.",
+ "enum": [
+ "PolicyBased",
+ "RouteBased"
+ ],
+ "x-ms-enum": {
+ "name": "VpnType",
+ "modelAsString": true
+ }
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "Whether BGP is enabled for this virtual network gateway or not."
+ },
+ "activeActive": {
+ "type": "boolean",
+ "description": "ActiveActive flag"
+ },
+ "gatewayDefaultSite": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference of the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting."
+ },
+ "sku": {
+ "$ref": "#/definitions/VirtualNetworkGatewaySku",
+ "description": "The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway."
+ },
+ "vpnClientConfiguration": {
+ "$ref": "#/definitions/VpnClientConfiguration",
+ "description": "The reference of the VpnClientConfiguration resource which represents the P2S VpnClient configurations."
+ },
+ "bgpSettings": {
+ "$ref": "#/definitions/BgpSettings",
+ "description": "Virtual network gateway's BGP speaker settings."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the VirtualNetworkGateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VirtualNetworkGateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "VirtualNetworkGateway properties"
+ },
+ "VpnClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VPN client root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "publicCertData"
+ ],
+ "description": "Properties of SSL certificates of application gateway"
+ },
+ "VpnClientRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat",
+ "description": "Properties of the vpn client root certificate."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "VPN client root certificate of virtual network gateway"
+ },
+ "VpnClientRevokedCertificatePropertiesFormat": {
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "description": "The revoked VPN client certificate thumbprint."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VPN client revoked certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the revoked VPN client certificate of virtual network gateway."
+ },
+ "VpnClientRevokedCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat",
+ "description": "Properties of the vpn client revoked certificate."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VPN client revoked certificate of virtual network gateway."
+ },
+ "VpnClientConfiguration": {
+ "properties": {
+ "vpnClientAddressPool": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents Address space for P2S VpnClient."
+ },
+ "vpnClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnClientRootCertificate"
+ },
+ "description": "VpnClientRootCertificate for virtual network gateway."
+ },
+ "vpnClientRevokedCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnClientRevokedCertificate"
+ },
+ "description": "VpnClientRevokedCertificate for Virtual network gateway."
+ },
+ "vpnClientProtocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "VPN client protocol enabled for the virtual network gateway.",
+ "enum": [
+ "IkeV2",
+ "SSTP"
+ ],
+ "x-ms-enum": {
+ "name": "VpnClientProtocol",
+ "modelAsString": true
+ }
+ },
+ "description": "VpnClientProtocols for Virtual network gateway."
+ },
+ "radiusServerAddress": {
+ "type": "string",
+ "description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
+ },
+ "radiusServerSecret": {
+ "type": "string",
+ "description": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection."
+ }
+ },
+ "description": "VpnClientConfiguration for P2S client."
+ },
+ "VirtualNetworkGatewaySku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Gateway SKU name.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Gateway SKU tier.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewaySkuTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The capacity."
+ }
+ },
+ "description": "VirtualNetworkGatewaySku details"
+ },
+ "BgpSettings": {
+ "properties": {
+ "asn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The BGP speaker's ASN."
+ },
+ "bgpPeeringAddress": {
+ "type": "string",
+ "description": "The BGP peering address and BGP identifier of this BGP speaker."
+ },
+ "peerWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The weight added to routes learned from this BGP speaker."
+ }
+ },
+ "description": "BGP settings details"
+ },
+ "BgpPeerStatus": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The virtual network gateway's local address"
+ },
+ "neighbor": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The remote BGP peer"
+ },
+ "asn": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The autonomous system number of the remote BGP peer"
+ },
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The BGP peer state",
+ "enum": [
+ "Unknown",
+ "Stopped",
+ "Idle",
+ "Connecting",
+ "Connected"
+ ],
+ "x-ms-enum": {
+ "name": "BgpPeerState",
+ "modelAsString": true
+ }
+ },
+ "connectedDuration": {
+ "type": "string",
+ "readOnly": true,
+ "description": "For how long the peering has been up"
+ },
+ "routesReceived": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The number of routes learned from this peer"
+ },
+ "messagesSent": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The number of BGP messages sent"
+ },
+ "messagesReceived": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The number of BGP messages received"
+ }
+ },
+ "description": "BGP peer status details"
+ },
+ "GatewayRoute": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The gateway's local address"
+ },
+ "network": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The route's network prefix"
+ },
+ "nextHop": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The route's next hop"
+ },
+ "sourcePeer": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The peer this route was learned from"
+ },
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The source this route was learned from"
+ },
+ "asPath": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The route's AS path sequence"
+ },
+ "weight": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The route's weight"
+ }
+ },
+ "description": "Gateway routing details"
+ },
+ "VirtualNetworkGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat",
+ "description": "Properties of the virtual network gateway."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "VpnClientParameters": {
+ "properties": {
+ "processorArchitecture": {
+ "type": "string",
+ "description": "VPN client Processor Architecture. Possible values are: 'AMD64' and 'X86'.",
+ "enum": [
+ "Amd64",
+ "X86"
+ ],
+ "x-ms-enum": {
+ "name": "ProcessorArchitecture",
+ "modelAsString": true
+ }
+ },
+ "authenticationMethod": {
+ "type": "string",
+ "description": "VPN client Authentication Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "radiusServerAuthCertificate": {
+ "type": "string",
+ "description": "The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication."
+ },
+ "clientRootCertificates": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS."
+ }
+ },
+ "description": "Vpn Client Parameters for package generation"
+ },
+ "VirtualNetworkGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ },
+ "description": "Gets a list of VirtualNetworkGateway resources that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListVirtualNetworkGateways API service call."
+ },
+ "BgpPeerStatusListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BgpPeerStatus"
+ },
+ "description": "List of BGP peers"
+ }
+ },
+ "description": "Response for list BGP peer status API service call"
+ },
+ "GatewayRouteListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GatewayRoute"
+ },
+ "description": "List of gateway routes"
+ }
+ },
+ "description": "List of virtual network gateway routes"
+ },
+ "TunnelConnectionHealth": {
+ "properties": {
+ "tunnel": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Tunnel name."
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Virtual network Gateway connection status",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "ingressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The Ingress Bytes Transferred in this connection"
+ },
+ "egressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The Egress Bytes Transferred in this connection"
+ },
+ "lastConnectionEstablishedUtcTime": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time at which connection was established in Utc format."
+ }
+ },
+ "description": "VirtualNetworkGatewayConnection properties"
+ },
+ "VirtualNetworkGatewayConnectionPropertiesFormat": {
+ "properties": {
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorizationKey."
+ },
+ "virtualNetworkGateway1": {
+ "$ref": "#/definitions/VirtualNetworkGateway",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "virtualNetworkGateway2": {
+ "$ref": "#/definitions/VirtualNetworkGateway",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "localNetworkGateway2": {
+ "$ref": "#/definitions/LocalNetworkGateway",
+ "description": "The reference to local network gateway resource."
+ },
+ "connectionType": {
+ "type": "string",
+ "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "enum": [
+ "IPsec",
+ "Vnet2Vnet",
+ "ExpressRoute",
+ "VPNClient"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionType",
+ "modelAsString": true
+ }
+ },
+ "routingWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The routing weight."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The IPSec shared key."
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Virtual network Gateway connection status. Possible values are 'Unknown', 'Connecting', 'Connected' and 'NotConnected'.",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "tunnelConnectionStatus": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TunnelConnectionHealth"
+ },
+ "description": "Collection of all tunnels' connection health status."
+ },
+ "egressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The egress bytes transferred in this connection."
+ },
+ "ingressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The ingress bytes transferred in this connection."
+ },
+ "peer": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to peerings resource."
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "ipsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpsecPolicy"
+ },
+ "description": "The IPSec Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the VirtualNetworkGatewayConnection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "virtualNetworkGateway1",
+ "connectionType"
+ ],
+ "description": "VirtualNetworkGatewayConnection properties"
+ },
+ "VirtualNetworkGatewayConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionPropertiesFormat",
+ "description": "Properties of the virtual network gateway connection."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "VirtualNetworkGatewayConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ },
+ "description": "Gets a list of VirtualNetworkGatewayConnection resources that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the ListVirtualNetworkGatewayConnections API service call"
+ },
+ "ConnectionResetSharedKey": {
+ "properties": {
+ "keyLength": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 128,
+ "description": "The virtual network connection reset shared key length, should between 1 and 128."
+ }
+ },
+ "required": [
+ "keyLength"
+ ],
+ "description": "The virtual network connection reset shared key"
+ },
+ "ConnectionSharedKey": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The virtual network connection shared key value."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "Response for GetConnectionSharedKey API service call"
+ },
+ "IpsecPolicy": {
+ "properties": {
+ "saLifeTimeSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel."
+ },
+ "saDataSizeKilobytes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel."
+ },
+ "ipsecEncryption": {
+ "type": "string",
+ "description": "The IPSec encryption algorithm (IKE phase 1).",
+ "enum": [
+ "None",
+ "DES",
+ "DES3",
+ "AES128",
+ "AES192",
+ "AES256",
+ "GCMAES128",
+ "GCMAES192",
+ "GCMAES256"
+ ],
+ "x-ms-enum": {
+ "name": "IpsecEncryption",
+ "modelAsString": true
+ }
+ },
+ "ipsecIntegrity": {
+ "type": "string",
+ "description": "The IPSec integrity algorithm (IKE phase 1).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "GCMAES128",
+ "GCMAES192",
+ "GCMAES256"
+ ],
+ "x-ms-enum": {
+ "name": "IpsecIntegrity",
+ "modelAsString": true
+ }
+ },
+ "ikeEncryption": {
+ "type": "string",
+ "description": "The IKE encryption algorithm (IKE phase 2).",
+ "enum": [
+ "DES",
+ "DES3",
+ "AES128",
+ "AES192",
+ "AES256"
+ ],
+ "x-ms-enum": {
+ "name": "IkeEncryption",
+ "modelAsString": true
+ }
+ },
+ "ikeIntegrity": {
+ "type": "string",
+ "description": "The IKE integrity algorithm (IKE phase 2).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "SHA384"
+ ],
+ "x-ms-enum": {
+ "name": "IkeIntegrity",
+ "modelAsString": true
+ }
+ },
+ "dhGroup": {
+ "type": "string",
+ "description": "The DH Groups used in IKE Phase 1 for initial SA.",
+ "enum": [
+ "None",
+ "DHGroup1",
+ "DHGroup2",
+ "DHGroup14",
+ "DHGroup2048",
+ "ECP256",
+ "ECP384",
+ "DHGroup24"
+ ],
+ "x-ms-enum": {
+ "name": "DhGroup",
+ "modelAsString": true
+ }
+ },
+ "pfsGroup": {
+ "type": "string",
+ "description": "The DH Groups used in IKE Phase 2 for new child SA.",
+ "enum": [
+ "None",
+ "PFS1",
+ "PFS2",
+ "PFS2048",
+ "ECP256",
+ "ECP384",
+ "PFS24"
+ ],
+ "x-ms-enum": {
+ "name": "PfsGroup",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "saLifeTimeSeconds",
+ "saDataSizeKilobytes",
+ "ipsecEncryption",
+ "ipsecIntegrity",
+ "ikeEncryption",
+ "ikeIntegrity",
+ "dhGroup",
+ "pfsGroup"
+ ],
+ "description": "An IPSec Policy configuration for a virtual network gateway connection"
+ },
+ "LocalNetworkGatewayPropertiesFormat": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "Local network site address space."
+ },
+ "gatewayIpAddress": {
+ "type": "string",
+ "description": "IP address of local network gateway."
+ },
+ "bgpSettings": {
+ "$ref": "#/definitions/BgpSettings",
+ "description": "Local network gateway's BGP speaker settings."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the LocalNetworkGateway resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "LocalNetworkGateway properties"
+ },
+ "LocalNetworkGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat",
+ "description": "Properties of the local network gateway."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "LocalNetworkGatewayListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ },
+ "description": "A list of local network gateways that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListLocalNetworkGateways API service call."
+ },
+ "virtualNetworkConnectionGatewayReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of VirtualNetworkGateway or LocalNetworkGateway resource."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "A reference to VirtualNetworkGateway or LocalNetworkGateway resource."
+ },
+ "VirtualNetworkGatewayConnectionListEntityPropertiesFormat": {
+ "properties": {
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorizationKey."
+ },
+ "virtualNetworkGateway1": {
+ "$ref": "#/definitions/virtualNetworkConnectionGatewayReference",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "virtualNetworkGateway2": {
+ "$ref": "#/definitions/virtualNetworkConnectionGatewayReference",
+ "description": "The reference to virtual network gateway resource."
+ },
+ "localNetworkGateway2": {
+ "$ref": "#/definitions/virtualNetworkConnectionGatewayReference",
+ "description": "The reference to local network gateway resource."
+ },
+ "connectionType": {
+ "type": "string",
+ "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "enum": [
+ "IPsec",
+ "Vnet2Vnet",
+ "ExpressRoute",
+ "VPNClient"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionType",
+ "modelAsString": true
+ }
+ },
+ "routingWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The routing weight."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The IPSec shared key."
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Virtual network Gateway connection status. Possible values are 'Unknown', 'Connecting', 'Connected' and 'NotConnected'.",
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "tunnelConnectionStatus": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TunnelConnectionHealth"
+ },
+ "description": "Collection of all tunnels' connection health status."
+ },
+ "egressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The egress bytes transferred in this connection."
+ },
+ "ingressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The ingress bytes transferred in this connection."
+ },
+ "peer": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to peerings resource."
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "usePolicyBasedTrafficSelectors": {
+ "type": "boolean",
+ "description": "Enable policy-based traffic selectors."
+ },
+ "ipsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpsecPolicy"
+ },
+ "description": "The IPSec Policies to be considered by this connection."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the VirtualNetworkGatewayConnection resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "virtualNetworkGateway1",
+ "connectionType"
+ ],
+ "description": "VirtualNetworkGatewayConnection properties"
+ },
+ "VirtualNetworkGatewayConnectionListEntity": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntityPropertiesFormat",
+ "description": "Properties of the virtual network gateway connection."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "A common class for general resource information"
+ },
+ "VirtualNetworkGatewayListConnectionsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntity"
+ },
+ "description": "Gets a list of VirtualNetworkGatewayConnection resources that exists in a resource group."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for the VirtualNetworkGatewayListConnections API service call"
+ },
+ "VpnDeviceScriptParameters": {
+ "properties": {
+ "vendor": {
+ "type": "string",
+ "description": "The vendor for the vpn device."
+ },
+ "deviceFamily": {
+ "type": "string",
+ "description": "The device family for the vpn device."
+ },
+ "firmwareVersion": {
+ "type": "string",
+ "description": "The firmware version for the vpn device."
+ }
+ },
+ "description": "Vpn device configuration script generation parameters"
+ }
+ },
+ "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/network/resource-manager/Microsoft.Network/stable/2018-01-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..b9cb4ede4929
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/vmssNetworkInterface.json
@@ -0,0 +1,400 @@
+{
+ "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": "2017-03-30"
+ },
+ "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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces",
+ "description": "Gets information about all network interfaces in a virtual machine in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual machine scale set vm network interfaces": { "$ref": "./examples/VmssVmNetworkInterfaceList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces",
+ "description": "Gets all network interfaces in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual machine scale set network interfaces": { "$ref": "./examples/VmssNetworkInterfaceList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface",
+ "description": "Get the specified network interface in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterface resource.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get virtual machine scale set network interface": { "$ref": "./examples/VmssNetworkInterfaceGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetIpConfigurations",
+ "description": "Get the specified network interface ip configuration in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the list of resulting NetworkInterfaceIPConfigurations resources.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual machine scale set network interface ip configurations": { "$ref": "./examples/VmssNetworkInterfaceIpConfigList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetIpConfiguration",
+ "description": "Get the specified network interface ip configuration in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ip configuration."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkInterfaceIPConfiguration resource.",
+ "schema": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get virtual machine scale set network interface": { "$ref": "./examples/VmssNetworkInterfaceIpConfigGet.json" }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..79113ac031f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-01-01/vmssPublicIpAddress.json
@@ -0,0 +1,261 @@
+{
+ "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": "2017-03-30"
+ },
+ "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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses": {
+ "get": {
+ "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetPublicIPAddresses",
+ "description": "Gets information about all public IP addresses on a virtual machine scale set level.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPInterface resources.",
+ "schema": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVMSSPublicIP": { "$ref": "./examples/VmssPublicIpListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses" : {
+ "get": {
+ "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetVMPublicIPAddresses",
+ "description": "Gets information about all public IP addresses in a virtual machine IP configuration in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The network interface name."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPAddress resources.",
+ "schema": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVMSSVMPublicIP": { "$ref": "./examples/VmssVmPublicIpList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}": {
+ "get": {
+ "operationId": "PublicIPAddresses_GetVirtualMachineScaleSetPublicIPAddress",
+ "description": "Get the specified public IP address in a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set."
+ },
+ {
+ "name": "virtualmachineIndex",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual machine index."
+ },
+ {
+ "name": "networkInterfaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network interface."
+ },
+ {
+ "name": "ipConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the IP configuration."
+ },
+ {
+ "name": "publicIpAddressName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP Address."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2017-03-30"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "description": "Client API version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "x-ms-examples": {
+ "GetVMSSPublicIP": { "$ref": "./examples/VmssPublicIpGet.json" }
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting PublicIPAddress resource.",
+ "schema": {
+ "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md
index 3c0545a77dae..7226c35524bb 100644
--- a/specification/network/resource-manager/readme.md
+++ b/specification/network/resource-manager/readme.md
@@ -28,7 +28,63 @@ These are the global settings for the Network API.
title: NetworkManagementClient
description: Network Client
openapi-type: arm
-tag: package-2017-10
+tag: package-2018-01
+```
+
+### Tag: package-2018-01
+
+These settings apply only when `--tag=package-2018-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-01'
+input-file:
+- Microsoft.Network/stable/2018-01-01/applicationGateway.json
+- Microsoft.Network/stable/2018-01-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2018-01-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2018-01-01/endpointService.json
+- Microsoft.Network/stable/2018-01-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2018-01-01/loadBalancer.json
+- Microsoft.Network/stable/2018-01-01/network.json
+- Microsoft.Network/stable/2018-01-01/networkInterface.json
+- Microsoft.Network/stable/2018-01-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2018-01-01/networkWatcher.json
+- Microsoft.Network/stable/2018-01-01/operation.json
+- Microsoft.Network/stable/2018-01-01/publicIpAddress.json
+- Microsoft.Network/stable/2018-01-01/routeFilter.json
+- Microsoft.Network/stable/2018-01-01/routeTable.json
+- Microsoft.Network/stable/2018-01-01/serviceCommunity.json
+- Microsoft.Network/stable/2018-01-01/usage.json
+- Microsoft.Network/stable/2018-01-01/virtualNetwork.json
+- Microsoft.Network/stable/2018-01-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2018-01-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2018-01-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2017-11
+
+These settings apply only when `--tag=package-2017-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-11'
+input-file:
+- Microsoft.Network/stable/2017-11-01/applicationGateway.json
+- Microsoft.Network/stable/2017-11-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2017-11-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-11-01/endpointService.json
+- Microsoft.Network/stable/2017-11-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-11-01/loadBalancer.json
+- Microsoft.Network/stable/2017-11-01/network.json
+- Microsoft.Network/stable/2017-11-01/networkInterface.json
+- Microsoft.Network/stable/2017-11-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-11-01/networkWatcher.json
+- Microsoft.Network/stable/2017-11-01/operation.json
+- Microsoft.Network/stable/2017-11-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-11-01/routeFilter.json
+- Microsoft.Network/stable/2017-11-01/routeTable.json
+- Microsoft.Network/stable/2017-11-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-11-01/usage.json
+- Microsoft.Network/stable/2017-11-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-11-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2017-11-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2017-11-01/vmssPublicIpAddress.json
```
### Tag: package-2017-10
@@ -264,6 +320,21 @@ input-file:
# 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
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-network
+ - repo: azure-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -290,6 +361,52 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-01
+ - tag: package-2017-11
+ - tag: package-2017-10
+ - tag: package-2017-09
+ - tag: package-2017-08
+ - tag: package-2017-06
+ - tag: package-2017-03
+ - tag: package-2016-12
+ - tag: package-2016-09
+ - tag: package-2016-06
+ - tag: package-2016-03
+ - tag: package-2015-06split
+ - tag: package-2015-05-preview
+```
+
+### Tag: package-2018-01 and go
+
+These settings apply only when `--tag=package-2018-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(go)
+output-folder: $(go-sdk-folder)/services/network/mgmt/2018-01-01/network
+```
+
+### Tag: package-2017-11 and go
+
+These settings apply only when `--tag=package-2017-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-11' && $(go)
+output-folder: $(go-sdk-folder)/services/network/mgmt/2017-11-01/network
+```
+
+### Tag: package-2017-10 and go
+
+These settings apply only when `--tag=package-2017-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-10' && $(go)
+output-folder: $(go-sdk-folder)/services/network/mgmt/2017-10-01/network
+```
+
### Tag: package-2017-09 and go
These settings apply only when `--tag=package-2017-09 --go` is specified on the command line.
@@ -401,6 +518,8 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2018-01
+ - tag: package-2017-11
- tag: package-2017-10
- tag: package-2017-09
- tag: package-2017-08
@@ -411,6 +530,28 @@ batch:
- tag: package-2015-06split
```
+### Tag: package-2018-01 and python
+
+These settings apply only when `--tag=package-2018-01 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(python)
+python:
+ namespace: azure.mgmt.network.v2018_01_01
+ output-folder: $(python-sdks-folder)/azure-mgmt-network/azure/mgmt/network/v2018_01_01
+```
+
+### Tag: package-2017-11 and python
+
+These settings apply only when `--tag=package-2017-11 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2017-11' && $(python)
+python:
+ namespace: azure.mgmt.network.v2017_11_01
+ output-folder: $(python-sdks-folder)/azure-mgmt-network/azure/mgmt/network/v2017_11_01
+```
+
### Tag: package-2017-10 and python
These settings apply only when `--tag=package-2017-10 --python` is specified on the command line.
@@ -498,3 +639,19 @@ python:
namespace: azure.mgmt.network.v2015_06_15
output-folder: $(python-sdks-folder)/azure-mgmt-network/azure/mgmt/network/v2015_06_15
```
+
+
+## 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.network
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-network
+```
diff --git a/specification/notificationhubs/resource-manager/readme.md b/specification/notificationhubs/resource-manager/readme.md
index 02439d5e5cb9..9d4569c96a6a 100644
--- a/specification/notificationhubs/resource-manager/readme.md
+++ b/specification/notificationhubs/resource-manager/readme.md
@@ -61,6 +61,20 @@ input-file:
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -115,6 +129,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04
+ - tag: package-2016-03
+ - tag: package-2014-09
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
@@ -141,3 +164,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.notificationhubs
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-notificationhubs
+```
diff --git a/specification/operationalinsights/data-plane/readme.md b/specification/operationalinsights/data-plane/readme.md
index 7c409609e9a1..c84516e8c5af 100644
--- a/specification/operationalinsights/data-plane/readme.md
+++ b/specification/operationalinsights/data-plane/readme.md
@@ -44,6 +44,17 @@ input-file:
# 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-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -61,4 +72,47 @@ directive:
- reason: Rename Query_Post to Query so that we don't get an IQuery interface with 1 operation
where-operation: Query_Post
transform: $.operationId = "Query"
-```
\ No newline at end of file
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: operationalinsights
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: v1
+```
+
+### Tag: v1 and go
+
+These settings apply only when `--tag=v1 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='v1' && $(go)
+output-folder: $(go-sdk-folder)/services/operationalinsights/v1/operationalinsights
+```
+
+
+## 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.operationalinsights
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-operationalinsights
+```
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
index 7dbafea762dd..3e59eea0e1a4 100644
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
@@ -39,6 +39,9 @@
"tags": [
"LinkedServices"
],
+ "x-ms-examples": {
+ "LinkedServicesCreate": { "$ref": "./examples/LinkedServicesCreate.json" }
+ },
"operationId": "LinkedServices_CreateOrUpdate",
"description": "Create or update a linked service.",
"parameters": [
@@ -94,6 +97,9 @@
"tags": [
"LinkedServices"
],
+ "x-ms-examples": {
+ "LinkedServicesDelete": { "$ref": "./examples/LinkedServicesDelete.json" }
+ },
"operationId": "LinkedServices_Delete",
"description": "Deletes a linked service instance.",
"parameters": [
@@ -134,6 +140,9 @@
"tags": [
"LinkedServices"
],
+ "x-ms-examples": {
+ "LinkedServicesGet": { "$ref": "./examples/LinkedServicesGet.json" }
+ },
"operationId": "LinkedServices_Get",
"description": "Gets a linked service instance.",
"parameters": [
@@ -176,6 +185,9 @@
"tags": [
"LinkedServices"
],
+ "x-ms-examples": {
+ "LinkedServicesListByWorkspace": { "$ref": "./examples/LinkedServicesListByWorkspace.json" }
+ },
"operationId": "LinkedServices_ListByWorkspace",
"description": "Gets the linked services instances in a workspace.",
"parameters": [
@@ -214,6 +226,9 @@
"tags": [
"DataSources"
],
+ "x-ms-examples": {
+ "DataSourcesCreate": { "$ref": "./examples/DataSourcesCreate.json" }
+ },
"operationId": "DataSources_CreateOrUpdate",
"description": "Create or update a data source.",
"parameters": [
@@ -263,12 +278,15 @@
"$ref": "#/definitions/DataSource"
}
}
- }
+ }
},
"delete": {
"tags": [
"DataSources"
],
+ "x-ms-examples": {
+ "DataSourcesDelete": { "$ref": "./examples/DataSourcesDelete.json" }
+ },
"operationId": "DataSources_Delete",
"description": "Deletes a data source instance.",
"parameters": [
@@ -309,6 +327,9 @@
"tags": [
"DataSources"
],
+ "x-ms-examples": {
+ "DataSourcesGet": { "$ref": "./examples/DataSourcesGet.json" }
+ },
"operationId": "DataSources_Get",
"description": "Gets a datasource instance.",
"parameters": [
@@ -351,6 +372,9 @@
"tags": [
"DataSources"
],
+ "x-ms-examples": {
+ "DataSourcesListByWorkspace": { "$ref": "./examples/DataSourcesListByWorkspace.json" }
+ },
"operationId": "DataSources_ListByWorkspace",
"description": "Gets the first page of data source instances in a workspace with the link to the next page.",
"parameters": [
@@ -404,6 +428,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "IntelligencePacksDisable": { "$ref": "./examples/WorkspacesDisableIntelligencePack.json" }
+ },
"operationId": "Workspaces_DisableIntelligencePack",
"description": "Disables an intelligence pack for a given workspace.",
"parameters": [
@@ -443,6 +470,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "IntelligencePacksEnable": { "$ref": "./examples/WorkspacesEnableIntelligencePack.json" }
+ },
"operationId": "Workspaces_EnableIntelligencePack",
"description": "Enables an intelligence pack for a given workspace.",
"parameters": [
@@ -482,6 +512,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "IntelligencePacksList": { "$ref": "./examples/WorkspacesListIntelligencePacks.json" }
+ },
"operationId": "Workspaces_ListIntelligencePacks",
"description": "Lists all the intelligence packs possible and whether they are enabled or disabled for a given workspace.",
"parameters": [
@@ -520,6 +553,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "SharedKeysList": { "$ref": "./examples/WorkspacesGetSharedKeys.json" }
+ },
"operationId": "Workspaces_GetSharedKeys",
"description": "Gets the shared keys for a workspace.",
"parameters": [
@@ -555,6 +591,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "UsagesList": { "$ref": "./examples/WorkspacesListUsages.json" }
+ },
"operationId": "Workspaces_ListUsages",
"description": "Gets a list of usage metrics for a workspace.",
"parameters": [
@@ -593,6 +632,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesListManagementGroups": { "$ref": "./examples/WorkspacesListManagementGroups.json" }
+ },
"operationId": "Workspaces_ListManagementGroups",
"description": "Gets a list of management groups connected to a workspace.",
"parameters": [
@@ -631,6 +673,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesGet": { "$ref": "./examples/WorkspacesListByResourceGroup.json" }
+ },
"operationId": "Workspaces_ListByResourceGroup",
"description": "Gets workspaces in a resource group.",
"parameters": [
@@ -662,6 +707,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesSubscriptionList": { "$ref": "./examples/WorkspacesSubscriptionList.json" }
+ },
"operationId": "Workspaces_List",
"description": "Gets the workspaces in a subscription.",
"parameters": [
@@ -690,6 +738,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesCreate": { "$ref": "./examples/WorkspacesCreate.json" }
+ },
"operationId": "Workspaces_CreateOrUpdate",
"description": "Create or update a workspace.",
"parameters": [
@@ -746,6 +797,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesDelete": { "$ref": "./examples/WorkspacesDelete.json" }
+ },
"operationId": "Workspaces_Delete",
"description": "Deletes a workspace instance.",
"parameters": [
@@ -783,6 +837,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspaceGet": { "$ref": "./examples/WorkspacesGet.json" }
+ },
"operationId": "Workspaces_Get",
"description": "Gets a workspace instance.",
"parameters": [
@@ -815,11 +872,131 @@
}
}
}
+ },
+ "patch": {
+ "tags": [
+ "Workspaces"
+ ],
+ "x-ms-examples": {
+ "WorkspacesPatch": { "$ref": "./examples/WorkspacesUpdate.json" }
+ },
+ "operationId": "Workspaces_Update",
+ "description": "Updates a workspace.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the workspace."
+ },
+ {
+ "name": "workspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$",
+ "minLength": 4,
+ "maxLength": 63,
+ "description": "The name of the workspace."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ },
+ "description": "The parameters required to patch a workspace."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing workspace was successfully updated. Check provisioningStatus to see detailed status.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.OperationalInsights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available OperationalInsights Rest API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
}
}
},
"definitions": {
- "LinkedServiceProperties": {
+ "OperationListResult": {
+ "description": "Result of the request to list solution operations.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of solution operations supported by the OperationsManagement resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Supported operation of OperationalInsights resource provider.",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft OperationsManagement.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "LinkedServiceProperties": {
"properties": {
"resourceId": {
"type": "string",
@@ -830,7 +1007,7 @@
"resourceId"
],
"description": "Linked service properties."
- },
+ },
"LinkedService": {
"properties": {
"properties": {
@@ -847,7 +1024,8 @@
"$ref": "#/definitions/ProxyResource"
}
],
- "description": "The top level Linked service resource container."
+ "description": "The top level Linked service resource container.",
+ "x-ms-azure-resource": true
},
"LinkedServiceListResult": {
"properties": {
@@ -909,7 +1087,8 @@
"$ref": "#/definitions/ProxyResource"
}
],
- "description": "Datasources under OMS Workspace."
+ "description": "Datasources under OMS Workspace.",
+ "x-ms-azure-resource": true
},
"DataSourceFilter": {
"properties": {
@@ -944,6 +1123,10 @@
"enabled": {
"type": "boolean",
"description": "The enabled boolean for the intelligence pack."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the intelligence pack."
}
},
"description": "Intelligence Pack containing a string name and boolean indicating if it's enabled."
@@ -1165,7 +1348,8 @@
"$ref": "#/definitions/Resource"
}
],
- "description": "The top level Workspace resource container."
+ "description": "The top level Workspace resource container.",
+ "x-ms-azure-resource": true
},
"WorkspaceListResult": {
"properties": {
@@ -1213,11 +1397,8 @@
"description": "Resource tags"
}
},
- "required": [
- "location"
- ],
"description": "The resource definition.",
- "x-ms-azure-resource": true
+ "x-ms-azure-resource": true
},
"ProxyResource": {
"properties": {
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesCreate.json
new file mode 100644
index 000000000000..16782cbcf5fc
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters":{
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"AzTest9724",
+ "dataSourceName":"AzTestDS774",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000",
+ "parameters":{
+ "properties":{
+ "LinkedResourceId":"/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management"
+ },
+ "kind":"AzureActivityLog"
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "kind":"AzureActivityLog",
+ "properties":{
+ "linkedResourceId":"/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest5123/providers/Microsoft.OperationalInsights/workspaces/AzTest9724/datasources/AzTestDS774",
+ "eTag":"W/\"datetime'2017-10-01T08%3A01%3A21.2351243Z'\"",
+ "name":"AzTestDS774",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ }
+ },
+ "201":{
+ "body":{
+ "kind":"AzureActivityLog",
+ "properties":{
+ "linkedResourceId":"/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest5123/providers/Microsoft.OperationalInsights/workspaces/AzTest9724/datasources/AzTestDS774",
+ "eTag":"W/\"datetime'2017-10-01T08%3A01%3A21.2351243Z'\"",
+ "name":"AzTestDS774",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesDelete.json
new file mode 100644
index 000000000000..b18b2e0ddf5c
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"AzTest9724",
+ "dataSourceName":"AzTestDS774",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{},
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesGet.json
new file mode 100644
index 000000000000..a78b69ddc2af
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters":{
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"AzTest9724",
+ "dataSourceName":"AzTestDS774",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "kind":"AzureActivityLog",
+ "properties":{
+ "linkedResourceId":"/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest5123/providers/Microsoft.OperationalInsights/workspaces/AzTest9724/datasources/AzTestDS774",
+ "eTag":"W/\"datetime'2017-10-01T08%3A01%3A21.2351243Z'\"",
+ "name":"AzTestDS774",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesListByWorkspace.json
new file mode 100644
index 000000000000..a436ad5bbec9
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/DataSourcesListByWorkspace.json
@@ -0,0 +1,3019 @@
+{
+ "parameters":{
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"AzTest9724",
+ "dataSourceName":"AzTestDS774",
+ "$filter":"kind='WindowsEvent'",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent14",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1011",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A08.5629323Z'\"",
+ "name":"AzTestDSWE1011",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent64",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1013",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A22.2533211Z'\"",
+ "name":"AzTestDSWE1013",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent202",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1020",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A04.4645698Z'\"",
+ "name":"AzTestDSWE1020",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent231",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1074",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A12.5871672Z'\"",
+ "name":"AzTestDSWE1074",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent86",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1117",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A28.9325389Z'\"",
+ "name":"AzTestDSWE1117",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent30",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1128",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A13.2185735Z'\"",
+ "name":"AzTestDSWE1128",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent66",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1176",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A22.7779289Z'\"",
+ "name":"AzTestDSWE1176",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent199",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1293",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A03.5114136Z'\"",
+ "name":"AzTestDSWE1293",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent102",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE134",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A33.6788897Z'\"",
+ "name":"AzTestDSWE134",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent111",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1352",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A36.2312139Z'\"",
+ "name":"AzTestDSWE1352",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent31",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1360",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A13.4685716Z'\"",
+ "name":"AzTestDSWE1360",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent53",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1382",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A19.2840543Z'\"",
+ "name":"AzTestDSWE1382",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent132",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1410",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A42.7070374Z'\"",
+ "name":"AzTestDSWE1410",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent211",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1417",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A06.8922838Z'\"",
+ "name":"AzTestDSWE1417",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent274",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1560",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A26.6932412Z'\"",
+ "name":"AzTestDSWE1560",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent212",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1618",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A07.1422661Z'\"",
+ "name":"AzTestDSWE1618",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent221",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1662",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A09.5980265Z'\"",
+ "name":"AzTestDSWE1662",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent121",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1675",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A39.6167744Z'\"",
+ "name":"AzTestDSWE1675",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent157",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE169",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A50.1064668Z'\"",
+ "name":"AzTestDSWE169",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent196",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1735",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A02.4954752Z'\"",
+ "name":"AzTestDSWE1735",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent12",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1742",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A08.0452997Z'\"",
+ "name":"AzTestDSWE1742",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent145",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1815",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A46.5966089Z'\"",
+ "name":"AzTestDSWE1815",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent69",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1828",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A23.6529754Z'\"",
+ "name":"AzTestDSWE1828",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent58",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE188",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A20.7216320Z'\"",
+ "name":"AzTestDSWE188",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent48",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1962",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A17.9341560Z'\"",
+ "name":"AzTestDSWE1962",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent246",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1997",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A17.3081821Z'\"",
+ "name":"AzTestDSWE1997",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent154",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2046",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A49.2918213Z'\"",
+ "name":"AzTestDSWE2046",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent165",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2056",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A52.4111189Z'\"",
+ "name":"AzTestDSWE2056",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent172",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2116",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A54.7598026Z'\"",
+ "name":"AzTestDSWE2116",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent9",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2142",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A07.2711237Z'\"",
+ "name":"AzTestDSWE2142",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent150",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE22",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A48.2064500Z'\"",
+ "name":"AzTestDSWE22",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent218",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2208",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A08.7849248Z'\"",
+ "name":"AzTestDSWE2208",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent161",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2221",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A51.3306230Z'\"",
+ "name":"AzTestDSWE2221",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent75",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2226",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A25.5991266Z'\"",
+ "name":"AzTestDSWE2226",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent38",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2231",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A15.3592513Z'\"",
+ "name":"AzTestDSWE2231",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent208",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2242",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A06.0641077Z'\"",
+ "name":"AzTestDSWE2242",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent228",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2263",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A11.7829226Z'\"",
+ "name":"AzTestDSWE2263",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent259",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2369",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A21.5874093Z'\"",
+ "name":"AzTestDSWE2369",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent210",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE240",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A06.6266574Z'\"",
+ "name":"AzTestDSWE240",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent265",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2423",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A23.4752361Z'\"",
+ "name":"AzTestDSWE2423",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent112",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2463",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A36.5611370Z'\"",
+ "name":"AzTestDSWE2463",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent32",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2499",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A13.7187131Z'\"",
+ "name":"AzTestDSWE2499",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent220",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2509",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A09.3324224Z'\"",
+ "name":"AzTestDSWE2509",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent87",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2541",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A29.2312540Z'\"",
+ "name":"AzTestDSWE2541",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent2",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2578",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A05.3117461Z'\"",
+ "name":"AzTestDSWE2578",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent119",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2619",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A38.5379572Z'\"",
+ "name":"AzTestDSWE2619",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent1",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE274",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A05.0735592Z'\"",
+ "name":"AzTestDSWE274",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent92",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2754",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A30.6297451Z'\"",
+ "name":"AzTestDSWE2754",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent205",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE281",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A05.2972963Z'\"",
+ "name":"AzTestDSWE281",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent101",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2818",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A33.3820072Z'\"",
+ "name":"AzTestDSWE2818",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent236",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2860",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A14.0876077Z'\"",
+ "name":"AzTestDSWE2860",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent93",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2867",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A30.9266089Z'\"",
+ "name":"AzTestDSWE2867",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent278",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2923",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A27.9342580Z'\"",
+ "name":"AzTestDSWE2923",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent138",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2979",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A44.4311007Z'\"",
+ "name":"AzTestDSWE2979",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent217",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3009",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A08.5349323Z'\"",
+ "name":"AzTestDSWE3009",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent269",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3033",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A24.9696296Z'\"",
+ "name":"AzTestDSWE3033",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent49",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3095",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A18.2006423Z'\"",
+ "name":"AzTestDSWE3095",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent118",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3114",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A38.2879169Z'\"",
+ "name":"AzTestDSWE3114",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent116",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3132",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A37.6889867Z'\"",
+ "name":"AzTestDSWE3132",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent185",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3147",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A58.9331954Z'\"",
+ "name":"AzTestDSWE3147",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent109",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3159",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A35.6843083Z'\"",
+ "name":"AzTestDSWE3159",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent46",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE317",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A17.4118415Z'\"",
+ "name":"AzTestDSWE317",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent107",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3175",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A35.0592573Z'\"",
+ "name":"AzTestDSWE3175",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent28",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3183",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A12.6247906Z'\"",
+ "name":"AzTestDSWE3183",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent237",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3217",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A14.4938899Z'\"",
+ "name":"AzTestDSWE3217",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent62",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3220",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A21.7373059Z'\"",
+ "name":"AzTestDSWE3220",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent51",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3228",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A18.7785353Z'\"",
+ "name":"AzTestDSWE3228",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent171",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3395",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A54.4936956Z'\"",
+ "name":"AzTestDSWE3395",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent63",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3416",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A22.0032694Z'\"",
+ "name":"AzTestDSWE3416",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent280",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3506",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A28.8251658Z'\"",
+ "name":"AzTestDSWE3506",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent23",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3517",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A11.2153209Z'\"",
+ "name":"AzTestDSWE3517",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent229",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3528",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A12.0402565Z'\"",
+ "name":"AzTestDSWE3528",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent136",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3530",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A43.8027590Z'\"",
+ "name":"AzTestDSWE3530",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent194",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3594",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A01.9173304Z'\"",
+ "name":"AzTestDSWE3594",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent191",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3615",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A00.8990889Z'\"",
+ "name":"AzTestDSWE3615",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent242",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3645",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A16.0877829Z'\"",
+ "name":"AzTestDSWE3645",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent11",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3676",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A07.8068460Z'\"",
+ "name":"AzTestDSWE3676",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent155",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3700",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A49.5439700Z'\"",
+ "name":"AzTestDSWE3700",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent117",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3738",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A38.0363694Z'\"",
+ "name":"AzTestDSWE3738",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent159",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3740",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A50.6390339Z'\"",
+ "name":"AzTestDSWE3740",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent95",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3754",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A31.5203823Z'\"",
+ "name":"AzTestDSWE3754",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent96",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3761",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A31.7860159Z'\"",
+ "name":"AzTestDSWE3761",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent56",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3787",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A20.0966078Z'\"",
+ "name":"AzTestDSWE3787",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent181",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3880",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A57.8394298Z'\"",
+ "name":"AzTestDSWE3880",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent160",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3887",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A51.0806178Z'\"",
+ "name":"AzTestDSWE3887",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent244",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3899",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A16.6987634Z'\"",
+ "name":"AzTestDSWE3899",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent127",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3928",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A41.4223363Z'\"",
+ "name":"AzTestDSWE3928",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent186",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4005",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A59.1831854Z'\"",
+ "name":"AzTestDSWE4005",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent288",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4021",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A31.5314824Z'\"",
+ "name":"AzTestDSWE4021",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent193",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4054",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A01.6667691Z'\"",
+ "name":"AzTestDSWE4054",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent133",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE406",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A42.9581303Z'\"",
+ "name":"AzTestDSWE406",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent88",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4128",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A29.4890798Z'\"",
+ "name":"AzTestDSWE4128",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent189",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4140",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A00.2051432Z'\"",
+ "name":"AzTestDSWE4140",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent183",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4209",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A58.3706603Z'\"",
+ "name":"AzTestDSWE4209",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent67",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4216",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A23.1240354Z'\"",
+ "name":"AzTestDSWE4216",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent294",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4240",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A33.5368097Z'\"",
+ "name":"AzTestDSWE4240",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent91",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4279",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A30.3641074Z'\"",
+ "name":"AzTestDSWE4279",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent273",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4289",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A26.3963554Z'\"",
+ "name":"AzTestDSWE4289",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent148",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4317",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A47.6751803Z'\"",
+ "name":"AzTestDSWE4317",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent4",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4324",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A05.8120517Z'\"",
+ "name":"AzTestDSWE4324",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent201",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4362",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A04.1208323Z'\"",
+ "name":"AzTestDSWE4362",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent13",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4416",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A08.3109506Z'\"",
+ "name":"AzTestDSWE4416",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent153",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4424",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A48.9744951Z'\"",
+ "name":"AzTestDSWE4424",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent52",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4466",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A19.0457713Z'\"",
+ "name":"AzTestDSWE4466",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent37",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4467",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A15.0936374Z'\"",
+ "name":"AzTestDSWE4467",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent129",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4503",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A41.9399246Z'\"",
+ "name":"AzTestDSWE4503",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent276",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4521",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A27.2714771Z'\"",
+ "name":"AzTestDSWE4521",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent79",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4530",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A26.7419933Z'\"",
+ "name":"AzTestDSWE4530",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent115",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4600",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A37.4227966Z'\"",
+ "name":"AzTestDSWE4600",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent135",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4644",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A43.5519204Z'\"",
+ "name":"AzTestDSWE4644",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent162",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4694",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A51.6431386Z'\"",
+ "name":"AzTestDSWE4694",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent5",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4715",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A06.0530002Z'\"",
+ "name":"AzTestDSWE4715",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent267",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE472",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A24.3989962Z'\"",
+ "name":"AzTestDSWE472",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent243",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4721",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A16.3706498Z'\"",
+ "name":"AzTestDSWE4721",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent295",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4734",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A33.8337155Z'\"",
+ "name":"AzTestDSWE4734",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent270",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4755",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A25.2712759Z'\"",
+ "name":"AzTestDSWE4755",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent81",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4779",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A27.5076680Z'\"",
+ "name":"AzTestDSWE4779",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent0",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4791",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A04.6828938Z'\"",
+ "name":"AzTestDSWE4791",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent170",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4798",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A54.0073520Z'\"",
+ "name":"AzTestDSWE4798",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent263",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE480",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A22.9077505Z'\"",
+ "name":"AzTestDSWE480",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent25",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4847",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A11.7028912Z'\"",
+ "name":"AzTestDSWE4847",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent204",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4876",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A04.9847854Z'\"",
+ "name":"AzTestDSWE4876",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent68",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4900",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A23.4029367Z'\"",
+ "name":"AzTestDSWE4900",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent105",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4918",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A34.5280091Z'\"",
+ "name":"AzTestDSWE4918",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent296",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4928",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A34.2882196Z'\"",
+ "name":"AzTestDSWE4928",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent293",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4930",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A33.2381803Z'\"",
+ "name":"AzTestDSWE4930",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent113",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4945",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A36.8423994Z'\"",
+ "name":"AzTestDSWE4945",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent15",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4967",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A08.9379456Z'\"",
+ "name":"AzTestDSWE4967",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent180",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4969",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A57.5893926Z'\"",
+ "name":"AzTestDSWE4969",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent54",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4983",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A19.5497139Z'\"",
+ "name":"AzTestDSWE4983",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent151",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5011",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A48.4588661Z'\"",
+ "name":"AzTestDSWE5011",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent290",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5082",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A32.2694295Z'\"",
+ "name":"AzTestDSWE5082",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent248",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5136",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A17.8863220Z'\"",
+ "name":"AzTestDSWE5136",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent206",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5141",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A05.5484906Z'\"",
+ "name":"AzTestDSWE5141",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent266",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5166",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A23.9283342Z'\"",
+ "name":"AzTestDSWE5166",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent282",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5207",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A29.4970655Z'\"",
+ "name":"AzTestDSWE5207",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent203",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5223",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A04.7146038Z'\"",
+ "name":"AzTestDSWE5223",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent20",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5233",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A10.3237629Z'\"",
+ "name":"AzTestDSWE5233",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent249",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5253",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A18.1831872Z'\"",
+ "name":"AzTestDSWE5253",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent286",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5255",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A30.9049829Z'\"",
+ "name":"AzTestDSWE5255",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent29",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5263",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A12.8904269Z'\"",
+ "name":"AzTestDSWE5263",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent255",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5351",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A20.4543884Z'\"",
+ "name":"AzTestDSWE5351",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent55",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5385",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A19.7997319Z'\"",
+ "name":"AzTestDSWE5385",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent89",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5394",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A29.7703365Z'\"",
+ "name":"AzTestDSWE5394",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent17",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE541",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A09.4692151Z'\"",
+ "name":"AzTestDSWE541",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent241",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5439",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A15.7994161Z'\"",
+ "name":"AzTestDSWE5439",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent223",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5460",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A10.3032105Z'\"",
+ "name":"AzTestDSWE5460",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent268",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5479",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A24.6802546Z'\"",
+ "name":"AzTestDSWE5479",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent192",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5483",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A01.1670463Z'\"",
+ "name":"AzTestDSWE5483",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent114",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5486",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A37.1393156Z'\"",
+ "name":"AzTestDSWE5486",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent126",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5554",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A41.1205470Z'\"",
+ "name":"AzTestDSWE5554",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent256",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5559",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A20.7200407Z'\"",
+ "name":"AzTestDSWE5559",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent50",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5585",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A18.4534330Z'\"",
+ "name":"AzTestDSWE5585",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent125",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE568",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A40.8861587Z'\"",
+ "name":"AzTestDSWE568",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent230",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5741",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A12.3059271Z'\"",
+ "name":"AzTestDSWE5741",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent120",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE58",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A39.0692471Z'\"",
+ "name":"AzTestDSWE58",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent44",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5810",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A16.9117573Z'\"",
+ "name":"AzTestDSWE5810",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent141",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5815",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A45.4055476Z'\"",
+ "name":"AzTestDSWE5815",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent173",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5858",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A55.0097893Z'\"",
+ "name":"AzTestDSWE5858",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent251",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5866",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A18.9931389Z'\"",
+ "name":"AzTestDSWE5866",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent187",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5888",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A59.4332080Z'\"",
+ "name":"AzTestDSWE5888",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent18",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5905",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A09.7599986Z'\"",
+ "name":"AzTestDSWE5905",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent224",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6027",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A10.6395291Z'\"",
+ "name":"AzTestDSWE6027",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent235",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE607",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A13.7282386Z'\"",
+ "name":"AzTestDSWE607",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent100",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6099",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A33.1319662Z'\"",
+ "name":"AzTestDSWE6099",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent6",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6122",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A06.3186640Z'\"",
+ "name":"AzTestDSWE6122",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent24",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6218",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A11.4528829Z'\"",
+ "name":"AzTestDSWE6218",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent149",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE622",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A47.9407875Z'\"",
+ "name":"AzTestDSWE622",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent209",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6222",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A06.3453921Z'\"",
+ "name":"AzTestDSWE6222",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent60",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6240",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A21.2372832Z'\"",
+ "name":"AzTestDSWE6240",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent216",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6251",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A08.2849036Z'\"",
+ "name":"AzTestDSWE6251",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent195",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6274",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A02.1829375Z'\"",
+ "name":"AzTestDSWE6274",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent98",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6296",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A32.3491070Z'\"",
+ "name":"AzTestDSWE6296",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent261",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6301",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A22.1811938Z'\"",
+ "name":"AzTestDSWE6301",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent7",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6404",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A06.7093003Z'\"",
+ "name":"AzTestDSWE6404",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent3",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6406",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A05.5617435Z'\"",
+ "name":"AzTestDSWE6406",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent123",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6432",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A40.2886854Z'\"",
+ "name":"AzTestDSWE6432",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent110",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6439",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A35.9811949Z'\"",
+ "name":"AzTestDSWE6439",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent233",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6451",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A13.1344490Z'\"",
+ "name":"AzTestDSWE6451",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent22",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6486",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A10.9653354Z'\"",
+ "name":"AzTestDSWE6486",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent19",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6505",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A10.0582011Z'\"",
+ "name":"AzTestDSWE6505",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent166",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6514",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A52.8955201Z'\"",
+ "name":"AzTestDSWE6514",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent225",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6518",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A10.9395226Z'\"",
+ "name":"AzTestDSWE6518",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent70",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6537",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A24.0123335Z'\"",
+ "name":"AzTestDSWE6537",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent179",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6547",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A57.3394082Z'\"",
+ "name":"AzTestDSWE6547",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent103",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6556",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A33.9457044Z'\"",
+ "name":"AzTestDSWE6556",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent234",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6718",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A13.4313542Z'\"",
+ "name":"AzTestDSWE6718",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent108",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6724",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A35.4186784Z'\"",
+ "name":"AzTestDSWE6724",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent27",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6741",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A12.3279180Z'\"",
+ "name":"AzTestDSWE6741",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent72",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6796",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A24.5764501Z'\"",
+ "name":"AzTestDSWE6796",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent299",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6826",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A35.2579899Z'\"",
+ "name":"AzTestDSWE6826",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent297",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6829",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A34.6319483Z'\"",
+ "name":"AzTestDSWE6829",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent85",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6893",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A28.5887776Z'\"",
+ "name":"AzTestDSWE6893",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent41",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6974",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A16.1249736Z'\"",
+ "name":"AzTestDSWE6974",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent279",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7008",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A28.3876585Z'\"",
+ "name":"AzTestDSWE7008",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent281",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7014",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A29.1220764Z'\"",
+ "name":"AzTestDSWE7014",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent272",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7068",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A26.0213457Z'\"",
+ "name":"AzTestDSWE7068",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent260",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7080",
+ "eTag":"W/\"datetime'2017-10-02T23%3A21%3A21.8686663Z'\"",
+ "name":"AzTestDSWE7080",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent124",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7166",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A40.5423724Z'\"",
+ "name":"AzTestDSWE7166",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ },
+ {
+ "kind":"WindowsEvent",
+ "properties":{
+ "eventLogName":"windowsEvent42",
+ "eventTypes":[
+ {
+ "eventType":"Error"
+ }
+ ]
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7178",
+ "eTag":"W/\"datetime'2017-10-02T23%3A20%3A16.3906307Z'\"",
+ "name":"AzTestDSWE7178",
+ "type":"Microsoft.OperationalInsights/workspaces/datasources"
+ }
+ ],
+ "nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/dataSources?$filter=kind+eq+'WindowsEvent'&api-version=2015-11-01-preview&$skiptoken=AzTestDSWE7191"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesCreate.json
new file mode 100644
index 000000000000..d283ffb0bacd
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters":{
+ "resourceGroupName":"mms-eus",
+ "workspaceName":"TestLinkWS",
+ "linkedServiceName":"TestLinkWS/Automation",
+ "parameters":{
+ "properties":{
+ "resourceId":"/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Automation/automationAccounts/testAccount"
+ }
+ },
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties":{
+ "resourceId":"/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Automation/automationAccounts/TestAccount"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/automation",
+ "name":"TestLinkWS/Automation",
+ "type":"Microsoft.OperationalInsights/workspaces/linkedServices"
+ }
+ },
+ "201":{
+ "body":{
+ "properties":{
+ "resourceId":"/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Automation/automationAccounts/TestAccount"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/automation",
+ "name":"TestLinkWS/Automation",
+ "type":"Microsoft.OperationalInsights/workspaces/linkedServices"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesDelete.json
new file mode 100644
index 000000000000..f4370a825464
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "linkedServiceName": "TestLinkWS/Automation",
+ "workspaceName": "TestLinkWS",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-11-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesGet.json
new file mode 100644
index 000000000000..093fbee6bec3
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters":{
+ "resourceGroupName":"mms-eus",
+ "workspaceName":"TestLinkWS",
+ "linkedServiceName":"TestLinkWS/Automation",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties":{
+ "resourceId":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.Automation/automationAccounts/TestAccount"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/automation",
+ "name":"TestLinkWS/Automation",
+ "type":"Microsoft.OperationalInsights/workspaces/linkedServices"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesListByWorkspace.json
new file mode 100644
index 000000000000..af7d524604d1
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/LinkedServicesListByWorkspace.json
@@ -0,0 +1,30 @@
+{
+ "parameters":{
+ "resourceGroupName":"mms-eus",
+ "workspaceName":"TestLinkWS",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "properties":{
+ "resourceId":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.Automation/automationAccounts/TestAccount"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/automation",
+ "name":"TestLinkWS/Automation",
+ "type":"Microsoft.OperationalInsights/workspaces/linkedServices"
+ },
+ {
+ "properties":{
+ "resourceId":"/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.Automation/automationAccounts/TestAccount2"
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/automation",
+ "name":"TestLinkWS/Automation",
+ "type":"Microsoft.OperationalInsights/workspaces/linkedServices"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/OperationsList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..dcae3a0690a0
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/OperationsList.json
@@ -0,0 +1,2273 @@
+{
+ "parameters":{
+ "api-version":"2015-11-01-preview"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Workspace",
+ "operation":"Create Workspace",
+ "description":"Creates a new workspace or links to an existing workspace by providing the customer id from the existing workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Workspace",
+ "operation":"Get Workspace",
+ "description":"Gets an existing workspace"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Workspace",
+ "operation":"Delete Workspace",
+ "description":"Deletes a workspace. If the workspace was linked to an existing workspace at creation time then the workspace it was linked to is not deleted."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/generateregistrationcertificate/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Registration Certificate",
+ "operation":"Generates Registration Certificate for Workspace.",
+ "description":"Generates Registration Certificate for the workspace. This Certificate is used to connect Microsoft System Center Operation Manager to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Storage Insight Configuration",
+ "operation":"Create Storage Configuration",
+ "description":"Creates a new storage configuration. These configurations are used to pull data from a location in an existing storage account."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Storage Insight Configuration",
+ "operation":"Get Storage Configuration",
+ "description":"Gets a storage configuration."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Storage Insight Configuration",
+ "operation":"Delete Storage Configuration",
+ "description":"Deletes a storage configuration. This will stop Microsoft Operational Insights from reading data from the storage account."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/register/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Register",
+ "operation":"Register a subscription to a resource provider.",
+ "description":"Register a subscription to a resource provider."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/sharedKeys/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Shared Keys",
+ "operation":"List Workspace Shared Keys",
+ "description":"Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/sharedKeys/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Shared Keys",
+ "operation":"List Workspace Shared Keys",
+ "description":"Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/listKeys/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"List Keys",
+ "operation":"List Workspace Keys",
+ "description":"Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/listKeys/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"List Keys",
+ "operation":"List Workspace Keys",
+ "description":"Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/managementGroups/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Management Group",
+ "operation":"Get Management Groups for Workspace",
+ "description":"Gets the names and metadata for System Center Operations Manager management groups connected to this workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/usages/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Usage Metric",
+ "operation":"Get Usage Data for Workspace",
+ "description":"Gets usage data for a workspace including the amount of data read by the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/search/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Search",
+ "operation":"Search Workspace Data",
+ "description":"Executes a search query"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/schema/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Search Schema",
+ "operation":"Get Search Schema",
+ "description":"Gets the search schema for the workspace. Search schema includes the exposed fields and their types."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/datasources/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Data Source",
+ "operation":"Get datasources under a workspace.",
+ "description":"Get datasources under a workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/datasources/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Data Source",
+ "operation":"Create/Update datasources under a workspace.",
+ "description":"Create/Update datasources under a workspace."
+ }
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/notificationSettings/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Notification Settings",
+ "operation":"Get Notification Settings",
+ "description":"Get the user's notification settings for the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/notificationSettings/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Notification Settings",
+ "operation":"Put Notification Settings",
+ "description":"Set the user's notification settings for the workspace."
+ }
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/configurationScopes/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Configuration Scope",
+ "operation":"Delete Configuration Scope",
+ "description":"Delete Configuration Scope"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/linkedServices/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Linked Services",
+ "operation":"Get linked services under given workspace.",
+ "description":"Get linked services under given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/linkedServices/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Linked Services",
+ "operation":"Create/Update linked services under given workspace.",
+ "description":"Create/Update linked services under given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/linkedServices/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Linked Services",
+ "operation":"Delete linked services under given workspace.",
+ "description":"Delete linked services under given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/intelligencepacks/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Intelligence Packs",
+ "operation":"List Intelligence Packs",
+ "description":"Lists all intelligence packs that are visible for a given worksapce and also lists whether the pack is enabled or disabled for that workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/intelligencepacks/enable/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Intelligence Packs",
+ "operation":"Enable Intelligence Pack",
+ "description":"Enables an intelligence pack for a given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/intelligencepacks/disable/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Intelligence Packs",
+ "operation":"Disable Intelligence Pack",
+ "description":"Disables an intelligence pack for a given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/analytics/query/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Search using new engine.",
+ "description":"Search using new engine."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/analytics/query/schema/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Get search schema V2.",
+ "description":"Get search schema V2."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/api/query/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Search using new engine.",
+ "description":"Search using new engine."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/api/query/schema/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Get search schema V2.",
+ "description":"Get search schema V2."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/purge/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Delete specified data from workspace",
+ "description":"Delete specified data from workspace"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/linkTargets/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Unlinked Account",
+ "operation":"List Unlinked Accounts",
+ "description":"Lists existing accounts that are not associated with an Azure subscription. To link this Azure subscription to a workspace, use a customer id returned by this operation in the customer id property of the Create Workspace operation."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/metricDefinitions/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Metric Definitions",
+ "operation":"Metric Definition operation",
+ "description":"Get Metric Definitions under workspace"
+ },
+ "properties":{
+ "serviceSpecification":{
+ "metricSpecifications":[
+ {
+ "name":"Average_% Free Inodes",
+ "displayName":"Average_% Free Inodes",
+ "displayDescription":"Average_% Free Inodes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Free Space",
+ "displayName":"Average_% Free Space",
+ "displayDescription":"Average_% Free Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Inodes",
+ "displayName":"Average_% Used Inodes",
+ "displayDescription":"Average_% Used Inodes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Space",
+ "displayName":"Average_% Used Space",
+ "displayDescription":"Average_% Used Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Read Bytes/sec",
+ "displayName":"Average_Disk Read Bytes/sec",
+ "displayDescription":"Average_Disk Read Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Reads/sec",
+ "displayName":"Average_Disk Reads/sec",
+ "displayDescription":"Average_Disk Reads/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Transfers/sec",
+ "displayName":"Average_Disk Transfers/sec",
+ "displayDescription":"Average_Disk Transfers/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Write Bytes/sec",
+ "displayName":"Average_Disk Write Bytes/sec",
+ "displayDescription":"Average_Disk Write Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Writes/sec",
+ "displayName":"Average_Disk Writes/sec",
+ "displayDescription":"Average_Disk Writes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Megabytes",
+ "displayName":"Average_Free Megabytes",
+ "displayDescription":"Average_Free Megabytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Logical Disk Bytes/sec",
+ "displayName":"Average_Logical Disk Bytes/sec",
+ "displayDescription":"Average_Logical Disk Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Available Memory",
+ "displayName":"Average_% Available Memory",
+ "displayDescription":"Average_% Available Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Available Swap Space",
+ "displayName":"Average_% Available Swap Space",
+ "displayDescription":"Average_% Available Swap Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Memory",
+ "displayName":"Average_% Used Memory",
+ "displayDescription":"Average_% Used Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Swap Space",
+ "displayName":"Average_% Used Swap Space",
+ "displayDescription":"Average_% Used Swap Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Available MBytes Memory",
+ "displayName":"Average_Available MBytes Memory",
+ "displayDescription":"Average_Available MBytes Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Available MBytes Swap",
+ "displayName":"Average_Available MBytes Swap",
+ "displayDescription":"Average_Available MBytes Swap",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Page Reads/sec",
+ "displayName":"Average_Page Reads/sec",
+ "displayDescription":"Average_Page Reads/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Page Writes/sec",
+ "displayName":"Average_Page Writes/sec",
+ "displayDescription":"Average_Page Writes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Pages/sec",
+ "displayName":"Average_Pages/sec",
+ "displayDescription":"Average_Pages/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Used MBytes Swap Space",
+ "displayName":"Average_Used MBytes Swap Space",
+ "displayDescription":"Average_Used MBytes Swap Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Used Memory MBytes",
+ "displayName":"Average_Used Memory MBytes",
+ "displayDescription":"Average_Used Memory MBytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Bytes Transmitted",
+ "displayName":"Average_Total Bytes Transmitted",
+ "displayDescription":"Average_Total Bytes Transmitted",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Bytes Received",
+ "displayName":"Average_Total Bytes Received",
+ "displayDescription":"Average_Total Bytes Received",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Bytes",
+ "displayName":"Average_Total Bytes",
+ "displayDescription":"Average_Total Bytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Packets Transmitted",
+ "displayName":"Average_Total Packets Transmitted",
+ "displayDescription":"Average_Total Packets Transmitted",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Packets Received",
+ "displayName":"Average_Total Packets Received",
+ "displayDescription":"Average_Total Packets Received",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Rx Errors",
+ "displayName":"Average_Total Rx Errors",
+ "displayDescription":"Average_Total Rx Errors",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Tx Errors",
+ "displayName":"Average_Total Tx Errors",
+ "displayDescription":"Average_Total Tx Errors",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Collisions",
+ "displayName":"Average_Total Collisions",
+ "displayDescription":"Average_Total Collisions",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Avg. Disk sec/Read",
+ "displayName":"Average_Avg. Disk sec/Read",
+ "displayDescription":"Average_Avg. Disk sec/Read",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Avg. Disk sec/Transfer",
+ "displayName":"Average_Avg. Disk sec/Transfer",
+ "displayDescription":"Average_Avg. Disk sec/Transfer",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Avg. Disk sec/Write",
+ "displayName":"Average_Avg. Disk sec/Write",
+ "displayDescription":"Average_Avg. Disk sec/Write",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Physical Disk Bytes/sec",
+ "displayName":"Average_Physical Disk Bytes/sec",
+ "displayDescription":"Average_Physical Disk Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Pct Privileged Time",
+ "displayName":"Average_Pct Privileged Time",
+ "displayDescription":"Average_Pct Privileged Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Pct User Time",
+ "displayName":"Average_Pct User Time",
+ "displayDescription":"Average_Pct User Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Used Memory kBytes",
+ "displayName":"Average_Used Memory kBytes",
+ "displayDescription":"Average_Used Memory kBytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Virtual Shared Memory",
+ "displayName":"Average_Virtual Shared Memory",
+ "displayDescription":"Average_Virtual Shared Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% DPC Time",
+ "displayName":"Average_% DPC Time",
+ "displayDescription":"Average_% DPC Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Idle Time",
+ "displayName":"Average_% Idle Time",
+ "displayDescription":"Average_% Idle Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Interrupt Time",
+ "displayName":"Average_% Interrupt Time",
+ "displayDescription":"Average_% Interrupt Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% IO Wait Time",
+ "displayName":"Average_% IO Wait Time",
+ "displayDescription":"Average_% IO Wait Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Nice Time",
+ "displayName":"Average_% Nice Time",
+ "displayDescription":"Average_% Nice Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Privileged Time",
+ "displayName":"Average_% Privileged Time",
+ "displayDescription":"Average_% Privileged Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Processor Time",
+ "displayName":"Average_% Processor Time",
+ "displayDescription":"Average_% Processor Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% User Time",
+ "displayName":"Average_% User Time",
+ "displayDescription":"Average_% User Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Physical Memory",
+ "displayName":"Average_Free Physical Memory",
+ "displayDescription":"Average_Free Physical Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Space in Paging Files",
+ "displayName":"Average_Free Space in Paging Files",
+ "displayDescription":"Average_Free Space in Paging Files",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Virtual Memory",
+ "displayName":"Average_Free Virtual Memory",
+ "displayDescription":"Average_Free Virtual Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Processes",
+ "displayName":"Average_Processes",
+ "displayDescription":"Average_Processes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Size Stored In Paging Files",
+ "displayName":"Average_Size Stored In Paging Files",
+ "displayDescription":"Average_Size Stored In Paging Files",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "name":"Average_Current Disk Queue Length",
+ "displayName":"Average_Current Disk Queue Length",
+ "displayDescription":"Average_Current Disk Queue Length",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Reads/sec",
+ "displayName":"Average_Disk Reads/sec",
+ "displayDescription":"Average_Disk Reads/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Transfers/sec",
+ "displayName":"Average_Disk Transfers/sec",
+ "displayDescription":"Average_Disk Transfers/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Writes/sec",
+ "displayName":"Average_Disk Writes/sec",
+ "displayDescription":"Average_Disk Writes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Megabytes",
+ "displayName":"Average_Free Megabytes",
+ "displayDescription":"Average_Free Megabytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Free Space",
+ "displayName":"Average_% Free Space",
+ "displayDescription":"Average_% Free Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Available MBytes",
+ "displayName":"Average_Available MBytes",
+ "displayDescription":"Average_Available MBytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Committed Bytes In Use",
+ "displayName":"Average_% Committed Bytes In Use",
+ "displayDescription":"Average_% Committed Bytes In Use",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Bytes Received/sec",
+ "displayName":"Average_Bytes Received/sec",
+ "displayDescription":"Average_Bytes Received/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Bytes Sent/sec",
+ "displayName":"Average_Bytes Sent/sec",
+ "displayDescription":"Average_Bytes Sent/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Bytes Total/sec",
+ "displayName":"Average_Bytes Total/sec",
+ "displayDescription":"Average_Bytes Total/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Processor Time",
+ "displayName":"Average_% Processor Time",
+ "displayDescription":"Average_% Processor Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Processor Queue Length",
+ "displayName":"Average_Processor Queue Length",
+ "displayDescription":"Average_Processor Queue Length",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Heartbeat",
+ "displayName":"Heartbeat",
+ "displayDescription":"Heartbeat",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"OSType",
+ "displayName":"OSType"
+ },
+ {
+ "name":"Version",
+ "displayName":"Version"
+ },
+ {
+ "name":"SourceComputerId",
+ "displayName":"SourceComputerId"
+ }
+ ]
+ },
+ {
+ "name":"Update",
+ "displayName":"Update",
+ "displayDescription":"Update",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"Product",
+ "displayName":"Product"
+ },
+ {
+ "name":"Classification",
+ "displayName":"Classification"
+ },
+ {
+ "name":"UpdateState",
+ "displayName":"UpdateState"
+ },
+ {
+ "name":"Optional",
+ "displayName":"Optional"
+ },
+ {
+ "name":"Approved",
+ "displayName":"Approved"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesCreate.json
new file mode 100644
index 000000000000..4b90643dc1d5
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesCreate.json
@@ -0,0 +1,64 @@
+{
+ "parameters":{
+ "resourceGroupName":"oiautorest6685",
+ "workspaceName":"oiautorest6685",
+ "parameters":{
+ "properties":{
+ "sku":{
+ "name":"PerNode"
+ },
+ "retentionInDays":30
+ },
+ "location":"australiasoutheast",
+ "tags":{
+ "tag1":"val1"
+ }
+ },
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170",
+ "name":"AzTest2170",
+ "type":"Microsoft.OperationalInsights/workspaces",
+ "location":"australiasoutheast",
+ "tags":{
+ "tag1":"val1"
+ },
+ "properties":{
+ "source":"Azure",
+ "customerId":"bc089d7b-485c-4aff-a71e-c00f362d8d2f",
+ "portalUrl":"https://seau.mms.microsoft.com/Account?tenant=72f988bf-86f1-41af-91ab-2d7cd011db47&resource=%2fsubscriptions%2f00000000-0000-0000-0000-000000000005%2fresourcegroups%2foiautorest6685%2fproviders%2fmicrosoft.operationalinsights%2fworkspaces%2faztest2170",
+ "provisioningState":"Creating",
+ "sku":{
+ "name":"PerNode"
+ },
+ "retentionInDays":30
+ }
+ }
+ },
+ "201":{
+ "body":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170",
+ "name":"AzTest2170",
+ "type":"Microsoft.OperationalInsights/workspaces",
+ "location":"australiasoutheast",
+ "tags":{
+ "tag1":"val1"
+ },
+ "properties":{
+ "source":"Azure",
+ "customerId":"bc089d7b-485c-4aff-a71e-c00f362d8d2f",
+ "portalUrl":"https://seau.mms.microsoft.com/Account?tenant=72f988bf-86f1-41af-91ab-2d7cd011db47&resource=%2fsubscriptions%2f00000000-0000-0000-0000-000000000005%2fresourcegroups%2foiautorest6685%2fproviders%2fmicrosoft.operationalinsights%2fworkspaces%2faztest2170",
+ "provisioningState":"Creating",
+ "sku":{
+ "name":"PerNode"
+ },
+ "retentionInDays":30
+ }
+ }
+ }
+}
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesDelete.json
new file mode 100644
index 000000000000..a03f1050634f
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters":{
+ "resourceGroupName":"oiautorest6685",
+ "workspaceName":"oiautorest6685",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{},
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesDisableIntelligencePack.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesDisableIntelligencePack.json
new file mode 100644
index 000000000000..0d86ac3f0822
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesDisableIntelligencePack.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "workspaceName": "TestLinkWS",
+ "intelligencePackName": "ChangeTracking",
+ "api-version": "2015-11-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesEnableIntelligencePack.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesEnableIntelligencePack.json
new file mode 100644
index 000000000000..0d86ac3f0822
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesEnableIntelligencePack.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "workspaceName": "TestLinkWS",
+ "intelligencePackName": "ChangeTracking",
+ "api-version": "2015-11-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000"
+ },
+ "responses": {
+ "200": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesGet.json
new file mode 100644
index 000000000000..0be7ea53432b
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters":{
+ "resourceGroupName":"oiautorest6685",
+ "workspaceName":"oiautorest6685",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "properties":{
+ "source":"Azure",
+ "customerId":"5b02755b-5bf4-430c-9487-45502a2a7e62",
+ "portalUrl":"https://eus.mms.microsoft.com/Account?tenant=72f988bf-86f1-41af-91ab-2d7cd011db47&resource=%2fsubscriptions%2f594038b5-1093-476e-a366-482775671c11%2fresourcegroups%2fcalbot-rg%2fproviders%2fmicrosoft.operationalinsights%2fworkspaces%2ftestresourcelock",
+ "provisioningState":"Succeeded",
+ "sku":{
+ "name":"free"
+ },
+ "retentionInDays":7
+ },
+ "id":"/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/workspaces/testresourcelock",
+ "name":"TestResourceLock",
+ "type":"Microsoft.OperationalInsights/workspaces",
+ "location":"eastus"
+ },
+ {
+ "properties":{
+ "source":"External",
+ "customerId":"4884a2fd-b08f-4aa6-bf16-5757df1093fe",
+ "portalUrl":"https://eus.mms.microsoft.com/Account?tenant=72f988bf-86f1-41af-91ab-2d7cd011db47&resource=%2fsubscriptions%2f594038b5-1093-476e-a366-482775671c11%2fresourcegroups%2fmms-eus%2fproviders%2fmicrosoft.operationalinsights%2fworkspaces%2fsouthukws",
+ "provisioningState":"Succeeded",
+ "sku":{
+ "name":"free"
+ },
+ "retentionInDays":7
+ },
+ "id":"/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/southukws",
+ "name":"SouthUKWS",
+ "type":"Microsoft.OperationalInsights/workspaces",
+ "location":"East US"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesGetSharedKeys.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesGetSharedKeys.json
new file mode 100644
index 000000000000..176c1aeef993
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesGetSharedKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters":{
+ "resourceGroupName":"rg1",
+ "workspaceName":"TestLinkWS",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "primarySharedKey":"BozLY1JnZbxu0jWUQSY8iRPEM8ObmpP8rW+8bUl3+HpDJI+n689SxXgTgU7k1qdxo/WugRLxechxbolAfHM5uA==",
+ "secondarySharedKey":"7tDt5W0JBrCQKtQA3igfFltLSzJeyr9LmuT+B/ibzd8cdC1neZ1ePOQLBx5NUzc0q2VUIK0cLhWNyFvo/hT8Ww=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListByResourceGroup.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListByResourceGroup.json
new file mode 100644
index 000000000000..646fb88941e3
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListByResourceGroup.json
@@ -0,0 +1,32 @@
+{
+ "parameters":{
+ "resourceGroupName":"oiautorest6685",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "properties":{
+ "source":"Azure",
+ "customerId":"bc089d7b-485c-4aff-a71e-c00f362d8d2f",
+ "portalUrl":"https://seau.mms.microsoft.com/Account?tenant=72f988bf-86f1-41af-91ab-2d7cd011db47&resource=%2fsubscriptions%2f00000000-0000-0000-0000-000000000005%2fresourcegroups%2foiautorest6685%2fproviders%2fmicrosoft.operationalinsights%2fworkspaces%2faztest2170",
+ "provisioningState":"Succeeded",
+ "sku":{
+ "name":"pernode"
+ },
+ "retentionInDays":30
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170",
+ "name":"AzTest2170",
+ "type":"Microsoft.OperationalInsights/workspaces",
+ "location":"australiasoutheast",
+ "tags":{
+ "tag1":"val1"
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListIntelligencePacks.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListIntelligencePacks.json
new file mode 100644
index 000000000000..443f244f194b
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListIntelligencePacks.json
@@ -0,0 +1,244 @@
+{
+ "parameters":{
+ "resourceGroupName":"rg1",
+ "workspaceName":"TestLinkWS",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "name":"CapacityPerformance",
+ "enabled":false,
+ "displayName":"Capacity and Performance"
+ },
+ {
+ "name":"AzureWebAppsAnalytics",
+ "enabled":false,
+ "displayName":"Azure Web Apps Analytics (Preview)"
+ },
+ {
+ "name":"Security",
+ "enabled":false,
+ "displayName":"Security and Audit"
+ },
+ {
+ "name":"Updates",
+ "enabled":false,
+ "displayName":"Update Management"
+ },
+ {
+ "name":"AntiMalware",
+ "enabled":false,
+ "displayName":"Antimalware Assessment"
+ },
+ {
+ "name":"LogManagement",
+ "enabled":true,
+ "displayName":"Log Management"
+ },
+ {
+ "name":"ChangeTracking",
+ "enabled":true,
+ "displayName":"Change Tracking"
+ },
+ {
+ "name":"SQLAssessment",
+ "enabled":false,
+ "displayName":"SQL Assessment"
+ },
+ {
+ "name":"SCOMAssessment",
+ "enabled":false,
+ "displayName":"System Center Operations Manager Assessment (Preview)"
+ },
+ {
+ "name":"ServiceDesk",
+ "enabled":false,
+ "displayName":"IT Service Management Connector(Preview)"
+ },
+ {
+ "name":"ADAssessment",
+ "enabled":false,
+ "displayName":"AD Assessment"
+ },
+ {
+ "name":"AlertManagement",
+ "enabled":false,
+ "displayName":"Alert Management"
+ },
+ {
+ "name":"AzureAutomation",
+ "enabled":false,
+ "displayName":"Azure Automation"
+ },
+ {
+ "name":"WireData",
+ "enabled":false,
+ "displayName":"Wire Data"
+ },
+ {
+ "name":"SiteRecovery",
+ "enabled":true,
+ "displayName":"Azure Site Recovery"
+ },
+ {
+ "name":"Backup",
+ "enabled":false,
+ "displayName":"Backup"
+ },
+ {
+ "name":"SurfaceHub",
+ "enabled":false,
+ "displayName":"Surface Hub"
+ },
+ {
+ "name":"NetworkMonitoring",
+ "enabled":false,
+ "displayName":"Network Performance Monitor"
+ },
+ {
+ "name":"Containers",
+ "enabled":false,
+ "displayName":"Container Monitoring Solution"
+ },
+ {
+ "name":"ServiceMap",
+ "enabled":false,
+ "displayName":"Service Map"
+ },
+ {
+ "name":"AzureNetworking",
+ "enabled":false,
+ "displayName":"Azure Networking Analytics (Deprecated)"
+ },
+ {
+ "name":"ADReplication",
+ "enabled":false,
+ "displayName":"AD Replication Status"
+ },
+ {
+ "name":"Office365",
+ "enabled":false,
+ "displayName":"Office 365 (Preview)"
+ },
+ {
+ "name":"CompatibilityAssessment",
+ "enabled":false,
+ "displayName":"Upgrade Readiness"
+ },
+ {
+ "name":"KeyVault",
+ "enabled":false,
+ "displayName":"Key Vault (Deprecated)"
+ },
+ {
+ "name":"ServiceFabric",
+ "enabled":false,
+ "displayName":"Service Fabric"
+ },
+ {
+ "name":"DnsAnalytics",
+ "enabled":false,
+ "displayName":"DNS Analytics (Preview)"
+ },
+ {
+ "name":"ApplicationInsights",
+ "enabled":false,
+ "displayName":"Application Insights (Preview)"
+ },
+ {
+ "name":"WireData2",
+ "enabled":false,
+ "displayName":"Wire Data 2.0"
+ },
+ {
+ "name":"WaaSUpdateInsights",
+ "enabled":false,
+ "displayName":"Update Compliance (Preview)"
+ },
+ {
+ "name":"AgentHealthAssessment",
+ "enabled":false,
+ "displayName":"Agent Health "
+ },
+ {
+ "name":"AzureActivity",
+ "enabled":false,
+ "displayName":"Activity Log Analytics"
+ },
+ {
+ "name":"HDInsight",
+ "enabled":false,
+ "displayName":"HDInsight HBase Monitoring (Preview)"
+ },
+ {
+ "name":"HDInsightKafka",
+ "enabled":false,
+ "displayName":"HDInsight Kafka Monitoring"
+ },
+ {
+ "name":"HDInsightSpark",
+ "enabled":false,
+ "displayName":"HDInsight Spark Monitoring"
+ },
+ {
+ "name":"VMware",
+ "enabled":false,
+ "displayName":"VMware (Preview)"
+ },
+ {
+ "name":"SecurityCenterFree",
+ "enabled":false,
+ "displayName":"Security Center Free for Azure Resources only"
+ },
+ {
+ "name":"LogicAppsManagement",
+ "enabled":false,
+ "displayName":"Logic Apps Management"
+ },
+ {
+ "name":"LogicAppB2B",
+ "enabled":false,
+ "displayName":"Logic Apps B2B"
+ },
+ {
+ "name":"AzureSQLAnalytics",
+ "enabled":false,
+ "displayName":"Azure SQL Analytics (Preview)"
+ },
+ {
+ "name":"KeyVaultAnalytics",
+ "enabled":false,
+ "displayName":"Key Vault Analytics"
+ },
+ {
+ "name":"AzureNSGAnalytics",
+ "enabled":false,
+ "displayName":"Azure Network Security Group Analytics"
+ },
+ {
+ "name":"AzureAppGatewayAnalytics",
+ "enabled":false,
+ "displayName":"Azure Application Gateway Analytics"
+ },
+ {
+ "name":"DeviceHealthProd",
+ "enabled":false,
+ "displayName":"Device Health (Preview)"
+ },
+ {
+ "name":"WindowsDefenderATP",
+ "enabled":false,
+ "displayName":"Windows Defender ATP"
+ },
+ {
+ "name":"ProcessInvestigator",
+ "enabled":false,
+ "displayName":"ProcessInvestigator"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListManagementGroups.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListManagementGroups.json
new file mode 100644
index 000000000000..c92b81f5e938
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListManagementGroups.json
@@ -0,0 +1,16 @@
+{
+ "parameters":{
+ "resourceGroupName":"rg1",
+ "workspaceName":"TestLinkWS",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListUsages.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListUsages.json
new file mode 100644
index 000000000000..c243a18375a8
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesListUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters":{
+ "resourceGroupName":"rg1",
+ "workspaceName":"TestLinkWS",
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":{
+ "value":"DataAnalyzed",
+ "localizedValue":"Data Analyzed"
+ },
+ "unit":"Bytes",
+ "currentValue":0.0,
+ "limit":524288000.0,
+ "nextResetTime":"2017-10-03T00:00:00Z",
+ "quotaPeriod":"P1D"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesSubscriptionList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesSubscriptionList.json
new file mode 100644
index 000000000000..150b5e373d2a
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesSubscriptionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "properties":{
+ "source":"Azure",
+ "customerId":"bc089d7b-485c-4aff-a71e-c00f362d8d2f",
+ "portalUrl":"https://seau.mms.microsoft.com/Account?tenant=72f988bf-86f1-41af-91ab-2d7cd011db47&resource=%2fsubscriptions%2f00000000-0000-0000-0000-000000000005%2fresourcegroups%2foiautorest6685%2fproviders%2fmicrosoft.operationalinsights%2fworkspaces%2faztest2170",
+ "provisioningState":"Succeeded",
+ "sku":{
+ "name":"pernode"
+ },
+ "retentionInDays":30
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170",
+ "name":"AzTest2170",
+ "type":"Microsoft.OperationalInsights/workspaces",
+ "location":"australiasoutheast",
+ "tags":{
+ "tag1":"val1"
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesUpdate.json
new file mode 100644
index 000000000000..3811b71e7e60
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/examples/WorkspacesUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters":{
+ "resourceGroupName":"oiautorest6685",
+ "workspaceName":"oiautorest6685",
+ "parameters":{
+ "properties":{
+ "customerId":"6c576b6a-75d3-4ff9-bc23-28d524e52f5b"
+ },
+ "location":"australiasoutheast"
+ },
+ "api-version":"2015-11-01-preview",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties":{
+ "sku":{
+ "name":"PerNode"
+ },
+ "retentionInDays":30
+ },
+ "location":"australiasoutheast",
+ "tags":{
+ "tag1":"val1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json
index 4ef36e9bd6a5..017ee5863d03 100644
--- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json
@@ -39,6 +39,9 @@
"tags": [
"StorageInsights"
],
+ "x-ms-examples": {
+ "StorageInsightsCreate": { "$ref": "./examples/StorageInsightsCreateOrUpdate.json" }
+ },
"operationId": "StorageInsights_CreateOrUpdate",
"description": "Create or update a storage insight.",
"parameters": [
@@ -94,6 +97,9 @@
"tags": [
"StorageInsights"
],
+ "x-ms-examples": {
+ "StorageInsightsGet": { "$ref": "./examples/StorageInsightsGet.json" }
+ },
"operationId": "StorageInsights_Get",
"description": "Gets a storage insight instance.",
"parameters": [
@@ -134,6 +140,9 @@
"tags": [
"StorageInsights"
],
+ "x-ms-examples": {
+ "StorageInsightsDelete": { "$ref": "./examples/StorageInsightsDelete.json" }
+ },
"operationId": "StorageInsights_Delete",
"description": "Deletes a storageInsightsConfigs resource",
"parameters": [
@@ -176,6 +185,9 @@
"tags": [
"StorageInsights"
],
+ "x-ms-examples": {
+ "StorageInsightsList": { "$ref": "./examples/StorageInsightsListByWorkspace.json" }
+ },
"operationId": "StorageInsights_ListByWorkspace",
"description": "Lists the storage insight instances within a workspace",
"parameters": [
@@ -214,6 +226,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "LinkTargetsList": { "$ref": "./examples/WorkspacesListLinkTargets.json" }
+ },
"operationId": "Workspaces_ListLinkTargets",
"description": "Get a list of workspaces which the current user has administrator privileges and are not associated with an Azure Subscription. The subscriptionId parameter in the Url is ignored.",
"parameters": [
@@ -242,6 +257,9 @@
"tags": [
"SavedSearches"
],
+ "x-ms-examples": {
+ "SavedSearchesDelete": { "$ref": "./examples/WorkspacesDeleteSavedSearches.json" }
+ },
"operationId": "SavedSearches_Delete",
"description": "Deletes the specified saved search in a given workspace.",
"parameters": [
@@ -279,6 +297,9 @@
"tags": [
"SavedSearches"
],
+ "x-ms-examples": {
+ "SavedSearchCreateOrUpdate": { "$ref": "./examples/WorkspacesSavedSearchesCreateOrUpdate.json" }
+ },
"operationId": "SavedSearches_CreateOrUpdate",
"description": "Creates or updates a saved search for a given workspace.",
"parameters": [
@@ -328,6 +349,9 @@
"tags": [
"SavedSearches"
],
+ "x-ms-examples": {
+ "SavedSearchesGet": { "$ref": "./examples/WorkspacesSavedSearchesGet.json" }
+ },
"operationId": "SavedSearches_Get",
"description": "Gets the specified saved search for a given workspace.",
"parameters": [
@@ -370,6 +394,9 @@
"tags": [
"SavedSearches"
],
+ "x-ms-examples": {
+ "SavedSearchesList": { "$ref": "./examples/SavedSearchesListByWorkspace.json" }
+ },
"operationId": "SavedSearches_ListByWorkspace",
"description": "Gets the saved searches for a given Log Analytics Workspace",
"parameters": [
@@ -405,6 +432,9 @@
"tags": [
"SavedSearches"
],
+ "x-ms-examples": {
+ "SaveSearchsListResults": { "$ref": "./examples/SavedSearchesGetResults.json" }
+ },
"operationId": "SavedSearches_GetResults",
"description": "Gets the results from a saved search for a given workspace.",
"parameters": [
@@ -447,6 +477,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesGetSchema": { "$ref": "./examples/SavedSearchesGetSchema.json" }
+ },
"operationId": "Workspaces_GetSchema",
"description": "Gets the schema for a given workspace.",
"parameters": [
@@ -482,6 +515,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesGetSearchResults": { "$ref": "./examples/WorkspacesGetSearchResults.json" }
+ },
"operationId": "Workspaces_GetSearchResults",
"description": "Submit a search for a given workspace. The response will contain an id to track the search. User can use the id to poll the search status and get the full search result later if the search takes long time to finish. ",
"parameters": [
@@ -530,6 +566,9 @@
"tags": [
"Workspaces"
],
+ "x-ms-examples": {
+ "WorkspacesUpdateSearchResults": { "$ref": "./examples/WorkspacesUpdateSearchResults.json" }
+ },
"operationId": "Workspaces_UpdateSearchResults",
"description": "Gets updated search results for a given search query.",
"parameters": [
@@ -566,9 +605,72 @@
}
}
}
- }
+ },
+ "/providers/Microsoft.OperationalInsights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "x-ms-examples": {
+ "OperationsList": { "$ref": "./examples/OperationsList.json" }
+ },
+ "operationId": "Operations_List",
+ "description": "Lists all of the available OperationalInsights Rest API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ }
+ }
+ }
},
"definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list solution operations.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of solution operations supported by the OperationsManagement resource provider."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Supported operation of OperationsManagement resource provider.",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft OperationsManagement.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
"LinkTarget": {
"properties": {
"customerId": {
@@ -593,43 +695,43 @@
},
"Tag": {
"properties": {
- "Name": {
+ "name": {
"type": "string",
"description": "The tag name."
},
- "Value": {
+ "value": {
"type": "string",
"description": "The tag value."
}
},
"required": [
- "Name",
- "Value"
+ "name",
+ "value"
],
"description": "A tag of a saved search."
},
"SavedSearchProperties": {
"properties": {
- "Category": {
+ "category": {
"type": "string",
"description": "The category of the saved search. This helps the user to find a saved search faster. "
},
- "DisplayName": {
+ "displayName": {
"type": "string",
"description": "Saved search display name."
},
- "Query": {
+ "query": {
"type": "string",
"description": "The query expression for the saved search. Please see https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-search-reference for reference."
},
- "Version": {
+ "version": {
"type": "integer",
"format": "int64",
"minimum": 1,
"maximum": 1,
"description": "The version number of the query lanuage. Only verion 1 is allowed here."
},
- "Tags": {
+ "tags": {
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
@@ -638,27 +740,27 @@
}
},
"required":[
- "Category",
- "DisplayName",
- "Query",
- "Version"
+ "category",
+ "displayName",
+ "query",
+ "version"
],
"description": "Value object for saved search results."
},
"CoreSummary": {
"properties": {
- "Status": {
+ "status": {
"type": "string",
"description": "The status of a core summary."
},
- "NumberOfDocuments": {
+ "numberOfDocuments": {
"type": "integer",
"format": "int64",
"description": "The number of documents of a core summary."
}
},
"required": [
- "NumberOfDocuments"
+ "numberOfDocuments"
],
"description": "The core summary of a search."
},
@@ -699,7 +801,7 @@
},
"SearchMetadata": {
"properties": {
- "RequestId": {
+ "requestId": {
"x-ms-client-name": "SearchId",
"type": "string",
"description": "The request id of the search."
@@ -722,28 +824,28 @@
"type": "string",
"description": "The id of the search results request."
},
- "CoreSummaries": {
+ "coreSummaries": {
"type": "array",
"items": {
"$ref": "#/definitions/CoreSummary"
},
"description": "The core summaries."
},
- "Status": {
+ "status": {
"type": "string",
"description": "The status of the search results."
},
- "StartTime": {
+ "startTime": {
"type": "string",
"format": "date-time",
"description": "The start time for the search."
},
- "LastUpdated": {
+ "lastUpdated": {
"type": "string",
"format": "date-time",
"description": "The time of last update."
},
- "ETag": {
+ "eTag": {
"type": "string",
"description": "The ETag of the search results."
},
@@ -791,7 +893,17 @@
"readOnly": true,
"description": "The id of the saved search."
},
- "etag": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the saved search."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of the saved search."
+ },
+ "eTag": {
"type": "string",
"description": "The etag of the saved search."
},
@@ -804,11 +916,12 @@
"required": [
"properties"
],
- "description": "Value object for saved search results."
+ "description": "Value object for saved search results.",
+ "x-ms-azure-resource": true
},
"SavedSearchesListResult": {
"properties": {
- "__metadata": {
+ "metaData": {
"x-ms-client-name": "Metadata",
"$ref": "#/definitions/SearchMetadata",
"description": "The metadata from search results."
@@ -843,7 +956,7 @@
"readOnly": true,
"description": "The id of the search, which includes the full url."
},
- "__metadata": {
+ "metaData": {
"x-ms-client-name": "Metadata",
"$ref": "#/definitions/SearchMetadata",
"description": "The metadata from search results."
@@ -905,7 +1018,7 @@
},
"SearchGetSchemaResponse": {
"properties": {
- "__metadata": {
+ "metadata": {
"x-ms-client-name": "Metadata",
"$ref": "#/definitions/SearchMetadata",
"description": "The metadata from search results."
@@ -1053,7 +1166,8 @@
"$ref": "#/definitions/ProxyResource"
}
],
- "description": "The top level storage insight resource container."
+ "description": "The top level storage insight resource container.",
+ "x-ms-azure-resource": true
},
"StorageInsightListResult": {
"properties": {
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/OperationsList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/OperationsList.json
new file mode 100644
index 000000000000..1a43aa663fc1
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/OperationsList.json
@@ -0,0 +1,2270 @@
+{
+ "parameters":{
+ "api-version":"2015-03-02"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Workspace",
+ "operation":"Create Workspace",
+ "description":"Creates a new workspace or links to an existing workspace by providing the customer id from the existing workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Workspace",
+ "operation":"Get Workspace",
+ "description":"Gets an existing workspace"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Workspace",
+ "operation":"Delete Workspace",
+ "description":"Deletes a workspace. If the workspace was linked to an existing workspace at creation time then the workspace it was linked to is not deleted."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/generateregistrationcertificate/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Registration Certificate",
+ "operation":"Generates Registration Certificate for Workspace.",
+ "description":"Generates Registration Certificate for the workspace. This Certificate is used to connect Microsoft System Center Operation Manager to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Storage Insight Configuration",
+ "operation":"Create Storage Configuration",
+ "description":"Creates a new storage configuration. These configurations are used to pull data from a location in an existing storage account."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Storage Insight Configuration",
+ "operation":"Get Storage Configuration",
+ "description":"Gets a storage configuration."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Storage Insight Configuration",
+ "operation":"Delete Storage Configuration",
+ "description":"Deletes a storage configuration. This will stop Microsoft Operational Insights from reading data from the storage account."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/register/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Register",
+ "operation":"Register a subscription to a resource provider.",
+ "description":"Register a subscription to a resource provider."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/sharedKeys/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Shared Keys",
+ "operation":"List Workspace Shared Keys",
+ "description":"Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/sharedKeys/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Shared Keys",
+ "operation":"List Workspace Shared Keys",
+ "description":"Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/listKeys/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"List Keys",
+ "operation":"List Workspace Keys",
+ "description":"Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/listKeys/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"List Keys",
+ "operation":"List Workspace Keys",
+ "description":"Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/managementGroups/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Management Group",
+ "operation":"Get Management Groups for Workspace",
+ "description":"Gets the names and metadata for System Center Operations Manager management groups connected to this workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/usages/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Usage Metric",
+ "operation":"Get Usage Data for Workspace",
+ "description":"Gets usage data for a workspace including the amount of data read by the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/search/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Search",
+ "operation":"Search Workspace Data",
+ "description":"Executes a search query"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/schema/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Search Schema",
+ "operation":"Get Search Schema",
+ "description":"Gets the search schema for the workspace. Search schema includes the exposed fields and their types."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/datasources/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Data Source",
+ "operation":"Get datasources under a workspace.",
+ "description":"Get datasources under a workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/datasources/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Data Source",
+ "operation":"Create/Update datasources under a workspace.",
+ "description":"Create/Update datasources under a workspace."
+ }
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/notificationSettings/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Notification Settings",
+ "operation":"Get Notification Settings",
+ "description":"Get the user's notification settings for the workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/notificationSettings/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Notification Settings",
+ "operation":"Put Notification Settings",
+ "description":"Set the user's notification settings for the workspace."
+ }
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/configurationScopes/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Configuration Scope",
+ "operation":"Delete Configuration Scope",
+ "description":"Delete Configuration Scope"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/linkedServices/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Linked Services",
+ "operation":"Get linked services under given workspace.",
+ "description":"Get linked services under given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/linkedServices/write",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Linked Services",
+ "operation":"Create/Update linked services under given workspace.",
+ "description":"Create/Update linked services under given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/linkedServices/delete",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Linked Services",
+ "operation":"Delete linked services under given workspace.",
+ "description":"Delete linked services under given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/intelligencepacks/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Intelligence Packs",
+ "operation":"List Intelligence Packs",
+ "description":"Lists all intelligence packs that are visible for a given worksapce and also lists whether the pack is enabled or disabled for that workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/intelligencepacks/enable/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Intelligence Packs",
+ "operation":"Enable Intelligence Pack",
+ "description":"Enables an intelligence pack for a given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/intelligencepacks/disable/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Intelligence Packs",
+ "operation":"Disable Intelligence Pack",
+ "description":"Disables an intelligence pack for a given workspace."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/analytics/query/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Search using new engine.",
+ "description":"Search using new engine."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/analytics/query/schema/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Get search schema V2.",
+ "description":"Get search schema V2."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/api/query/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Search using new engine.",
+ "description":"Search using new engine."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/api/query/schema/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Get search schema V2.",
+ "description":"Get search schema V2."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/purge/action",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"analytics",
+ "operation":"Delete specified data from workspace",
+ "description":"Delete specified data from workspace"
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/linkTargets/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Unlinked Account",
+ "operation":"List Unlinked Accounts",
+ "description":"Lists existing accounts that are not associated with an Azure subscription. To link this Azure subscription to a workspace, use a customer id returned by this operation in the customer id property of the Create Workspace operation."
+ }
+ },
+ {
+ "name":"Microsoft.OperationalInsights/workspaces/metricDefinitions/read",
+ "display":{
+ "provider":"Microsoft Operational Insights",
+ "resource":"Metric Definitions",
+ "operation":"Metric Definition operation",
+ "description":"Get Metric Definitions under workspace"
+ },
+ "properties":{
+ "serviceSpecification":{
+ "metricSpecifications":[
+ {
+ "name":"Average_% Free Inodes",
+ "displayName":"Average_% Free Inodes",
+ "displayDescription":"Average_% Free Inodes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Free Space",
+ "displayName":"Average_% Free Space",
+ "displayDescription":"Average_% Free Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Inodes",
+ "displayName":"Average_% Used Inodes",
+ "displayDescription":"Average_% Used Inodes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Space",
+ "displayName":"Average_% Used Space",
+ "displayDescription":"Average_% Used Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Read Bytes/sec",
+ "displayName":"Average_Disk Read Bytes/sec",
+ "displayDescription":"Average_Disk Read Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Reads/sec",
+ "displayName":"Average_Disk Reads/sec",
+ "displayDescription":"Average_Disk Reads/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Transfers/sec",
+ "displayName":"Average_Disk Transfers/sec",
+ "displayDescription":"Average_Disk Transfers/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Write Bytes/sec",
+ "displayName":"Average_Disk Write Bytes/sec",
+ "displayDescription":"Average_Disk Write Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Writes/sec",
+ "displayName":"Average_Disk Writes/sec",
+ "displayDescription":"Average_Disk Writes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Megabytes",
+ "displayName":"Average_Free Megabytes",
+ "displayDescription":"Average_Free Megabytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Logical Disk Bytes/sec",
+ "displayName":"Average_Logical Disk Bytes/sec",
+ "displayDescription":"Average_Logical Disk Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Available Memory",
+ "displayName":"Average_% Available Memory",
+ "displayDescription":"Average_% Available Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Available Swap Space",
+ "displayName":"Average_% Available Swap Space",
+ "displayDescription":"Average_% Available Swap Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Memory",
+ "displayName":"Average_% Used Memory",
+ "displayDescription":"Average_% Used Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Used Swap Space",
+ "displayName":"Average_% Used Swap Space",
+ "displayDescription":"Average_% Used Swap Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Available MBytes Memory",
+ "displayName":"Average_Available MBytes Memory",
+ "displayDescription":"Average_Available MBytes Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Available MBytes Swap",
+ "displayName":"Average_Available MBytes Swap",
+ "displayDescription":"Average_Available MBytes Swap",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Page Reads/sec",
+ "displayName":"Average_Page Reads/sec",
+ "displayDescription":"Average_Page Reads/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Page Writes/sec",
+ "displayName":"Average_Page Writes/sec",
+ "displayDescription":"Average_Page Writes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Pages/sec",
+ "displayName":"Average_Pages/sec",
+ "displayDescription":"Average_Pages/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Used MBytes Swap Space",
+ "displayName":"Average_Used MBytes Swap Space",
+ "displayDescription":"Average_Used MBytes Swap Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Used Memory MBytes",
+ "displayName":"Average_Used Memory MBytes",
+ "displayDescription":"Average_Used Memory MBytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Bytes Transmitted",
+ "displayName":"Average_Total Bytes Transmitted",
+ "displayDescription":"Average_Total Bytes Transmitted",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Bytes Received",
+ "displayName":"Average_Total Bytes Received",
+ "displayDescription":"Average_Total Bytes Received",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Bytes",
+ "displayName":"Average_Total Bytes",
+ "displayDescription":"Average_Total Bytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Packets Transmitted",
+ "displayName":"Average_Total Packets Transmitted",
+ "displayDescription":"Average_Total Packets Transmitted",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Packets Received",
+ "displayName":"Average_Total Packets Received",
+ "displayDescription":"Average_Total Packets Received",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Rx Errors",
+ "displayName":"Average_Total Rx Errors",
+ "displayDescription":"Average_Total Rx Errors",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Tx Errors",
+ "displayName":"Average_Total Tx Errors",
+ "displayDescription":"Average_Total Tx Errors",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Total Collisions",
+ "displayName":"Average_Total Collisions",
+ "displayDescription":"Average_Total Collisions",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Avg. Disk sec/Read",
+ "displayName":"Average_Avg. Disk sec/Read",
+ "displayDescription":"Average_Avg. Disk sec/Read",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Avg. Disk sec/Transfer",
+ "displayName":"Average_Avg. Disk sec/Transfer",
+ "displayDescription":"Average_Avg. Disk sec/Transfer",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Avg. Disk sec/Write",
+ "displayName":"Average_Avg. Disk sec/Write",
+ "displayDescription":"Average_Avg. Disk sec/Write",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Physical Disk Bytes/sec",
+ "displayName":"Average_Physical Disk Bytes/sec",
+ "displayDescription":"Average_Physical Disk Bytes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Pct Privileged Time",
+ "displayName":"Average_Pct Privileged Time",
+ "displayDescription":"Average_Pct Privileged Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Pct User Time",
+ "displayName":"Average_Pct User Time",
+ "displayDescription":"Average_Pct User Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Used Memory kBytes",
+ "displayName":"Average_Used Memory kBytes",
+ "displayDescription":"Average_Used Memory kBytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Virtual Shared Memory",
+ "displayName":"Average_Virtual Shared Memory",
+ "displayDescription":"Average_Virtual Shared Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% DPC Time",
+ "displayName":"Average_% DPC Time",
+ "displayDescription":"Average_% DPC Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Idle Time",
+ "displayName":"Average_% Idle Time",
+ "displayDescription":"Average_% Idle Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Interrupt Time",
+ "displayName":"Average_% Interrupt Time",
+ "displayDescription":"Average_% Interrupt Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% IO Wait Time",
+ "displayName":"Average_% IO Wait Time",
+ "displayDescription":"Average_% IO Wait Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Nice Time",
+ "displayName":"Average_% Nice Time",
+ "displayDescription":"Average_% Nice Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Privileged Time",
+ "displayName":"Average_% Privileged Time",
+ "displayDescription":"Average_% Privileged Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Processor Time",
+ "displayName":"Average_% Processor Time",
+ "displayDescription":"Average_% Processor Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% User Time",
+ "displayName":"Average_% User Time",
+ "displayDescription":"Average_% User Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Physical Memory",
+ "displayName":"Average_Free Physical Memory",
+ "displayDescription":"Average_Free Physical Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Space in Paging Files",
+ "displayName":"Average_Free Space in Paging Files",
+ "displayDescription":"Average_Free Space in Paging Files",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Virtual Memory",
+ "displayName":"Average_Free Virtual Memory",
+ "displayDescription":"Average_Free Virtual Memory",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Processes",
+ "displayName":"Average_Processes",
+ "displayDescription":"Average_Processes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Size Stored In Paging Files",
+ "displayName":"Average_Size Stored In Paging Files",
+ "displayDescription":"Average_Size Stored In Paging Files",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+
+ },
+ {
+ "name":"Average_Current Disk Queue Length",
+ "displayName":"Average_Current Disk Queue Length",
+ "displayDescription":"Average_Current Disk Queue Length",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Reads/sec",
+ "displayName":"Average_Disk Reads/sec",
+ "displayDescription":"Average_Disk Reads/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Transfers/sec",
+ "displayName":"Average_Disk Transfers/sec",
+ "displayDescription":"Average_Disk Transfers/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Disk Writes/sec",
+ "displayName":"Average_Disk Writes/sec",
+ "displayDescription":"Average_Disk Writes/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Free Megabytes",
+ "displayName":"Average_Free Megabytes",
+ "displayDescription":"Average_Free Megabytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Free Space",
+ "displayName":"Average_% Free Space",
+ "displayDescription":"Average_% Free Space",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Available MBytes",
+ "displayName":"Average_Available MBytes",
+ "displayDescription":"Average_Available MBytes",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Committed Bytes In Use",
+ "displayName":"Average_% Committed Bytes In Use",
+ "displayDescription":"Average_% Committed Bytes In Use",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Bytes Received/sec",
+ "displayName":"Average_Bytes Received/sec",
+ "displayDescription":"Average_Bytes Received/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Bytes Sent/sec",
+ "displayName":"Average_Bytes Sent/sec",
+ "displayDescription":"Average_Bytes Sent/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Bytes Total/sec",
+ "displayName":"Average_Bytes Total/sec",
+ "displayDescription":"Average_Bytes Total/sec",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_% Processor Time",
+ "displayName":"Average_% Processor Time",
+ "displayDescription":"Average_% Processor Time",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Average_Processor Queue Length",
+ "displayName":"Average_Processor Queue Length",
+ "displayDescription":"Average_Processor Queue Length",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName"
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName"
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath"
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem"
+ }
+ ]
+ },
+ {
+ "name":"Heartbeat",
+ "displayName":"Heartbeat",
+ "displayDescription":"Heartbeat",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"OSType",
+ "displayName":"OSType"
+ },
+ {
+ "name":"Version",
+ "displayName":"Version"
+ },
+ {
+ "name":"SourceComputerId",
+ "displayName":"SourceComputerId"
+ }
+ ]
+ },
+ {
+ "name":"Update",
+ "displayName":"Update",
+ "displayDescription":"Update",
+ "unit":"Count",
+ "aggregationType":"Average",
+ "dimensions":[
+ {
+ "name":"Computer",
+ "displayName":"Computer"
+ },
+ {
+ "name":"Product",
+ "displayName":"Product"
+ },
+ {
+ "name":"Classification",
+ "displayName":"Classification"
+ },
+ {
+ "name":"UpdateState",
+ "displayName":"UpdateState"
+ },
+ {
+ "name":"Optional",
+ "displayName":"Optional"
+ },
+ {
+ "name":"Approved",
+ "displayName":"Approved"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetResults.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetResults.json
new file mode 100644
index 000000000000..a7c979c443db
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetResults.json
@@ -0,0 +1,39 @@
+{
+ "parameters":{
+ "resourceGroupName":"mms-eus",
+ "workspaceName":"atlantisdemo",
+ "savedSearchName":"test",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/atlantisdemo/search/06424b55-cd27-4d23-9c51-645d3370062c|2017-10-0223-15-30Z",
+ "metaData":{
+ "resultType":"raw",
+ "total":0,
+ "requestId":"06424b55-cd27-4d23-9c51-645d3370062c|2017-10-0223-15-30Z",
+ "status":"Pending",
+ "coreSummaries":[
+ {
+ "numberOfDocuments":0
+ }
+ ],
+ "startTime":"2017-10-02T23:15:30.3363976Z",
+ "lastUpdated":"2017-10-02T23:15:30.3676472Z",
+ "eTag":"636425829303676472",
+ "sort":[
+ {
+ "name":"TimeGenerated",
+ "order":"desc"
+ }
+ ]
+ },
+ "value":[
+
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetSchema.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetSchema.json
new file mode 100644
index 000000000000..f9eec0099658
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesGetSchema.json
@@ -0,0 +1,64 @@
+{
+ "parameters":{
+ "resourceGroupName":"mms-eus",
+ "workspaceName":"atlantisdemo",
+ "api-version":"2015-03-02",
+ "parameters":{
+ "top":25,
+ "query":"*"
+ },
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "metadata":{
+ "schema":{
+ "name":"CloudOps",
+ "version":2
+ },
+ "resultType":"schema",
+ "requestTime":28
+ },
+ "value" : [
+ {
+ "name":"TenantId",
+ "displayName":"TenantId",
+ "type":"Guid",
+ "indexed":true,
+ "stored":false,
+ "facet":false,
+ "ownerType":[
+ "Alert",
+ "AzureActivity",
+ "AzureAudit",
+ "AzureMetrics",
+ "ComputerGroup",
+ "ETWEvent",
+ "Event",
+ "ExtraHopDBLogin",
+ "ExtraHopDBTransaction",
+ "ExtraHopDNSResponse",
+ "ExtraHopFTPResponse",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopSMTPMessage",
+ "ExtraHopSYNScanDetect",
+ "ExtraHopTCPOpen",
+ "Heartbeat",
+ "Operation",
+ "Perf",
+ "ReservedAzureCommonFields",
+ "ReservedCommonFields",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent",
+ "Syslog",
+ "Usage",
+ "W3CIISLog"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesListByWorkspace.json
new file mode 100644
index 000000000000..aa101d7deb17
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/SavedSearchesListByWorkspace.json
@@ -0,0 +1,30 @@
+{
+ "parameters":{
+ "resourceGroupName":"TestRG",
+ "workspaceName":"TestWS",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "id":"subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/AtlantisDemo/savedSearches/test-new-saved-search-id-2015",
+ "eTag":"W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"",
+ "properties":{
+ "Category":" Saved Search Test Category",
+ "DisplayName":"Create or Update Saved Search Test",
+ "Query":"* | measure Count() by Computer",
+ "Tags":[
+ {
+ "Name":"Group",
+ "Value":"Computer"
+ }
+ ],
+ "Version":1
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsCreateOrUpdate.json
new file mode 100644
index 000000000000..ceb5561cde34
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsCreateOrUpdate.json
@@ -0,0 +1,72 @@
+{
+ "parameters":{
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"aztest5048",
+ "storageInsightName":"AzTestSI1110",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000",
+ "parameters":{
+ "properties":{
+ "containers":[
+ "wad-iis-logfiles"
+ ],
+ "tables":[
+ "WADWindowsEventLogsTable",
+ "LinuxSyslogVer2v0"
+ ],
+ "storageAccount":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945",
+ "key":"1234"
+ }
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties":{
+ "containers":[
+ "wad-iis-logfiles"
+ ],
+ "tables":[
+ "WADWindowsEventLogsTable",
+ "LinuxSyslogVer2v0"
+ ],
+ "storageAccount":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945",
+ "key": "Storage Key"
+ },
+ "status":{
+ "state":"OK"
+ }
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110",
+ "name":"AzTestSI1110",
+ "type":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs"
+ }
+ },
+ "201":{
+ "body":{
+ "properties":{
+ "containers":[
+ "wad-iis-logfiles"
+ ],
+ "tables":[
+ "WADWindowsEventLogsTable",
+ "LinuxSyslogVer2v0"
+ ],
+ "storageAccount":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945",
+ "key": "Storage Key"
+ },
+ "status":{
+ "state":"OK"
+ }
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110",
+ "name":"AzTestSI1110",
+ "type":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsDelete.json
new file mode 100644
index 000000000000..5c55f8d01f81
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters":{
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"aztest5048",
+ "storageInsightName":"AzTestSI1110",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ },
+ "204":{
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsGet.json
new file mode 100644
index 000000000000..07a513231ba0
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters":{
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"aztest5048",
+ "storageInsightName":"AzTestSI1110",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties":{
+ "containers":[
+ "wad-iis-logfiles"
+ ],
+ "tables":[
+ "WADWindowsEventLogsTable",
+ "LinuxSyslogVer2v0"
+ ],
+ "storageAccount":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945",
+ "key":"Storage Account Key"
+ },
+ "status":{
+ "state":"OK"
+ }
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110",
+ "name":"AzTestSI1110",
+ "type":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsListByWorkspace.json
new file mode 100644
index 000000000000..b16445c6d0e3
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/StorageInsightsListByWorkspace.json
@@ -0,0 +1,34 @@
+{
+ "parameters":{
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"aztest5048",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "properties":{
+ "containers":[
+ "wad-iis-logfiles"
+ ],
+ "tables":[
+ "WADWindowsEventLogsTable",
+ "LinuxSyslogVer2v0"
+ ],
+ "storageAccount":{
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945"
+ },
+ "status":{
+ "state":"OK"
+ }
+ },
+ "id":"/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110",
+ "name":"AzTestSI1110",
+ "type":"Microsoft.OperationalInsights/workspaces/storageinsightconfigs"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesDeleteSavedSearches.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesDeleteSavedSearches.json
new file mode 100644
index 000000000000..d123d61f1ab2
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesDeleteSavedSearches.json
@@ -0,0 +1,12 @@
+{
+ "parameters":{
+ "resourceGroupName":"TestRG",
+ "workspaceName":"TestWS",
+ "savedSearchName":"SavedSearchName",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGetSearchResults.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGetSearchResults.json
new file mode 100644
index 000000000000..5b177ca02b8d
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGetSearchResults.json
@@ -0,0 +1,4920 @@
+{
+ "parameters":{
+ "resourceGroupName":"mms-eus",
+ "workspaceName":"atlantisdemo",
+ "api-version":"2015-03-02",
+ "parameters":{
+ "top":25,
+ "query":"*"
+ },
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "metaData":{
+ "schema":{
+ "name":"CloudOps",
+ "version":2
+ },
+ "resultType":"schema",
+ "requestTime":28
+ },
+ "value":[
+ {
+ "name":"TenantId",
+ "displayName":"TenantId",
+ "type":"Guid",
+ "indexed":true,
+ "stored":false,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "Alert",
+ "AzureActivity",
+ "AzureAudit",
+ "AzureMetrics",
+ "ComputerGroup",
+ "ETWEvent",
+ "Event",
+ "ExtraHopDBLogin",
+ "ExtraHopDBTransaction",
+ "ExtraHopDNSResponse",
+ "ExtraHopFTPResponse",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopSMTPMessage",
+ "ExtraHopSYNScanDetect",
+ "ExtraHopTCPOpen",
+ "Heartbeat",
+ "Operation",
+ "Perf",
+ "ReservedAzureCommonFields",
+ "ReservedCommonFields",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent",
+ "Syslog",
+ "Usage",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MG",
+ "displayName":"MG",
+ "type":"Guid",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "Alert",
+ "Event",
+ "Heartbeat",
+ "Operation",
+ "Perf",
+ "Syslog",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SourceSystem",
+ "displayName":"SourceSystem",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert",
+ "AzureActivity",
+ "AzureAudit",
+ "AzureMetrics",
+ "ComputerGroup",
+ "ETWEvent",
+ "Event",
+ "ExtraHopDBLogin",
+ "ExtraHopDBTransaction",
+ "ExtraHopDNSResponse",
+ "ExtraHopFTPResponse",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopSMTPMessage",
+ "ExtraHopSYNScanDetect",
+ "ExtraHopTCPOpen",
+ "Heartbeat",
+ "Operation",
+ "Perf",
+ "ReservedAzureCommonFields",
+ "ReservedCommonFields",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent",
+ "Syslog",
+ "Usage",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"Description",
+ "displayName":"Description",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TimeGenerated",
+ "displayName":"TimeGenerated",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert",
+ "AzureActivity",
+ "AzureAudit",
+ "AzureMetrics",
+ "ComputerGroup",
+ "ETWEvent",
+ "Event",
+ "ExtraHopDBLogin",
+ "ExtraHopDBTransaction",
+ "ExtraHopDNSResponse",
+ "ExtraHopFTPResponse",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopSMTPMessage",
+ "ExtraHopSYNScanDetect",
+ "ExtraHopTCPOpen",
+ "Heartbeat",
+ "Operation",
+ "Perf",
+ "ReservedAzureCommonFields",
+ "ReservedCommonFields",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent",
+ "Syslog",
+ "Usage",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Computer",
+ "displayName":"Computer",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert",
+ "ComputerGroup",
+ "ETWEvent",
+ "Event",
+ "Heartbeat",
+ "Operation",
+ "Perf",
+ "ReservedCommonFields",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent",
+ "Syslog",
+ "Usage",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"HelpLink",
+ "displayName":"HelpLink",
+ "type":"Uri",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Operation"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertName",
+ "displayName":"AlertName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertDescription",
+ "displayName":"AlertDescription",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertState",
+ "displayName":"AlertState",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"PriorityNumber",
+ "displayName":"PriorityNumber",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HostName",
+ "displayName":"HostName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert",
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"StateType",
+ "displayName":"StateType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertSeverity",
+ "displayName":"AlertSeverity",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SourceDisplayName",
+ "displayName":"SourceDisplayName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"QueryExecutionStartTime",
+ "displayName":"QueryExecutionStartTime",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"QueryExecutionEndTime",
+ "displayName":"QueryExecutionEndTime",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Query",
+ "displayName":"Query",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RemediationJobId",
+ "displayName":"RemediationJobId",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RemediationRunbookName",
+ "displayName":"RemediationRunbookName",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertRuleId",
+ "displayName":"AlertRuleId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertRuleInstanceId",
+ "displayName":"AlertRuleInstanceId",
+ "type":"Guid",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ThresholdOperator",
+ "displayName":"ThresholdOperator",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ThresholdValue",
+ "displayName":"ThresholdValue",
+ "type":"Int",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"LinkToSearchResults",
+ "displayName":"LinkToSearchResults",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ServiceDeskConnectionName",
+ "displayName":"ServiceDeskConnectionName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ServiceDeskId",
+ "displayName":"ServiceDeskId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ServiceDeskWorkItemLink",
+ "displayName":"ServiceDeskWorkItemLink",
+ "type":"Uri",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ServiceDeskWorkItemType",
+ "displayName":"ServiceDeskWorkItemType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ResourceId",
+ "displayName":"ResourceId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert",
+ "AzureActivity",
+ "AzureMetrics",
+ "Heartbeat",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ResourceType",
+ "displayName":"ResourceType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert",
+ "Heartbeat",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ResourceValue",
+ "displayName":"ResourceValue",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RootObjectName",
+ "displayName":"RootObjectName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ObjectDisplayName",
+ "displayName":"ObjectDisplayName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertPriority",
+ "displayName":"AlertPriority",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SourceFullName",
+ "displayName":"SourceFullName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertId",
+ "displayName":"AlertId",
+ "type":"Guid",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RepeatCount",
+ "displayName":"RepeatCount",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ResolvedBy",
+ "displayName":"ResolvedBy",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"LastModifiedBy",
+ "displayName":"LastModifiedBy",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TimeRaised",
+ "displayName":"TimeRaised",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TimeResolved",
+ "displayName":"TimeResolved",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TimeLastModified",
+ "displayName":"TimeLastModified",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertContext",
+ "displayName":"AlertContext",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TicketId",
+ "displayName":"TicketId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom1",
+ "displayName":"Custom1",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom2",
+ "displayName":"Custom2",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom3",
+ "displayName":"Custom3",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom4",
+ "displayName":"Custom4",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom5",
+ "displayName":"Custom5",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom6",
+ "displayName":"Custom6",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom7",
+ "displayName":"Custom7",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom8",
+ "displayName":"Custom8",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom9",
+ "displayName":"Custom9",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Custom10",
+ "displayName":"Custom10",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ManagementGroupName",
+ "displayName":"ManagementGroupName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert",
+ "Event",
+ "Heartbeat",
+ "Operation",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertUniqueId",
+ "displayName":"AlertUniqueId",
+ "type":"Guid",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertTypeDescription",
+ "displayName":"AlertTypeDescription",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertTypeNumber",
+ "displayName":"AlertTypeNumber",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertError",
+ "displayName":"AlertError",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"StatusDescription",
+ "displayName":"StatusDescription",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertStatus",
+ "displayName":"AlertStatus",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TriggerId",
+ "displayName":"TriggerId",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Url",
+ "displayName":"Url",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ValueDescription",
+ "displayName":"ValueDescription",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AlertValue",
+ "displayName":"AlertValue",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Comments",
+ "displayName":"Comments",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TemplateId",
+ "displayName":"TemplateId",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"FlagsDescription",
+ "displayName":"FlagsDescription",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Flags",
+ "displayName":"Flags",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ValueFlagsDescription",
+ "displayName":"ValueFlagsDescription",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ValueFlags",
+ "displayName":"ValueFlags",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Expression",
+ "displayName":"Expression",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Alert"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ApplicationName",
+ "displayName":"ApplicationName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OperationName",
+ "displayName":"OperationName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"Role",
+ "displayName":"Role",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "Event",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RoleInstance",
+ "displayName":"RoleInstance",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csUserAgent",
+ "displayName":"csUserAgent",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ApplicationTypeVersion",
+ "displayName":"ApplicationTypeVersion",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ServiceFabricOperationalEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"sPort",
+ "displayName":"sPort",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ResponseCode",
+ "displayName":"ResponseCode",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopHTTPTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OperationVersion",
+ "displayName":"OperationVersion",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"Category",
+ "displayName":"Category",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics",
+ "Heartbeat",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ResultType",
+ "displayName":"ResultType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ResultSignature",
+ "displayName":"ResultSignature",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ResultDescription",
+ "displayName":"ResultDescription",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"DurationMs",
+ "displayName":"DurationMs",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"CallerIpAddress",
+ "displayName":"CallerIpAddress",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"CorrelationId",
+ "displayName":"CorrelationId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics",
+ "Operation",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"Resource",
+ "displayName":"Resource",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics",
+ "Heartbeat",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ResourceGroup",
+ "displayName":"ResourceGroup",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics",
+ "Heartbeat",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ResourceProvider",
+ "displayName":"ResourceProvider",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics",
+ "Heartbeat",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"SubscriptionId",
+ "displayName":"SubscriptionId",
+ "type":"Guid",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity",
+ "AzureMetrics",
+ "Heartbeat",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"RunbookName_s",
+ "displayName":"RunbookName_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"JobId_g",
+ "displayName":"JobId_g",
+ "type":"Guid",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Caller_s",
+ "displayName":"Caller_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"StreamType_s",
+ "displayName":"StreamType_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RemoteIPCountry",
+ "displayName":"RemoteIPCountry",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics",
+ "Heartbeat",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RemoteIPLatitude",
+ "displayName":"RemoteIPLatitude",
+ "type":"Float",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "Heartbeat",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RemoteIPLongitude",
+ "displayName":"RemoteIPLongitude",
+ "type":"Float",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "Heartbeat",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MaliciousIP",
+ "displayName":"MaliciousIP",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"IndicatorThreatType",
+ "displayName":"IndicatorThreatType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TLPLevel",
+ "displayName":"TLPLevel",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Confidence",
+ "displayName":"Confidence",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Severity",
+ "displayName":"Severity",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics",
+ "ReservedCommonFields",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"FirstReportedDateTime",
+ "displayName":"FirstReportedDateTime",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"LastReportedDateTime",
+ "displayName":"LastReportedDateTime",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"IsActive",
+ "displayName":"IsActive",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ReportReferenceLink",
+ "displayName":"ReportReferenceLink",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AdditionalInformation",
+ "displayName":"AdditionalInformation",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "AzureMetrics",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Level",
+ "displayName":"Level",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureActivity",
+ "ETWEvent",
+ "ReservedCommonFields",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ActivityStatus",
+ "displayName":"ActivityStatus",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ActivitySubstatus",
+ "displayName":"ActivitySubstatus",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Caller",
+ "displayName":"Caller",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HTTPRequest",
+ "displayName":"HTTPRequest",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Properties",
+ "displayName":"Properties",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventSubmissionTimestamp",
+ "displayName":"EventSubmissionTimestamp",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Authorization",
+ "displayName":"Authorization",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OperationId",
+ "displayName":"OperationId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "AzureActivity"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventDataId",
+ "displayName":"EventDataId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "AzureActivity",
+ "AzureAudit"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MetricName",
+ "displayName":"MetricName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Total",
+ "displayName":"Total",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Count",
+ "displayName":"Count",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Maximum",
+ "displayName":"Maximum",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Minimum",
+ "displayName":"Minimum",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AverageValue",
+ "displayName":"Average",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TimeGrain",
+ "displayName":"TimeGrain",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"UnitName",
+ "displayName":"UnitName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "AzureMetrics"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SourceIP",
+ "displayName":"SourceIP",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ProcessName",
+ "displayName":"ProcessName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ProcessID",
+ "displayName":"ProcessID",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"FilePath",
+ "displayName":"FilePath",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ExtraHopFTPResponse"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Message",
+ "displayName":"Message",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "Event",
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"StartTime",
+ "displayName":"StartTime",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EndTime",
+ "displayName":"EndTime",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Version",
+ "displayName":"Version",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Group",
+ "displayName":"Group",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ComputerGroup"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"GroupId",
+ "displayName":"GroupId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ComputerGroup"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"GroupSourceName",
+ "displayName":"GroupSourceName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ComputerGroup"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"GroupSource",
+ "displayName":"GroupSource",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ComputerGroup"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"GroupFullName",
+ "displayName":"GroupFullName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ComputerGroup"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SourceComputerId",
+ "displayName":"SourceComputerId",
+ "type":"Guid",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Heartbeat",
+ "Operation"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventId",
+ "displayName":"EventId",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"QueryType",
+ "displayName":"QueryType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDNSResponse"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"PartitionKey",
+ "displayName":"PartitionKey",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ProviderGuid",
+ "displayName":"ProviderGuid",
+ "type":"Guid",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventSourceName",
+ "displayName":"EventSourceName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Pid",
+ "displayName":"Pid",
+ "type":"Int",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Tid",
+ "displayName":"Tid",
+ "type":"Int",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OpcodeName",
+ "displayName":"OpcodeName",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"KeywordName",
+ "displayName":"KeywordName",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TaskName",
+ "displayName":"TaskName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ChannelName",
+ "displayName":"ChannelName",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RowKey",
+ "displayName":"RowKey",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AzureDeploymentID",
+ "displayName":"AzureDeploymentID",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "Event",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent",
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventMessage",
+ "displayName":"EventMessage",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ETWEvent",
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Source",
+ "displayName":"Source",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventLog",
+ "displayName":"EventLog",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventCategory",
+ "displayName":"EventCategory",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventLevel",
+ "displayName":"EventLevel",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventLevelName",
+ "displayName":"EventLevelName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"UserName",
+ "displayName":"UserName",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ParameterXml",
+ "displayName":"ParameterXml",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventData",
+ "displayName":"EventData",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventID",
+ "displayName":"EventID",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RenderedDescription",
+ "displayName":"RenderedDescription",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Event"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SourceLocation",
+ "displayName":"SourceLocation",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBLogin",
+ "ExtraHopDBTransaction",
+ "ExtraHopDNSResponse",
+ "ExtraHopFTPResponse",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopSMTPMessage",
+ "ExtraHopSYNScanDetect",
+ "ExtraHopTCPOpen"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"DestinationAddress",
+ "displayName":"DestinationAddress",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBLogin",
+ "ExtraHopDBTransaction",
+ "ExtraHopDNSResponse",
+ "ExtraHopFTPResponse",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopSMTPMessage",
+ "ExtraHopTCPOpen"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"User",
+ "displayName":"User",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBLogin",
+ "ExtraHopDBTransaction",
+ "ExtraHopFTPResponse"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Method",
+ "displayName":"Method",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopFTPResponse",
+ "ExtraHopHTTPTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"DestinationPortNumber",
+ "displayName":"DestinationPortNumber",
+ "type":"Int",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopTCPOpen"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SourcePortNumber",
+ "displayName":"SourcePortNumber",
+ "type":"Int",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopHTTPTransaction",
+ "ExtraHopTCPOpen"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Duration_ms",
+ "displayName":"Duration_ms",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopHTTPTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ResponseTTLB_ms",
+ "displayName":"ResponseTTLB_ms",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopHTTPTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HOPName",
+ "displayName":"HOPName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopHTTPTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"QueryString",
+ "displayName":"QueryString",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopDNSResponse"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"DBErrorCode",
+ "displayName":"DBErrorCode",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"DataCenter",
+ "displayName":"DataCenter",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDBTransaction",
+ "ExtraHopHTTPTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"QueryResult",
+ "displayName":"QueryResult",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopDNSResponse"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"StatusCode",
+ "displayName":"StatusCode",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopFTPResponse"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"URIString",
+ "displayName":"URIString",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopHTTPTransaction"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Recipient",
+ "displayName":"Recipient",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopSMTPMessage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SenderName",
+ "displayName":"SenderName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopSMTPMessage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AttachmentFileSize",
+ "displayName":"AttachmentFileSize",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopSMTPMessage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SYNSENT_NEWCONNESTAB",
+ "displayName":"SYNSENT_NEWCONNESTAB",
+ "type":"Float",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopSYNScanDetect"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"PeerListSize",
+ "displayName":"PeerListSize",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ExtraHopSYNScanDetect"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ComputerIP",
+ "displayName":"ComputerIP",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OSType",
+ "displayName":"OSType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OSName",
+ "displayName":"OSName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OSMajorVersion",
+ "displayName":"OSMajorVersion",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OSMinorVersion",
+ "displayName":"OSMinorVersion",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SCAgentChannel",
+ "displayName":"SCAgentChannel",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"IsGatewayInstalled",
+ "displayName":"IsGatewayInstalled",
+ "type":"Bool",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ComputerEnvironment",
+ "displayName":"ComputerEnvironment",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Solutions",
+ "displayName":"Solutions",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Heartbeat"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ClientInfo_s",
+ "displayName":"ClientInfo_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RequestUri_s",
+ "displayName":"RequestUri_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Id_s",
+ "displayName":"Id_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HttpStatusCode_d",
+ "displayName":"HttpStatusCode_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"InstanceId_s",
+ "displayName":"InstanceId_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ClientIP_s",
+ "displayName":"ClientIP_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ClientPort_d",
+ "displayName":"ClientPort_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HttpMethod_s",
+ "displayName":"HttpMethod_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RequestQuery_s",
+ "displayName":"RequestQuery_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"UserAgent_s",
+ "displayName":"UserAgent_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HttpStatus_d",
+ "displayName":"HttpStatus_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HttpVersion_s",
+ "displayName":"HttpVersion_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ReceivedBytes_d",
+ "displayName":"ReceivedBytes_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SentBytes_d",
+ "displayName":"SentBytes_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TimeTaken_d",
+ "displayName":"TimeTaken_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SslEnabled_s",
+ "displayName":"SslEnabled_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HealthyHostCount_d",
+ "displayName":"HealthyHostCount_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"UnHealthyHostCount_d",
+ "displayName":"UnHealthyHostCount_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RequestCount_d",
+ "displayName":"RequestCount_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Latency_d",
+ "displayName":"Latency_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"FailedRequestCount_d",
+ "displayName":"FailedRequestCount_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Throughput_d",
+ "displayName":"Throughput_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"VnetResourceGuid_s",
+ "displayName":"VnetResourceGuid_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SubnetPrefix_s",
+ "displayName":"SubnetPrefix_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MacAddress_s",
+ "displayName":"MacAddress_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"RuleName_s",
+ "displayName":"RuleName_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Direction_s",
+ "displayName":"Direction_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Priority_d",
+ "displayName":"Priority_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Type_s",
+ "displayName":"Type_s",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MatchedConnections_d",
+ "displayName":"MatchedConnections_d",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedAzureCommonFields"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OperationStatus",
+ "displayName":"OperationStatus",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Operation"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Detail",
+ "displayName":"Detail",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Operation"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OperationCategory",
+ "displayName":"OperationCategory",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Operation"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Solution",
+ "displayName":"Solution",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Operation",
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"OperationKey",
+ "displayName":"OperationKey",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Operation"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ErrorId",
+ "displayName":"ErrorId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Operation"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ObjectName",
+ "displayName":"ObjectName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"CounterName",
+ "displayName":"CounterName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"InstanceName",
+ "displayName":"InstanceName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Average",
+ "displayName":"CounterValue",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"CounterPath",
+ "displayName":"CounterPath",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Min",
+ "displayName":"Min",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Max",
+ "displayName":"Max",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SampleCount",
+ "displayName":"SampleCount",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"BucketStartTime",
+ "displayName":"BucketStartTime",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"BucketEndTime",
+ "displayName":"BucketEndTime",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"StandardDeviation",
+ "displayName":"StandardDeviation",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Perf"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"IPAddress",
+ "displayName":"IPAddress",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"CallerIPAddress",
+ "displayName":"CallerIPAddress",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ReservedCommonFields"
+ ],
+ "extraction":null,
+ "common":true
+ },
+ {
+ "name":"ServiceName",
+ "displayName":"ServiceName",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"StorageAccount",
+ "displayName":"StorageAccount",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ApplicationTypeName",
+ "displayName":"ApplicationTypeName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"UpgradeDomains",
+ "displayName":"UpgradeDomains",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricOperationalEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ServiceTypeName",
+ "displayName":"ServiceTypeName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"PartitionId",
+ "displayName":"PartitionId",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricOperationalEvent",
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ActorType",
+ "displayName":"ActorType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ActorId",
+ "displayName":"ActorId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ActorIdKind",
+ "displayName":"ActorIdKind",
+ "type":"Int",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"IsStateful",
+ "displayName":"IsStateful",
+ "type":"Bool",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ReplicaOrInstanceId",
+ "displayName":"ReplicaOrInstanceId",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"NodeName",
+ "displayName":"NodeName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"NodeId",
+ "displayName":"NodeId",
+ "type":"Guid",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"CountOfWaitingMethodCalls",
+ "displayName":"CountOfWaitingMethodCalls",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MethodName",
+ "displayName":"MethodName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MethodSignature",
+ "displayName":"MethodSignature",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MethodExecutionTimeTicks",
+ "displayName":"MethodExecutionTimeTicks",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Exception",
+ "displayName":"Exception",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SaveStateExecutionTimeTicks",
+ "displayName":"SaveStateExecutionTimeTicks",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ReplicaId",
+ "displayName":"ReplicaId",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableActorEvent",
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SlowCancellationTimeMillis",
+ "displayName":"SlowCancellationTimeMillis",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"WasCanceled",
+ "displayName":"WasCanceled",
+ "type":"Bool",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ActualCancellationTimeMillis",
+ "displayName":"ActualCancellationTimeMillis",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"InstanceId",
+ "displayName":"InstanceId",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "ServiceFabricReliableServiceEvent"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"EventTime",
+ "displayName":"EventTime",
+ "type":"DateTime",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Facility",
+ "displayName":"Facility",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SeverityLevel",
+ "displayName":"SeverityLevel",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"SyslogMessage",
+ "displayName":"SyslogMessage",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"HostIP",
+ "displayName":"HostIP",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "Syslog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"ResourceUri",
+ "displayName":"ResourceUri",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"LinkedResourceUri",
+ "displayName":"LinkedResourceUri",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"DataType",
+ "displayName":"DataType",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"BatchesWithinSla",
+ "displayName":"BatchesWithinSla",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"BatchesOutsideSla",
+ "displayName":"BatchesOutsideSla",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"BatchesCapped",
+ "displayName":"BatchesCapped",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TotalBatches",
+ "displayName":"TotalBatches",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"AvgLatencyInSeconds",
+ "displayName":"AvgLatencyInSeconds",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Quantity",
+ "displayName":"Quantity",
+ "type":"Double",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"QuantityUnit",
+ "displayName":"QuantityUnit",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"IsBillable",
+ "displayName":"IsBillable",
+ "type":"Bool",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"MeterId",
+ "displayName":"MeterId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"LinkedMeterId",
+ "displayName":"LinkedMeterId",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "Usage"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"FileUri",
+ "displayName":"FileUri",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"FileOffset",
+ "displayName":"FileOffset",
+ "type":"Int",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Date",
+ "displayName":"Date",
+ "type":"String",
+ "indexed":false,
+ "stored":false,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Time",
+ "displayName":"Time",
+ "type":"String",
+ "indexed":false,
+ "stored":false,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"sSiteName",
+ "displayName":"sSiteName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"sComputerName",
+ "displayName":"sComputerName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":true,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"sIP",
+ "displayName":"sIP",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csMethod",
+ "displayName":"csMethod",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csUriStem",
+ "displayName":"csUriStem",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csUriQuery",
+ "displayName":"csUriQuery",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csUserName",
+ "displayName":"csUserName",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"cIP",
+ "displayName":"cIP",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csVersion",
+ "displayName":"csVersion",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csCookie",
+ "displayName":"csCookie",
+ "type":"String",
+ "indexed":false,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csReferer",
+ "displayName":"csReferer",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csHost",
+ "displayName":"csHost",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"scStatus",
+ "displayName":"scStatus",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"scSubStatus",
+ "displayName":"scSubStatus",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"scWin32Status",
+ "displayName":"scWin32Status",
+ "type":"String",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"scBytes",
+ "displayName":"scBytes",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"csBytes",
+ "displayName":"csBytes",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":false,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"TimeTaken",
+ "displayName":"TimeTaken",
+ "type":"BigInt",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":false,
+ "display":true,
+ "ownerType":[
+ "W3CIISLog"
+ ],
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"Type",
+ "displayName":"Type",
+ "type":"string",
+ "indexed":true,
+ "stored":true,
+ "facet":true,
+ "hidden":true,
+ "display":true,
+ "ownerType":null,
+ "extraction":null,
+ "common":false
+ },
+ {
+ "name":"id",
+ "displayName":null,
+ "type":"uuid",
+ "indexed":true,
+ "stored":true,
+ "facet":false,
+ "hidden":true,
+ "display":false,
+ "ownerType":null,
+ "extraction":null,
+ "common":false
+ }
+ ]
+ }
+ },
+ "202":{
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesListLinkTargets.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesListLinkTargets.json
new file mode 100644
index 000000000000..180eb17cc185
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesListLinkTargets.json
@@ -0,0 +1,18 @@
+{
+ "parameters":{
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":[
+ {
+ "customerId": "customer id",
+ "accountName": "name",
+ "workspaceName": "workspaceName",
+ "location": "East US"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesCreateOrUpdate.json
new file mode 100644
index 000000000000..d4caf4d325c0
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesCreateOrUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters":{
+ "resourceGroupName":"TestRG",
+ "workspaceName":"TestWS",
+ "savedSearchName":"SavedSearchName",
+ "parameters": {
+ "properties": {
+ "category":"category",
+ "displayName":"Create or Update Saved Search Test",
+ "query":"*",
+ "version":1,
+ "tags":[
+ {
+ "name":"Group",
+ "value":"Computer"
+ }
+ ]
+ }
+ },
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/AtlantisDemo/savedSearches/test-new-saved-search-id-2015",
+ "eTag":"W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"",
+ "properties":{
+ "category":" Saved Search Test Category",
+ "displayName":"Create or Update Saved Search Test",
+ "query":"* | measure Count() by Computer",
+ "version":1
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesGet.json
new file mode 100644
index 000000000000..ab7f4ae25c02
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesSavedSearchesGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters":{
+ "resourceGroupName":"TestRG",
+ "workspaceName":"TestWS",
+ "savedSearchName":"SavedSearchName",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/AtlantisDemo/savedSearches/test-new-saved-search-id-2015",
+ "eTag":"W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"",
+ "properties":{
+ "category":" Saved Search Test Category",
+ "displayName":"Create or Update Saved Search Test",
+ "query":"* | measure Count() by Computer",
+ "version":1
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesUpdateSearchResults.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesUpdateSearchResults.json
new file mode 100644
index 000000000000..9545af9a3189
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesUpdateSearchResults.json
@@ -0,0 +1,12 @@
+{
+ "parameters":{
+ "resourceGroupName":"TestRG",
+ "workspaceName":"TestWS",
+ "id":"SavedSearchName",
+ "api-version":"2015-03-02",
+ "subscriptionId":"00000000-0000-0000-0000-00000000000"
+ },
+ "responses":{
+ "200":{ }
+}
+}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md
index a4522392319f..208e9a4657fd 100644
--- a/specification/operationalinsights/resource-manager/readme.md
+++ b/specification/operationalinsights/resource-manager/readme.md
@@ -39,7 +39,6 @@ These settings apply only when `--tag=package-2015-11-preview` is specified on t
``` yaml $(tag) == 'package-2015-11-preview'
input-file:
- Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json
-- Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json
```
### Tag: package-2015-03
@@ -55,6 +54,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -112,6 +122,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-03
+ - tag: package-2015-11-preview
+```
+
### Tag: package-2015-03 and go
These settings apply only when `--tag=package-2015-03 --go` is specified on the command line.
@@ -129,3 +147,28 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.operationalinsights
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-operationalinsights
+```
+
+
+## Suppression
+
+``` yaml
+directive:
+ - from: OperationalInsights.json
+ suppress: R3006 # BodyTopLevelProperties/R3006/RPCViolation
+ reason: properties etag defined as eTag in model
+```
diff --git a/specification/operationsmanagement/resource-manager/readme.md b/specification/operationsmanagement/resource-manager/readme.md
index 10dc4670b122..da36ed5750ac 100644
--- a/specification/operationsmanagement/resource-manager/readme.md
+++ b/specification/operationsmanagement/resource-manager/readme.md
@@ -46,6 +46,17 @@ input-file:
# 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-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -74,6 +85,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2015-11-preview
+```
+
### Tag: package-2015-11-preview and go
These settings apply only when `--tag=package-2015-11-preview --go` is specified on the command line.
@@ -82,3 +100,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.operationsmanagement
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-operationsmanagement
+```
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesCreateOrUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesCreateOrUpdate.json
deleted file mode 100644
index d4bc04372df4..000000000000
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesCreateOrUpdate.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview",
- "parameters": {
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforPostgreSQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforPostgreSQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- },
- "202": {}
- }
-}
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesDelete.json
deleted file mode 100644
index 94b5feeccec2..000000000000
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesDelete.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview"
- },
- "responses": {
- "200": {
- "body": ""
- },
- "202": {
- "body": ""
- },
- "204": {
- "body": ""
- }
- }
-}
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesGet.json
deleted file mode 100644
index 7dcf85e1c068..000000000000
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesGet.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforPostgreSQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "state": "Ready",
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesList.json
deleted file mode 100644
index e894431bdd51..000000000000
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/examples/VirtualNetworkRulesList.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
- "resourceGroupName": "TestGroup",
- "serverName": "vnet-test-svr",
- "virtualNetworkRuleName": "vnet-firewall-rule",
- "api-version": "2017-04-30-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforPostgreSQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "state": "Ready",
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- },
- {
- "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
- "name": "vnet-firewall-rule",
- "type": "Microsoft.DBforPostgreSQL/servers/virtualNetworkRules",
- "properties": {
- "ignoreMissingVnetServiceEndpoint": false,
- "state": "Ready",
- "virtualNetworkSubnetId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
- }
- }
- ]
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/postgresql.json
index 1fd615c40c70..b24847a180b2 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/postgresql.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-04-30-preview/postgresql.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "PostgreSQLManagementClient",
- "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, log files and configurations.",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, log files and configurations.",
"version": "2017-04-30-preview"
},
"host": "management.azure.com",
@@ -432,193 +432,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": {
- "get": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Gets a virtual network rule.",
- "operationId": "VirtualNetworkRules_Get",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/virtualNetworkRuleNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved a specified virtual network rule.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
- }
- },
- "x-ms-examples": {
- "Gets a virtual network rule": {
- "$ref": "./examples/VirtualNetworkRulesGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Creates or updates an existing virtual network rule.",
- "operationId": "VirtualNetworkRules_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/virtualNetworkRuleNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "The requested virtual Network Rule Resource state.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated a virtual network rule.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 400 NullVirtualNetworkSubnetId - The Virtual Network Subnet Id is null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 VirtualNetworkRuleNotEnabled - Azure SQL Server Virtual Network Rule feature is not enabled\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
- },
- "202": {
- "description": "Accepted"
- },
- "201": {
- "description": "Successfully created a virtual network rule.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRule"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create or update a virtual network rule": {
- "$ref": "./examples/VirtualNetworkRulesCreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Deletes the virtual network rule with the given name.",
- "operationId": "VirtualNetworkRules_Delete",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/virtualNetworkRuleNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the virtual network rule."
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "The specified virtual network rule does not exist."
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Delete a virtual network rule": {
- "$ref": "./examples/VirtualNetworkRulesDelete.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules": {
- "get": {
- "tags": [
- "VirtualNetworkRules"
- ],
- "description": "Gets a list of virtual network rules in a server.",
- "operationId": "VirtualNetworkRules_ListByServer",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ServerNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of virtual network rules.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkRuleListResult"
- }
- },
- "default": {
- "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List virtual network rules": {
- "$ref": "./examples/VirtualNetworkRulesList.json"
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}": {
"put": {
"tags": [
@@ -1453,74 +1266,6 @@
},
"description": "A list of firewall rules."
},
- "VirtualNetworkRuleProperties": {
- "description": "Properties of a virtual network rule.",
- "required": [
- "virtualNetworkSubnetId"
- ],
- "type": "object",
- "properties": {
- "virtualNetworkSubnetId": {
- "description": "The ARM resource id of the virtual network subnet.",
- "type": "string"
- },
- "ignoreMissingVnetServiceEndpoint": {
- "description": "Create firewall rule before the virtual network has vnet service endpoint enabled.",
- "type": "boolean"
- },
- "state": {
- "description": "Virtual Network Rule State",
- "enum": [
- "Initializing",
- "InProgress",
- "Ready",
- "Deleting",
- "Unknown"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "VirtualNetworkRuleState",
- "modelAsString": true
- }
- }
- }
- },
- "VirtualNetworkRule": {
- "description": "A virtual network rule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/VirtualNetworkRuleProperties",
- "description": "Resource properties.",
- "x-ms-client-flatten": true
- }
- }
- },
- "VirtualNetworkRuleListResult": {
- "description": "A list of virtual network rules.",
- "type": "object",
- "properties": {
- "value": {
- "description": "Array of results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/VirtualNetworkRule"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "Link to retrieve next page of results.",
- "type": "string",
- "readOnly": true
- }
- }
- },
"DatabaseProperties": {
"properties": {
"charset": {
@@ -1885,14 +1630,6 @@
"description": "The name of the server firewall rule.",
"x-ms-parameter-location": "method"
},
- "virtualNetworkRuleNameParameter": {
- "name": "virtualNetworkRuleName",
- "in": "path",
- "description": "The name of the virtual network rule.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
"DatabaseNameParameter": {
"name": "databaseName",
"in": "path",
diff --git a/specification/postgresql/resource-manager/readme.md b/specification/postgresql/resource-manager/readme.md
index 3c5b6015ffcf..e782b146b7b0 100644
--- a/specification/postgresql/resource-manager/readme.md
+++ b/specification/postgresql/resource-manager/readme.md
@@ -44,6 +44,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## Python
These settings apply only when `--python` is specified on the command line.
@@ -83,6 +96,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04-preview
+```
+
### Tag: package-2017-04-preview and go
These settings apply only when `--tag=package-2017-04-preview --go` is specified on the command line.
@@ -91,3 +111,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.postgresql
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-postgresql
+```
diff --git a/specification/powerbidedicated/resource-manager/readme.md b/specification/powerbidedicated/resource-manager/readme.md
index a587d19a1bdb..01863b588894 100644
--- a/specification/powerbidedicated/resource-manager/readme.md
+++ b/specification/powerbidedicated/resource-manager/readme.md
@@ -42,6 +42,17 @@ input-file:
---
# 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-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -56,3 +67,45 @@ csharp:
clear-output-folder: true
```
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: powerbidedicated
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-10-01
+```
+
+### Tag: package-2017-10-01 and go
+
+These settings apply only when `--tag=package-2017-10-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-10-01' && $(go)
+output-folder: $(go-sdk-folder)/services/powerbidedicated/mgmt/2017-10-01/powerbidedicated
+```
+
+
+## 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.powerbidedicated
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-powerbidedicated
+```
diff --git a/specification/powerbiembedded/resource-manager/readme.md b/specification/powerbiembedded/resource-manager/readme.md
index 1441374fc1d7..c960081566ff 100644
--- a/specification/powerbiembedded/resource-manager/readme.md
+++ b/specification/powerbiembedded/resource-manager/readme.md
@@ -44,6 +44,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -98,6 +111,13 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-01
+```
+
### Tag: package-2016-01 and go
These settings apply only when `--tag=package-2016-01 --go` is specified on the command line.
@@ -106,3 +126,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.powerbiembedded
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-powerbiembedded
+```
diff --git a/specification/provisioningservices/resource-manager/readme.md b/specification/provisioningservices/resource-manager/readme.md
deleted file mode 100644
index d61e8c4974d7..000000000000
--- a/specification/provisioningservices/resource-manager/readme.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# Provisioning Services
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for Provisioning Services.
-
-
-
----
-## Getting Started
-To build the SDK for ProvisioningServices, 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 API.
-
-``` yaml
-openapi-type: arm
-tag: package-2017-11
-```
-
-### Tag: package-2017-08
-
-These settings apply only when `--tag=package-2017-08` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-08'
-input-file:
-- Microsoft.Devices/preview/2017-08-21-preview/iotdps.json
-```
-
-### Tag: package-2017-11
-
-These settings apply only when `--tag=package-2017-11` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-11'
-input-file:
-- Microsoft.Devices/stable/2017-11-15/iotdps.json
-```
-
----
-# Code Generation
-
-
-## 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.IotHub
- output-folder: $(csharp-sdks-folder)/ProvisioningServices/Management.ProvisioningServices/Generated
- clear-output-folder: true
-```
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/DeleteRegisteredIdentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/DeleteRegisteredIdentities.json
new file mode 100644
index 000000000000..76fabc1aae4d
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/DeleteRegisteredIdentities.json
@@ -0,0 +1,14 @@
+{
+ "parameters":{
+ "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "BCDRIbzRG",
+ "vaultName": "BCDRIbzVault",
+ "identityName": "dpmcontainer01",
+ "api-version": "2016-06-01"
+ },
+ "responses":{
+ "204":{
+ "body": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/DeleteVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/DeleteVault.json
new file mode 100644
index 000000000000..bd8768f2e501
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/DeleteVault.json
@@ -0,0 +1,13 @@
+{
+ "parameters":{
+ "subscriptionId":"77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName":"Default-RecoveryServices-ResourceGroup",
+ "vaultName":"swaggerExample",
+ "api-version": "2016-06-01"
+ },
+ "responses":{
+ "200":{
+ "body": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/GETVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/GETVault.json
new file mode 100644
index 000000000000..7171912a999e
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/GETVault.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "subscriptionId":"77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName":"Default-RecoveryServices-ResourceGroup",
+ "vaultName":"swaggerExample",
+ "api-version": "2016-06-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "location": "westus",
+ "name": "swaggerExample",
+ "eTag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/GETVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/GETVaultExtendedInfo.json
new file mode 100644
index 000000000000..1c882d517651
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/GETVaultExtendedInfo.json
@@ -0,0 +1,22 @@
+{
+ "parameters":{
+ "subscriptionId":"77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName":"Default-RecoveryServices-ResourceGroup",
+ "vaultName":"swaggerExample",
+ "api-version": "2016-06-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name": "vaultExtendedInfo",
+ "eTag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7",
+ "properties": {
+ "integrityKey": "J09wzS27fnJ+Wjot7xO5wA==",
+ "algorithm": "None"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo",
+ "type": "Microsoft.RecoveryServices/vaults/extendedInformation"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListBySubscriptionIds.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListBySubscriptionIds.json
new file mode 100644
index 000000000000..248546f47a6f
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListBySubscriptionIds.json
@@ -0,0 +1,62 @@
+{
+ "parameters":{
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "api-version": "2016-06-01"
+ },
+ "responses":{
+ "200":{
+ "body": {
+ "value": [
+ {
+ "location": "westus",
+ "name": "patchtest",
+ "eTag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"",
+ "tags": {
+ "Love": "India"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "swaggerExample",
+ "eTag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "today1",
+ "eTag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/today1",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListOperations.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListOperations.json
index 768a5c090441..3098310024e4 100644
--- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListOperations.json
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListOperations.json
@@ -5,1332 +5,455 @@
"responses": {
"200": {
"body": {
- "Value": [
- {
- "Name": "Microsoft.RecoveryServices/Vaults/usages/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultUsage",
- "Operation": "Recovery Services Vault usage details.",
- "Description": "Returnsusage details for a Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupUsages Summaries",
- "Operation": "Recovery Services Protected Items and ProtectedServers usage summaries details.",
- "Description": "Returns summaries for ProtectedItems and Protected Servers for a Recovery Services ."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/storageConfig/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultStorage Config",
- "Operation": "Get Resource Storage Config",
- "Description": "ReturnsStorage Configuration for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/storageConfig/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultStorage Config",
- "Operation": "Write Resource Storage Config",
- "Description": "UpdatesStorage Configuration for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultConfig",
- "Operation": "Get Resource Config",
- "Description": "Returns Configurationfor Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultConfig",
- "Operation": "Update Resource Config",
- "Description": "Updates Configurationfor Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "TokenInfo",
- "Operation": "Get Vault Token Info",
- "Description": "Returns token informationfor Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "SecurityPINInfo",
- "Operation": "GetSecurity PIN Info",
- "Description": "Returns Security PIN Information for RecoveryServices Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupManagement Metadata",
- "Operation": "Get Backup Management Metadata",
- "Description": "ReturnsBackup Management Metadata for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupOperation Results",
- "Operation": "Get Backup Operation Result",
- "Description": "ReturnsBackup Operation Result for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupOperations/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupOperation Status",
- "Operation": "Get Backup Operation Status",
- "Description": "ReturnsBackup Operation Status for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupJobs",
- "Operation": "Get Jobs",
- "Description": "Returns all Job Objects"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupJobs",
- "Operation": "Cancel Jobs",
- "Description": "Cancel the Job"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ExportBackup Jobs",
- "Operation": "Export Jobs",
- "Description": "Export Jobs"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupJobs Operation Results",
- "Operation": "Get Job Operation Result",
- "Description": "Returnsthe Result of Job Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ExportBackup Jobs Operation Results",
- "Operation": "Get Export Job Operation Result",
- "Description": "Returnsthe Result of Export Job Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Get Recovery Points",
- "Description": "Get Recovery Pointsfor Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Restore Recovery Points",
- "Description": "Restore RecoveryPoints for Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Provision Instant Item Recovery for Protected Item",
- "Description": "ProvisionInstant Item Recovery for Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Revoke Instant Item Recovery for Protected Item",
- "Description": "RevokeInstant Item Recovery for Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicies",
- "Operation": "Get Protection Policy",
- "Description": "Returns all ProtectionPolicies"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicies",
- "Operation": "Create Protection Policy",
- "Description": "Creates ProtectionPolicy"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicies",
- "Operation": "Delete Protection Policy",
- "Description": "Delete a ProtectionPolicy"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicy Operation Results",
- "Operation": "Get Policy Operation Results",
- "Description": "GetResults of Policy Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicy Operation Status",
- "Operation": "Get Policy Operation Status",
- "Description": "GetStatus of Policy Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Get Protected Item Details",
- "Description": "Returns objectdetails of the Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Get All Protected Items",
- "Description": "Returns the listof all Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Create Backup Protected Item",
- "Description": "Create abackup Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Delete Protected Items",
- "Description": "Deletes ProtectedItem"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItem Operation Results",
- "Operation": "Get Protected Items Operation Results",
- "Description": "GetsResult of Operation Performed on Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItem Operation Status",
- "Operation": "Get Protected Items operation status",
- "Description": "Returnsthe status of Operation performed on Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Backup Protected Item",
- "Description": "Performs Backupfor Protected Item."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupProtectable Items",
- "Operation": "Get Protectable Items",
- "Description": "Returnslist of all Protectable Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RefreshContainers",
- "Operation": "Refresh container",
- "Description": "Refreshes the containerlist"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RefreshContainers Operation Results",
- "Operation": "Get Operation Results",
- "Description": "Returnsstatus of the operation"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupProtection Containers",
- "Operation": "Get Containers In Subscription",
- "Description": "Returnsall containers belonging to the subscription"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectionContainers",
- "Operation": "Get Registered Container",
- "Description": "Returnsall registered containers"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectionContainers Operation Results",
- "Operation": "Get Container Operation Results",
- "Description": "Getsresult of Operation performed on Protection Container."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupEngines",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupEngines",
- "Operation": "List of backup management servers.",
- "Description": "Returnsall the backup management servers registered with vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupStatus",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupStatus",
- "Operation": "Check Backup Status for Vault",
- "Description": "Check BackupStatus for Recovery Services Vaults"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Alerts Settings",
- "Operation": "Read Alerts Settings",
- "Description": "ReadAny Alerts Settings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Alerts Settings",
- "Operation": "Create or UpdateAlerts Settings",
- "Description": "Create or Update Any Alerts Settings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationEvents/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Events",
- "Operation": "Read Events",
- "Description": "ReadAny Events"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Networks",
- "Operation": "Read Networks",
- "Description": "ReadAny Networks"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Network Mappings",
- "Operation": "Read NetworkMappings",
- "Description": "Read Any Network Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Network Mappings",
- "Operation": "Create or UpdateNetwork Mappings",
- "Description": "Create or Update Any Network Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Network Mappings",
- "Operation": "Delete NetworkMappings",
- "Description": "Delete Any Network Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protectable Items",
- "Operation": "Read ProtectableItems",
- "Description": "Read Any Protectable Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "ReadProtection Container Mappings",
- "Description": "Read Any Protection ContainerMappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "Createor Update Protection Container Mappings",
- "Description": "Create or Update AnyProtection Container Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "RemoveProtection Container Mapping",
- "Description": "Remove Protection Container Mapping"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "DeleteProtection Container Mappings",
- "Description": "Delete Any Protection ContainerMappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Replication Recovery Points",
- "Operation": "ReadReplication Recovery Points",
- "Description": "Read Any Replication RecoveryPoints"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Read ProtectedItems",
- "Description": "Read Any Protected Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Create or UpdateProtected Items",
- "Description": "Create or Update Any Protected Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Delete ProtectedItems",
- "Description": "Delete Any Protected Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Remove ProtectedItem",
- "Description": "Remove Protected Item"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Planned Failover",
- "Description": "PlannedFailover"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Failover",
- "Description": "Failover"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Test Failover",
- "Description": "TestFailover"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Test FailoverCleanup",
- "Description": "Test Failover Cleanup"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Failover Commit",
- "Description": "FailoverCommit"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "ReProtect ProtectedItem",
- "Description": "ReProtect Protected Item"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Update MobilityService",
- "Description": "Update Mobility Service"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Repair replication",
- "Description": "Repairreplication"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Apply RecoveryPoint",
- "Description": "Apply Recovery Point"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Read Jobs",
- "Description": "ReadAny Jobs"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Cancel Job",
- "Description": "CancelJob"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Restart job",
- "Description": "Restartjob"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Resume Job",
- "Description": "ResumeJob"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "Read ProtectionContainers",
- "Description": "Read Any Protection Containers"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "DiscoverProtectable Item",
- "Description": "Discover Protectable Item"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "Createor Update Protection Containers",
- "Description": "Create or Update Any ProtectionContainers"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "RemoveProtection Container",
- "Description": "Remove Protection Container"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "SwitchProtection Container",
- "Description": "Switch Protection Container"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Policies",
- "Operation": "Read Policies",
- "Description": "ReadAny Policies"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Policies",
- "Operation": "Create or Update Policies",
- "Description": "Createor Update Any Policies"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Policies",
- "Operation": "Delete Policies",
- "Description": "DeleteAny Policies"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Read RecoveryPlans",
- "Description": "Read Any Recovery Plans"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Create or UpdateRecovery Plans",
- "Description": "Create or Update Any Recovery Plans"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Delete RecoveryPlans",
- "Description": "Delete Any Recovery Plans"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Planned FailoverRecovery Plan",
- "Description": "Planned Failover Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Failover RecoveryPlan",
- "Description": "Failover Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Test FailoverRecovery Plan",
- "Description": "Test Failover Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Test FailoverCleanup Recovery Plan",
- "Description": "Test Failover Cleanup Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Failover CommitRecovery Plan",
- "Description": "Failover Commit Recovery Plan"
+ "value": [{
+ "name": "microsoft.recoveryservices/vaults/usages/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "ReProtect RecoveryPlan",
- "Description": "ReProtect Recovery Plan"
+ "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "ReadRecovery Services Providers",
- "Description": "Read Any Recovery Services Providers"
+ "name": "microsoft.recoveryservices/vaults/storageConfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "RemoveRecovery Services Provider",
- "Description": "Remove Recovery Services Provider"
+ "name": "microsoft.recoveryservices/vaults/storageConfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "DeleteRecovery Services Providers",
- "Description": "Delete Any Recovery Services Providers"
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "RefreshProvider",
- "Description": "Refresh Provider"
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Read Fabrics",
- "Description": "ReadAny Fabrics"
+ "name": "microsoft.recoveryservices/vaults/tokenInfo/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Create or Update Fabrics",
- "Description": "Createor Update Any Fabrics"
+ "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Remove Fabric",
- "Description": "RemoveFabric"
+ "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Checks Consistency ofthe Fabric",
- "Description": "Checks Consistency of the Fabric"
+ "name": "microsoft.recoveryservices/vaults/backupOperationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Delete Fabrics",
- "Description": "DeleteAny Fabrics"
+ "name": "microsoft.recoveryservices/vaults/backupOperations/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Renew Certificate forFabric",
- "Description": "Renew Certificate for Fabric"
+ "name": "microsoft.recoveryservices/vaults/backupJobs/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Deploy Process ServerImage",
- "Description": "Deploy Process Server Image"
+ "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Reassociate Gateway",
- "Description": "ReassociateGateway"
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classifications",
- "Operation": "ReadStorage Classifications",
- "Description": "Read Any Storage Classifications"
+ "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classification Mappings",
- "Operation": "ReadStorage Classification Mappings",
- "Description": "Read Any Storage ClassificationMappings"
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classification Mappings",
- "Operation": "Createor Update Storage Classification Mappings",
- "Description": "Create or UpdateAny Storage Classification Mappings"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classification Mappings",
- "Operation": "DeleteStorage Classification Mappings",
- "Description": "Delete Any Storage ClassificationMappings"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/usages/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Vault Usages",
- "Operation": "Read Vault Usages",
- "Description": "ReadAny Vault Usages"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Read Jobs",
- "Description": "ReadAny Jobs"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Create or Update Jobs",
- "Description": "Createor Update Any Jobs"
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Delete Jobs",
- "Description": "DeleteAny Jobs"
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "VaultToken",
- "Description": "The Vault Token operation can be used to get Vault Tokenfor vault level backend operations."
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "RegisterService Container",
- "Description": "The Register Service Container operationcan be used to register a container with Recovery Service."
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetOperation Results",
- "Description": "The Get Operation Results operation canbe used get the operation status and result for the asynchronously submittedoperation"
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetContainers",
- "Description": "The Get Containers operation can be used get thecontainers registered for a resource."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "UnregisterService Container",
- "Description": "The UnRegister Container operation can beused to unregister a container."
+ "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/certificates/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "UpdateResource Certificate",
- "Description": "The Update Resource Certificate operationupdates the resource/vault credential certificate."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Getalerts",
- "Description": "Gets the alerts for the Recovery services vault."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/{uniqueAlertId}/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Getalert details",
- "Description": "Gets the details of the alert."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/{uniqueAlertId}/patch",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Resolvealert",
- "Description": "Resolves the alert."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Getconfiguration",
- "Description": "Gets the Recovery services vault notificationconfiguration."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/patch",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Configuree-mail notification",
- "Description": "Configures e-mail notifications to Recoveryservices vault."
+ "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/logDefinitions/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Logs",
- "Description": "Azure Backup Logs"
+ "name": "microsoft.recoveryservices/vaults/refreshContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
},
- "Origin": "system",
- "Properties": {
- "serviceSpecification": {
- "logSpecifications": [
- {
- "name": "AzureBackupReport",
- "displayName": "AzureBackup Reporting Data",
- "blobDuration": "PT1H"
- },
- {
- "name": "AzureSiteRecoveryJobs",
- "displayName": "AzureSite Recovery Jobs",
- "blobDuration": "PT1H"
- },
- {
- "name": "AzureSiteRecoveryEvents",
- "displayName": "AzureSite Recovery Events",
- "blobDuration": "PT1H"
- },
- {
- "name": "AzureSiteRecoveryReplicatedItems",
- "displayName": "AzureSite Recovery Replicated Items",
- "blobDuration": "PT1H"
- }
- ]
- }
- }
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/metricDefinitions/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Metrics",
- "Description": "Azure Backup Metrics"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
},
- "Origin": "system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/diagnosticSettings/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Diagnostics",
- "Description": "Azure Backup Diagnostics"
+ "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
},
- "Origin": "system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/diagnosticSettings/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Diagnostics",
- "Description": "Azure Backup Diagnostics"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
},
- "Origin": "system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "CreateVault",
- "Description": "Create Vault operation creates an Azure resource oftype ''vault''"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetVault",
- "Description": "The Get Vault operation gets an object representingthe Azure resource of type ''vault''"
+ "name": "microsoft.recoveryservices/vaults/backupEngines",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "DeleteVault",
- "Description": "The Delete Vault operation deletes the specified Azureresource of type ''vault''"
+ "name": "microsoft.recoveryservices/vaults/backupStatus",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetExtended Info",
- "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?"
+ "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "PreValidate Protection",
+ "operation": "Pre Validate Enable Protection",
+ "description": ""
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetExtended Info",
- "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?"
+ "name": "microsoft.recoveryservices/vaults/backupValidateFeatures",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Validate Features",
+ "operation": "Validate Features",
+ "description": "Validate Features"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetExtended Info",
- "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Intent",
+ "operation": "Create backup Protection Intent",
+ "description": "Create a backup Protection Intent"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/locations/allocatedStamp/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "locations/allocatedStamp",
- "Operation": "GetAllocated Stamp",
- "Description": "GetAllocatedStamp is internal operation usedby service"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Workload Items",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/locations/allocateStamp/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "locations/allocateStamp",
- "Operation": "AllocatedStamp Action",
- "Description": "AllocateStamp is internal operation used by service"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Inquire",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
},
- "Origin": "user"
+ "origin": "user"
}
]
}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListReplicationUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListReplicationUsages.json
new file mode 100644
index 000000000000..611446c5abd2
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListReplicationUsages.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2016-06-01",
+ "vaultName": "avrai7517Vault1",
+ "resourceGroupName": "avrai7517RG1",
+ "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "monitoringSummary": {
+ "unHealthyVmCount": 0,
+ "unHealthyProviderCount": 0,
+ "eventsCount": 0,
+ "deprecatedProviderCount": 0,
+ "supportedProviderCount": 0,
+ "unsupportedProviderCount": 0
+ },
+ "jobsSummary": {
+ "failedJobs": 0,
+ "suspendedJobs": 0,
+ "inProgressJobs": 0
+ },
+ "protectedItemCount": 2,
+ "registeredServersCount": 2,
+ "recoveryPlanCount": 1
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListResources.json
new file mode 100644
index 000000000000..5e2d51cde54e
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListResources.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName": "Default-RecoveryServices-ResourceGroup",
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "westus",
+ "name": "patchtest",
+ "eTag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"",
+ "tags": {
+ "Love": "India"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "swaggerExample",
+ "eTag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ },
+ {
+ "location": "westus",
+ "name": "today1",
+ "eTag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/today1",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListUsages.json
new file mode 100644
index 000000000000..3208f5cabeca
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/ListUsages.json
@@ -0,0 +1,180 @@
+{
+ "parameters":{
+ "subscriptionId":"77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName":"Default-RecoveryServices-ResourceGroup",
+ "vaultName":"swaggerExample",
+ "api-version": "2016-06-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 6,
+ "limit": -1,
+ "name": {
+ "value": "MABContainersCount",
+ "localizedValue": "Backup management servers"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "ProtectedItemCount",
+ "localizedValue": "Backup items/Azure virtual machine backup"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "ProtectedItemCriticalCount",
+ "localizedValue": "Critical"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "ProtectedItemWarningCount",
+ "localizedValue": "Warning"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "IaaSVMProtectedItemCount",
+ "localizedValue": "Azure Virtual Machines"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "IaaSVMProtectedItemCriticalCount",
+ "localizedValue": "Critical"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "IaaSVMProtectedItemWarningCount",
+ "localizedValue": "Warning"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "MABProtectedItemCount",
+ "localizedValue": "File-Folders"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "DPMProtectedItemCount",
+ "localizedValue": "DPM Protected Items Count"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServerProtectedItemCount",
+ "localizedValue": "Azure Backup Server Protected Items Count"
+ }
+ },
+ {
+ "unit": "Count",
+ "quotaPeriod": "P1D",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "InProgressJobsCount",
+ "localizedValue": "In progress"
+ }
+ },
+ {
+ "unit": "Count",
+ "quotaPeriod": "P1D",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "FailedJobsCount",
+ "localizedValue": "Failed"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 117007930,
+ "limit": -1,
+ "name": {
+ "value": "GRSStorageUsage",
+ "localizedValue": "Cloud - GRS"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "LRSStorageUsage",
+ "localizedValue": "Cloud - LRS"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 5,
+ "limit": -1,
+ "name": {
+ "value": "ManagedInstances",
+ "localizedValue": "Protected Instances"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "GRSDedupStorageUsage",
+ "localizedValue": "Dedup - GRS"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 0,
+ "limit": -1,
+ "name": {
+ "value": "LRSDedupStorageUsage",
+ "localizedValue": "Dedup - LRS"
+ }
+ },
+ {
+ "unit": "Bytes",
+ "currentValue": 117851553792,
+ "limit": -1,
+ "name": {
+ "value": "UsedDiskSize",
+ "localizedValue": "Backup Engines' Disk Used"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PATCHVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PATCHVault.json
new file mode 100644
index 000000000000..f1440dfe7d5f
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PATCHVault.json
@@ -0,0 +1,51 @@
+{
+ "parameters":{
+ "subscriptionId":"77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName":"HelloWorld",
+ "vaultName":"swaggerExample",
+ "api-version": "2016-06-01",
+ "vault":{
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "location": "westus",
+ "name": "swaggerExample",
+ "eTag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "201":{
+ "body":{
+ "location": "westus",
+ "name": "swaggerExample",
+ "eTag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "PatchKey": "PatchKeyUpdated"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PUTVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PUTVault.json
new file mode 100644
index 000000000000..a5cee42b0aff
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PUTVault.json
@@ -0,0 +1,53 @@
+{
+ "parameters":{
+ "subscriptionId":"77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName":"Default-RecoveryServices-ResourceGroup",
+ "vaultName":"swaggerExample",
+ "api-version": "2016-06-01",
+ "vault":{
+ "properties": {},
+ "sku": {
+ "name": "Standard"
+ },
+ "location": "West US"
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "location": "westus",
+ "name": "swaggerExample",
+ "eTag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "201":{
+ "body":{
+ "location": "westus",
+ "name": "swaggerExample",
+ "eTag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"",
+ "tags": {
+ "TestUpdatedKey": "TestUpdatedValue"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample",
+ "type": "Microsoft.RecoveryServices/vaults",
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PUTVaultCred.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PUTVaultCred.json
new file mode 100644
index 000000000000..2be2b8f86ce1
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/PUTVaultCred.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "BCDRIbzRG",
+ "vaultName": "BCDRIbzVault",
+ "certificateName": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials",
+ "api-version": "2016-06-01",
+ "certificateRequest": {
+ "properties": {
+ "authType": "AAD",
+ "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7MfJaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials",
+ "type": "Microsoft.RecoveryServices/vaults/certificates",
+ "id": "/Subscriptions/77777777-d41f-4550-9f70-7708a3a2283b/resourceGroups/BCDRIbzRG/providers/Microsoft.RecoveryServices/vaults/BCDRIbzVault/certificates/BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials",
+ "properties": {
+ "authType": "AzureActiveDirectory",
+ "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7Mf JaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs=",
+ "resourceId": 8726350008099341699,
+ "aadAuthority": "https://login.windows.net",
+ "aadTenantId": "9b0c2069-2eba-489f-95f4-eca15cb602ab",
+ "servicePrincipalClientId": "4932d0bd-b5f9-4659-94a0-7ab02d918933",
+ "servicePrincipalObjectId": "2d60221e-cef5-4e13-ba66-b33701a533bb",
+ "azureManagementEndpointAudience": "https://ppe1-id1.wus.wabppe.obs-test.com/restapi/",
+ "subject": "CN=Windows Azure Tools",
+ "validFrom": "2017-12-18T14:47:53+05:30",
+ "validTo": "2017-12-23T14:57:53+05:30",
+ "thumbprint": "019FE9BAD18A5A09A5CA53B593AF66331F3054AF",
+ "friendlyName": "",
+ "issuer": "CN=Windows Azure Tools"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/UpdateVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/UpdateVaultExtendedInfo.json
new file mode 100644
index 000000000000..b437bc34f233
--- /dev/null
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/examples/UpdateVaultExtendedInfo.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "subscriptionId":"77777777-b0c6-47a2-b37c-d8e65a629c18",
+ "resourceGroupName":"Default-RecoveryServices-ResourceGroup",
+ "vaultName":"swaggerExample",
+ "api-version": "2016-06-01",
+ "resourceResourceExtendedInfoDetails":{
+ "properties":{
+ "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==",
+ "algorithm": "None"
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name": "vaultExtendedInfo",
+ "eTag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7",
+ "properties": {
+ "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==",
+ "algorithm": "None"
+ },
+ "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo",
+ "type": "Microsoft.RecoveryServices/vaults/extendedInformation"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/registeredidentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/registeredidentities.json
index e40b122625f5..c255a2f2f8ac 100644
--- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/registeredidentities.json
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/registeredidentities.json
@@ -23,7 +23,7 @@
"tags": [
"VaultCertificates"
],
- "description": "Upload a certificate for a resource.",
+ "description": "Uploads a certificate for a resource.",
"operationId": "VaultCertificates_Create",
"consumes": [
"application/json"
@@ -69,7 +69,12 @@
}
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "Download vault credential file": {
+ "$ref": "./examples/PUTVaultCred.json"
+ }
+ }
}
},
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}": {
@@ -105,7 +110,12 @@
"description": "NoContent"
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "Delete registered Identity": {
+ "$ref": "./examples/DeleteRegisteredIdentities.json"
+ }
+ }
}
}
},
@@ -284,18 +294,25 @@
"type": "object",
"properties": {
"name": {
- "type": "string"
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
},
"type": {
- "type": "string"
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
},
"id": {
- "type": "string"
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
},
"properties": {
"$ref": "#/definitions/ResourceCertificateDetails"
}
- }
+ },
+ "x-ms-azure-resource": true
}
},
"parameters": {
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json
index 7703806668e2..28e080cb68c3 100644
--- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json
@@ -53,6 +53,11 @@
"deprecated": false,
"x-ms-pageable": {
"nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Gets Replication usages of vault": {
+ "$ref": "./examples/ListReplicationUsages.json"
+ }
}
}
}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaults.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaults.json
index 714b679b98df..6d377229587f 100644
--- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaults.json
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaults.json
@@ -46,7 +46,13 @@
},
"deprecated": false,
"x-ms-pageable": {
- "nextLinkName": null
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "List of Recovery Services Resources in SubscriptionId": {
+ "$ref": "./examples/ListBySubscriptionIds.json"
+ }
}
}
},
@@ -75,8 +81,8 @@
},
"deprecated": false,
"x-ms-pageable": {
- "nextLinkName": "NextLink",
- "itemName": "Value"
+ "nextLinkName": "nextLink",
+ "itemName": "value"
},
"x-ms-examples": {
"ListOperations": {
@@ -116,7 +122,13 @@
},
"deprecated": false,
"x-ms-pageable": {
- "nextLinkName": null
+ "nextLinkName": "nextLink",
+ "itemName":"value"
+ },
+ "x-ms-examples": {
+ "List of Recovery Services Resources in ResourceGroup": {
+ "$ref": "./examples/ListResources.json"
+ }
}
}
},
@@ -152,7 +164,12 @@
}
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Recovery Services Resource": {
+ "$ref": "./examples/GETVault.json"
+ }
+ }
},
"put": {
"tags": [
@@ -203,7 +220,12 @@
}
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "Create of Update Recovery Services vault": {
+ "$ref": "./examples/PUTVault.json"
+ }
+ }
},
"delete": {
"tags": [
@@ -233,7 +255,12 @@
"description": "OK"
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples":{
+ "Delete Recovery Services Vault": {
+ "$ref": "./examples/DeleteVault.json"
+ }
+ }
},
"patch": {
"tags": [
@@ -266,7 +293,7 @@
"description": "Recovery Services Vault to be created.",
"required": true,
"schema": {
- "$ref": "#/definitions/Vault"
+ "$ref": "#/definitions/PatchVault"
}
}
],
@@ -284,7 +311,12 @@
}
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "Update Resource": {
+ "$ref": "./examples/PATCHVault.json"
+ }
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo": {
@@ -319,7 +351,12 @@
}
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get ExtendedInfo of Resource": {
+ "$ref": "./examples/GETVaultExtendedInfo.json"
+ }
+ }
},
"put": {
"tags": [
@@ -349,7 +386,7 @@
{
"name": "resourceResourceExtendedInfoDetails",
"in": "body",
- "description": "resourceResourceExtendedInfoDetails",
+ "description": "Details of ResourceExtendedInfo",
"required": true,
"schema": {
"$ref": "#/definitions/VaultExtendedInfoResource"
@@ -364,7 +401,12 @@
}
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "Put ExtendedInfo of Resource": {
+ "$ref": "./examples/UpdateVaultExtendedInfo.json"
+ }
+ }
},
"patch": {
"tags": [
@@ -394,7 +436,7 @@
{
"name": "resourceResourceExtendedInfoDetails",
"in": "body",
- "description": "resourceResourceExtendedInfoDetails",
+ "description": "Details of ResourceExtendedInfo",
"required": true,
"schema": {
"$ref": "#/definitions/VaultExtendedInfoResource"
@@ -409,7 +451,12 @@
}
}
},
- "deprecated": false
+ "deprecated": false,
+ "x-ms-examples": {
+ "PATCH ExtendedInfo of Resource": {
+ "$ref": "./examples/UpdateVaultExtendedInfo.json"
+ }
+ }
}
}
},
@@ -418,20 +465,20 @@
"description": "Localized display information of an operation.",
"type": "object",
"properties": {
- "Provider": {
+ "provider": {
"description": "Name of the provider for display purposes",
"type": "string"
},
- "Resource": {
- "description": "Name of the resource type for display purposes",
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
"type": "string"
},
- "Operation": {
- "description": "Name of the operation for display purposes",
+ "operation": {
+ "description": "Operations Name itself.",
"type": "string"
},
- "Description": {
- "description": "Description of the operation for display purposes",
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
"type": "string"
}
}
@@ -481,15 +528,15 @@
"description": "Operations List response which contains list of available APIs.",
"type": "object",
"properties": {
- "Value": {
+ "value": {
"description": "List of available operationss.",
"type": "array",
"items": {
"$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
}
},
- "NextLink": {
- "description": "NextLink of the Response.",
+ "nextLink": {
+ "description": "Link to the next chunk of the response",
"type": "string"
}
}
@@ -498,21 +545,21 @@
"description": "Available operation details.",
"type": "object",
"properties": {
- "Name": {
- "description": "Name of the operation",
+ "name": {
+ "description": "Name of the Operation.",
"type": "string"
},
- "Display": {
+ "display": {
"$ref": "#/definitions/ClientDiscoveryDisplay",
"description": "Contains the localized display information for this particular operation"
},
- "Origin": {
+ "origin": {
"description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
"type": "string"
},
- "Properties": {
+ "properties": {
"$ref": "#/definitions/ClientDiscoveryForProperties",
- "description": "Properties"
+ "description": "ShoeBox properties for the given operation."
}
}
},
@@ -588,6 +635,28 @@
}
}
},
+ "PatchTrackedResource": {
+ "description": "Tracked resource with location.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties":{
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
"UpgradeDetails": {
"description": "Details for upgrading vault.",
"type": "object",
@@ -677,6 +746,23 @@
}
}
},
+ "PatchVault": {
+ "description": "Patch Resource information, as returned by the resource provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PatchTrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku"
+ }
+ }
+ },
"VaultExtendedInfo": {
"description": "Vault extended information.",
"type": "object",
@@ -694,7 +780,7 @@
"type": "string"
},
"algorithm": {
- "description": "Algorithm.",
+ "description": "Algorithm for Vault ExtendedInfo",
"type": "string"
}
}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json
index c5a1bc27b781..7c8ed6657cb6 100644
--- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json
+++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json
@@ -53,6 +53,11 @@
"deprecated": false,
"x-ms-pageable": {
"nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Gets vault usages": {
+ "$ref": "./examples/ListUsages.json"
+ }
}
}
}
diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backup.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backup.json
deleted file mode 100644
index 1d973c57ebc5..000000000000
--- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backup.json
+++ /dev/null
@@ -1,340 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2016-12-01",
- "title": "RecoveryServicesBackupClient",
- "x-ms-code-generation-settings": {
- "internalConstructors": false
- }
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": {
- "get": {
- "tags": [
- "BackupVaultConfigs"
- ],
- "description": "Fetches vault config.",
- "operationId": "BackupVaultConfigs_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/VaultName"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupVaultConfig"
- }
- }
- },
- "deprecated": false
- },
- "patch": {
- "tags": [
- "BackupVaultConfigs"
- ],
- "description": "Updates vault config model type.",
- "operationId": "BackupVaultConfigs_Update",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "name": "backupVaultConfig",
- "in": "body",
- "description": "Backup vault config.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackupVaultConfig"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupVaultConfig"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": {
- "get": {
- "tags": [
- "BackupStorageConfigs"
- ],
- "description": "Fetches resource storage config.",
- "operationId": "BackupStorageConfigs_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/VaultName"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupStorageConfig"
- }
- }
- },
- "deprecated": false
- },
- "patch": {
- "tags": [
- "BackupStorageConfigs"
- ],
- "description": "Updates vault storage model type.",
- "operationId": "BackupStorageConfigs_Update",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "name": "backupStorageConfig",
- "in": "body",
- "description": "Backup storage config.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackupStorageConfig"
- }
- }
- ],
- "responses": {
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- }
- },
- "definitions": {
- "BackupStorageConfigProperties": {
- "description": "The backup storage config.",
- "type": "object",
- "properties": {
- "storageModelType": {
- "description": "Storage model type.",
- "enum": [
- "Invalid",
- "GeoRedundant",
- "LocallyRedundant"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageModelType",
- "modelAsString": true
- }
- },
- "storageType": {
- "description": "Storage type.",
- "enum": [
- "Invalid",
- "GeoRedundant",
- "LocallyRedundant"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageType",
- "modelAsString": true
- }
- },
- "storageTypeState": {
- "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
- "enum": [
- "Invalid",
- "Locked",
- "Unlocked"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageTypeState",
- "modelAsString": true
- }
- }
- }
- },
- "BackupStorageConfig": {
- "description": "The backup storage config.",
- "allOf": [
- {
- "$ref": "../2016-06-01/vaults.json#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BackupStorageConfigProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "BackupVaultConfigProperties": {
- "description": "Backup vault config details.",
- "type": "object",
- "properties": {
- "storageType": {
- "description": "Storage type.",
- "enum": [
- "Invalid",
- "GeoRedundant",
- "LocallyRedundant"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageType",
- "modelAsString": true
- }
- },
- "storageTypeState": {
- "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
- "enum": [
- "Invalid",
- "Locked",
- "Unlocked"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageTypeState",
- "modelAsString": true
- }
- },
- "enhancedSecurityState": {
- "description": "Enabled or Disabled.",
- "enum": [
- "Invalid",
- "Enabled",
- "Disabled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "EnhancedSecurityState",
- "modelAsString": true
- }
- }
- }
- },
- "BackupVaultConfig": {
- "description": "Backup vault config details.",
- "allOf": [
- {
- "$ref": "../2016-06-01/vaults.json#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BackupVaultConfigProperties",
- "x-ms-client-flatten": true
- }
- }
- }
-},
- "parameters": {
- "SubscriptionId": {
- "name": "subscriptionId",
- "in": "path",
- "description": "The subscription Id.",
- "required": true,
- "type": "string"
- },
- "ResourceGroupName": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group where the recovery services vault is present.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
- },
- "VaultName": {
- "name": "vaultName",
- "in": "path",
- "description": "The name of the recovery services vault.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
- },
- "ApiVersion": {
- "name": "api-version",
- "in": "query",
- "description": "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/recoveryservices/resource-manager/readme.md b/specification/recoveryservices/resource-manager/readme.md
index ff79c0552291..18c19073ae8b 100644
--- a/specification/recoveryservices/resource-manager/readme.md
+++ b/specification/recoveryservices/resource-manager/readme.md
@@ -28,21 +28,7 @@ These are the global settings for the RecoveryServices API.
title: RecoveryServicesClient
description: Recovery Services Client
openapi-type: arm
-tag: package-2016-12
-```
-
-
-### Tag: package-2016-12
-
-These settings apply only when `--tag=package-2016-12` is specified on the command line.
-
-``` yaml $(tag) == 'package-2016-12'
-input-file:
-- Microsoft.RecoveryServices/stable/2016-12-01/backup.json
-- Microsoft.RecoveryServices/stable/2016-06-01/registeredidentities.json
-- Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json
-- Microsoft.RecoveryServices/stable/2016-06-01/vaults.json
-- Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json
+tag: package-2016-06
```
### Tag: package-2016-06
@@ -59,6 +45,22 @@ input-file:
---
+# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -100,3 +102,46 @@ python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/azure-mgmt-recoveryservices
```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: recoveryservices
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-06
+```
+
+### Tag: package-2016-06 and go
+
+These settings apply only when `--tag=package-2016-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-06' && $(go)
+output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2016-06-01/recoveryservices
+```
+
+
+## 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.recoveryservices
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-recoveryservices
+```
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/recoveryservicesbackup.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/recoveryservicesbackup.json
index 999c96bd97fa..3d5a0fd0b8c1 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/recoveryservicesbackup.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-06-01/recoveryservicesbackup.json
@@ -490,7 +490,7 @@
"deprecated": false,
"x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
"x-ms-pageable": {
- "nextLinkName": "null"
+ "nextLinkName": null
}
}
},
@@ -696,7 +696,7 @@
"deprecated": false,
"x-ms-odata": "#/definitions/BMSContainerQueryObject",
"x-ms-pageable": {
- "nextLinkName": "null"
+ "nextLinkName": null
}
}
},
@@ -865,7 +865,7 @@
"deprecated": false,
"x-ms-odata": "#/definitions/BMSRPQueryObject",
"x-ms-pageable": {
- "nextLinkName": "null"
+ "nextLinkName": null
}
}
},
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json
index e8d3927349b5..4d965a2cfaf9 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json
@@ -5,1332 +5,455 @@
"responses": {
"200": {
"body": {
- "Value": [
- {
- "Name": "Microsoft.RecoveryServices/Vaults/usages/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultUsage",
- "Operation": "Recovery Services Vault usage details.",
- "Description": "Returnsusage details for a Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupUsages Summaries",
- "Operation": "Recovery Services Protected Items and ProtectedServers usage summaries details.",
- "Description": "Returns summaries for ProtectedItems and Protected Servers for a Recovery Services ."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/storageConfig/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultStorage Config",
- "Operation": "Get Resource Storage Config",
- "Description": "ReturnsStorage Configuration for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/storageConfig/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultStorage Config",
- "Operation": "Write Resource Storage Config",
- "Description": "UpdatesStorage Configuration for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultConfig",
- "Operation": "Get Resource Config",
- "Description": "Returns Configurationfor Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "VaultConfig",
- "Operation": "Update Resource Config",
- "Description": "Updates Configurationfor Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "TokenInfo",
- "Operation": "Get Vault Token Info",
- "Description": "Returns token informationfor Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "SecurityPINInfo",
- "Operation": "GetSecurity PIN Info",
- "Description": "Returns Security PIN Information for RecoveryServices Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupManagement Metadata",
- "Operation": "Get Backup Management Metadata",
- "Description": "ReturnsBackup Management Metadata for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupOperation Results",
- "Operation": "Get Backup Operation Result",
- "Description": "ReturnsBackup Operation Result for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupOperations/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupOperation Status",
- "Operation": "Get Backup Operation Status",
- "Description": "ReturnsBackup Operation Status for Recovery Services Vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupJobs",
- "Operation": "Get Jobs",
- "Description": "Returns all Job Objects"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupJobs",
- "Operation": "Cancel Jobs",
- "Description": "Cancel the Job"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ExportBackup Jobs",
- "Operation": "Export Jobs",
- "Description": "Export Jobs"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupJobs Operation Results",
- "Operation": "Get Job Operation Result",
- "Description": "Returnsthe Result of Job Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ExportBackup Jobs Operation Results",
- "Operation": "Get Export Job Operation Result",
- "Description": "Returnsthe Result of Export Job Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Get Recovery Points",
- "Description": "Get Recovery Pointsfor Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Restore Recovery Points",
- "Description": "Restore RecoveryPoints for Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Provision Instant Item Recovery for Protected Item",
- "Description": "ProvisionInstant Item Recovery for Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RecoveryPoints",
- "Operation": "Revoke Instant Item Recovery for Protected Item",
- "Description": "RevokeInstant Item Recovery for Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicies",
- "Operation": "Get Protection Policy",
- "Description": "Returns all ProtectionPolicies"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicies",
- "Operation": "Create Protection Policy",
- "Description": "Creates ProtectionPolicy"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicies",
- "Operation": "Delete Protection Policy",
- "Description": "Delete a ProtectionPolicy"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicy Operation Results",
- "Operation": "Get Policy Operation Results",
- "Description": "GetResults of Policy Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupPolicy Operation Status",
- "Operation": "Get Policy Operation Status",
- "Description": "GetStatus of Policy Operation."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Get Protected Item Details",
- "Description": "Returns objectdetails of the Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Get All Protected Items",
- "Description": "Returns the listof all Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Create Backup Protected Item",
- "Description": "Create abackup Protected Item"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Delete Protected Items",
- "Description": "Deletes ProtectedItem"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItem Operation Results",
- "Operation": "Get Protected Items Operation Results",
- "Description": "GetsResult of Operation Performed on Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItem Operation Status",
- "Operation": "Get Protected Items operation status",
- "Description": "Returnsthe status of Operation performed on Protected Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectedItems",
- "Operation": "Backup Protected Item",
- "Description": "Performs Backupfor Protected Item."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupProtectable Items",
- "Operation": "Get Protectable Items",
- "Description": "Returnslist of all Protectable Items."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RefreshContainers",
- "Operation": "Refresh container",
- "Description": "Refreshes the containerlist"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "RefreshContainers Operation Results",
- "Operation": "Get Operation Results",
- "Description": "Returnsstatus of the operation"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupProtection Containers",
- "Operation": "Get Containers In Subscription",
- "Description": "Returnsall containers belonging to the subscription"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectionContainers",
- "Operation": "Get Registered Container",
- "Description": "Returnsall registered containers"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "ProtectionContainers Operation Results",
- "Operation": "Get Container Operation Results",
- "Description": "Getsresult of Operation performed on Protection Container."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupEngines",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupEngines",
- "Operation": "List of backup management servers.",
- "Description": "Returnsall the backup management servers registered with vault."
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/Vaults/backupStatus",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "BackupStatus",
- "Operation": "Check Backup Status for Vault",
- "Description": "Check BackupStatus for Recovery Services Vaults"
- },
- "Origin": "user"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Alerts Settings",
- "Operation": "Read Alerts Settings",
- "Description": "ReadAny Alerts Settings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Alerts Settings",
- "Operation": "Create or UpdateAlerts Settings",
- "Description": "Create or Update Any Alerts Settings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationEvents/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Events",
- "Operation": "Read Events",
- "Description": "ReadAny Events"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Networks",
- "Operation": "Read Networks",
- "Description": "ReadAny Networks"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Network Mappings",
- "Operation": "Read NetworkMappings",
- "Description": "Read Any Network Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Network Mappings",
- "Operation": "Create or UpdateNetwork Mappings",
- "Description": "Create or Update Any Network Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Network Mappings",
- "Operation": "Delete NetworkMappings",
- "Description": "Delete Any Network Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protectable Items",
- "Operation": "Read ProtectableItems",
- "Description": "Read Any Protectable Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "ReadProtection Container Mappings",
- "Description": "Read Any Protection ContainerMappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "Createor Update Protection Container Mappings",
- "Description": "Create or Update AnyProtection Container Mappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "RemoveProtection Container Mapping",
- "Description": "Remove Protection Container Mapping"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Container Mappings",
- "Operation": "DeleteProtection Container Mappings",
- "Description": "Delete Any Protection ContainerMappings"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Replication Recovery Points",
- "Operation": "ReadReplication Recovery Points",
- "Description": "Read Any Replication RecoveryPoints"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Read ProtectedItems",
- "Description": "Read Any Protected Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Create or UpdateProtected Items",
- "Description": "Create or Update Any Protected Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Delete ProtectedItems",
- "Description": "Delete Any Protected Items"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Remove ProtectedItem",
- "Description": "Remove Protected Item"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Planned Failover",
- "Description": "PlannedFailover"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Failover",
- "Description": "Failover"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Test Failover",
- "Description": "TestFailover"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Test FailoverCleanup",
- "Description": "Test Failover Cleanup"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Failover Commit",
- "Description": "FailoverCommit"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "ReProtect ProtectedItem",
- "Description": "ReProtect Protected Item"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Update MobilityService",
- "Description": "Update Mobility Service"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Repair replication",
- "Description": "Repairreplication"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protected Items",
- "Operation": "Apply RecoveryPoint",
- "Description": "Apply Recovery Point"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Read Jobs",
- "Description": "ReadAny Jobs"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Cancel Job",
- "Description": "CancelJob"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Restart job",
- "Description": "Restartjob"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Resume Job",
- "Description": "ResumeJob"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "Read ProtectionContainers",
- "Description": "Read Any Protection Containers"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "DiscoverProtectable Item",
- "Description": "Discover Protectable Item"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "Createor Update Protection Containers",
- "Description": "Create or Update Any ProtectionContainers"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "RemoveProtection Container",
- "Description": "Remove Protection Container"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Protection Containers",
- "Operation": "SwitchProtection Container",
- "Description": "Switch Protection Container"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Policies",
- "Operation": "Read Policies",
- "Description": "ReadAny Policies"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Policies",
- "Operation": "Create or Update Policies",
- "Description": "Createor Update Any Policies"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Policies",
- "Operation": "Delete Policies",
- "Description": "DeleteAny Policies"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Read RecoveryPlans",
- "Description": "Read Any Recovery Plans"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Create or UpdateRecovery Plans",
- "Description": "Create or Update Any Recovery Plans"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Delete RecoveryPlans",
- "Description": "Delete Any Recovery Plans"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Planned FailoverRecovery Plan",
- "Description": "Planned Failover Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Failover RecoveryPlan",
- "Description": "Failover Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Test FailoverRecovery Plan",
- "Description": "Test Failover Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Test FailoverCleanup Recovery Plan",
- "Description": "Test Failover Cleanup Recovery Plan"
- },
- "Origin": "user,system"
- },
- {
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "Failover CommitRecovery Plan",
- "Description": "Failover Commit Recovery Plan"
+ "value": [{
+ "name": "microsoft.recoveryservices/vaults/usages/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Plans",
- "Operation": "ReProtect RecoveryPlan",
- "Description": "ReProtect Recovery Plan"
+ "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "ReadRecovery Services Providers",
- "Description": "Read Any Recovery Services Providers"
+ "name": "microsoft.recoveryservices/vaults/storageConfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "RemoveRecovery Services Provider",
- "Description": "Remove Recovery Services Provider"
+ "name": "microsoft.recoveryservices/vaults/storageConfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "DeleteRecovery Services Providers",
- "Description": "Delete Any Recovery Services Providers"
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Recovery Services Providers",
- "Operation": "RefreshProvider",
- "Description": "Refresh Provider"
+ "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Read Fabrics",
- "Description": "ReadAny Fabrics"
+ "name": "microsoft.recoveryservices/vaults/tokenInfo/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Create or Update Fabrics",
- "Description": "Createor Update Any Fabrics"
+ "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Remove Fabric",
- "Description": "RemoveFabric"
+ "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Checks Consistency ofthe Fabric",
- "Description": "Checks Consistency of the Fabric"
+ "name": "microsoft.recoveryservices/vaults/backupOperationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Delete Fabrics",
- "Description": "DeleteAny Fabrics"
+ "name": "microsoft.recoveryservices/vaults/backupOperations/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Renew Certificate forFabric",
- "Description": "Renew Certificate for Fabric"
+ "name": "microsoft.recoveryservices/vaults/backupJobs/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Deploy Process ServerImage",
- "Description": "Deploy Process Server Image"
+ "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Fabrics",
- "Operation": "Reassociate Gateway",
- "Description": "ReassociateGateway"
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classifications",
- "Operation": "ReadStorage Classifications",
- "Description": "Read Any Storage Classifications"
+ "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classification Mappings",
- "Operation": "ReadStorage Classification Mappings",
- "Description": "Read Any Storage ClassificationMappings"
+ "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classification Mappings",
- "Operation": "Createor Update Storage Classification Mappings",
- "Description": "Create or UpdateAny Storage Classification Mappings"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Storage Classification Mappings",
- "Operation": "DeleteStorage Classification Mappings",
- "Description": "Delete Any Storage ClassificationMappings"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/usages/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Vault Usages",
- "Operation": "Read Vault Usages",
- "Description": "ReadAny Vault Usages"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Read Jobs",
- "Description": "ReadAny Jobs"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Create or Update Jobs",
- "Description": "Createor Update Any Jobs"
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete",
- "Display": {
- "Provider": "MicrosoftRecovery Services",
- "Resource": "Jobs",
- "Operation": "Delete Jobs",
- "Description": "DeleteAny Jobs"
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "VaultToken",
- "Description": "The Vault Token operation can be used to get Vault Tokenfor vault level backend operations."
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "RegisterService Container",
- "Description": "The Register Service Container operationcan be used to register a container with Recovery Service."
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetOperation Results",
- "Description": "The Get Operation Results operation canbe used get the operation status and result for the asynchronously submittedoperation"
+ "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetContainers",
- "Description": "The Get Containers operation can be used get thecontainers registered for a resource."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "UnregisterService Container",
- "Description": "The UnRegister Container operation can beused to unregister a container."
+ "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
},
- "Origin": "user,system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/certificates/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "UpdateResource Certificate",
- "Description": "The Update Resource Certificate operationupdates the resource/vault credential certificate."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Getalerts",
- "Description": "Gets the alerts for the Recovery services vault."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/{uniqueAlertId}/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Getalert details",
- "Description": "Gets the details of the alert."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/{uniqueAlertId}/patch",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Resolvealert",
- "Description": "Resolves the alert."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Getconfiguration",
- "Description": "Gets the Recovery services vault notificationconfiguration."
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/patch",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "Configuree-mail notification",
- "Description": "Configures e-mail notifications to Recoveryservices vault."
+ "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/logDefinitions/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Logs",
- "Description": "Azure Backup Logs"
+ "name": "microsoft.recoveryservices/vaults/refreshContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
},
- "Origin": "system",
- "Properties": {
- "serviceSpecification": {
- "logSpecifications": [
- {
- "name": "AzureBackupReport",
- "displayName": "AzureBackup Reporting Data",
- "blobDuration": "PT1H"
- },
- {
- "name": "AzureSiteRecoveryJobs",
- "displayName": "AzureSite Recovery Jobs",
- "blobDuration": "PT1H"
- },
- {
- "name": "AzureSiteRecoveryEvents",
- "displayName": "AzureSite Recovery Events",
- "blobDuration": "PT1H"
- },
- {
- "name": "AzureSiteRecoveryReplicatedItems",
- "displayName": "AzureSite Recovery Replicated Items",
- "blobDuration": "PT1H"
- }
- ]
- }
- }
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/metricDefinitions/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Metrics",
- "Description": "Azure Backup Metrics"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
},
- "Origin": "system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/diagnosticSettings/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Diagnostics",
- "Description": "Azure Backup Diagnostics"
+ "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
},
- "Origin": "system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/diagnosticSettings/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "AzureBackup Diagnostics",
- "Description": "Azure Backup Diagnostics"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
},
- "Origin": "system"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "CreateVault",
- "Description": "Create Vault operation creates an Azure resource oftype ''vault''"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetVault",
- "Description": "The Get Vault operation gets an object representingthe Azure resource of type ''vault''"
+ "name": "microsoft.recoveryservices/vaults/backupEngines",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "DeleteVault",
- "Description": "The Delete Vault operation deletes the specified Azureresource of type ''vault''"
+ "name": "microsoft.recoveryservices/vaults/backupStatus",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetExtended Info",
- "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?"
+ "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "PreValidate Protection",
+ "operation": "Pre Validate Enable Protection",
+ "description": ""
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetExtended Info",
- "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?"
+ "name": "microsoft.recoveryservices/vaults/backupValidateFeatures",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Validate Features",
+ "operation": "Validate Features",
+ "description": "Validate Features"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "Vaults",
- "Operation": "GetExtended Info",
- "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Intent",
+ "operation": "Create backup Protection Intent",
+ "description": "Create a backup Protection Intent"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/locations/allocatedStamp/read",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "locations/allocatedStamp",
- "Operation": "GetAllocated Stamp",
- "Description": "GetAllocatedStamp is internal operation usedby service"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Workload Items",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
},
- "Origin": "user"
+ "origin": "user"
},
{
- "Name": "Microsoft.RecoveryServices/locations/allocateStamp/action",
- "Display": {
- "Provider": "Microsoft.RecoveryServices",
- "Resource": "locations/allocateStamp",
- "Operation": "AllocatedStamp Action",
- "Description": "AllocateStamp is internal operation used by service"
+ "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action",
+ "display": {
+ "provider": "microsoft.recoveryservices",
+ "resource": "Protection Containers Inquire",
+ "operation": "Get all items in a container",
+ "description": "Get all items in a container"
},
- "Origin": "user"
+ "origin": "user"
}
]
}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json
index ba8e180ae7b1..c5a189dc033a 100644
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json
@@ -40,8 +40,8 @@
},
"deprecated": false,
"x-ms-pageable": {
- "nextLinkName": "NextLink",
- "itemName": "Value"
+ "nextLinkName": "nextLink",
+ "itemName": "value"
},
"x-ms-examples": {
"ListOperations": {
@@ -56,20 +56,20 @@
"description": "Localized display information of an operation.",
"type": "object",
"properties": {
- "Provider": {
+ "provider": {
"description": "Name of the provider for display purposes",
"type": "string"
},
- "Resource": {
- "description": "Name of the resource type for display purposes",
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
"type": "string"
},
- "Operation": {
- "description": "Name of the operation for display purposes",
+ "operation": {
+ "description": "Operations Name itself.",
"type": "string"
},
- "Description": {
- "description": "Description of the operation for display purposes",
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
"type": "string"
}
}
@@ -79,7 +79,7 @@
"type": "object",
"properties": {
"name": {
- "description": "Name",
+ "description": "Name for shoebox log specification.",
"type": "string"
},
"displayName": {
@@ -87,7 +87,7 @@
"type": "string"
},
"blobDuration": {
- "description": "blob duration",
+ "description": "blob duration of shoebox log specification",
"type": "string"
}
}
@@ -119,15 +119,15 @@
"description": "Operations List response which contains list of available APIs.",
"type": "object",
"properties": {
- "Value": {
+ "value": {
"description": "List of available operationss.",
"type": "array",
"items": {
"$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
}
},
- "NextLink": {
- "description": "NextLink",
+ "nextLink": {
+ "description": "Link to the next chunk of Response.",
"type": "string"
}
}
@@ -136,21 +136,21 @@
"description": "Available operation details.",
"type": "object",
"properties": {
- "Name": {
- "description": "Name",
+ "name": {
+ "description": "Name of the Operation.",
"type": "string"
},
- "Display": {
+ "display": {
"$ref": "#/definitions/ClientDiscoveryDisplay",
"description": "Contains the localized display information for this particular operation"
},
- "Origin": {
+ "origin": {
"description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
"type": "string"
},
- "Properties": {
+ "properties": {
"$ref": "#/definitions/ClientDiscoveryForProperties",
- "description": "Properties"
+ "description": "ShoeBox properties for the given operation."
}
}
}
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json
deleted file mode 100644
index d822c7cf2c4f..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json
+++ /dev/null
@@ -1,4962 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2016-12-01",
- "title": "RecoveryServicesBackupClient",
- "x-ms-code-generation-settings": {
- "internalConstructors": false
- }
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": {
- "get": {
- "tags": [
- "BackupResourceVaultConfigs"
- ],
- "description": "Fetches resource vault config.",
- "operationId": "BackupResourceVaultConfigs_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupResourceVaultConfigResource"
- }
- }
- },
- "deprecated": false
- },
- "patch": {
- "tags": [
- "BackupResourceVaultConfigs"
- ],
- "description": "Updates vault security config.",
- "operationId": "BackupResourceVaultConfigs_Update",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource config request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackupResourceVaultConfigResource"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupResourceVaultConfigResource"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": {
- "get": {
- "tags": [
- "BackupEngines"
- ],
- "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.",
- "operationId": "BackupEngines_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupEngineBaseResourceList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": {
- "get": {
- "tags": [
- "BackupEngines"
- ],
- "description": "Returns backup management server registered to Recovery Services Vault.",
- "operationId": "BackupEngines_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "backupEngineName",
- "in": "path",
- "description": "Name of the backup management server.",
- "required": true,
- "type": "string"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupEngineBaseResource"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject"
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": {
- "get": {
- "tags": [
- "ProtectionContainerRefreshOperationResults"
- ],
- "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.",
- "operationId": "ProtectionContainerRefreshOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the container.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "Operation ID associated with the operation whose result needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": {
- "get": {
- "tags": [
- "ProtectionContainers"
- ],
- "description": "Gets details of the specific container registered to your Recovery Services Vault.",
- "operationId": "ProtectionContainers_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Name of the fabric where the container belongs.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Name of the container whose details need to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionContainerResource"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": {
- "get": {
- "tags": [
- "ProtectionContainerOperationResults"
- ],
- "description": "Fetches the result of any operation on the container.",
- "operationId": "ProtectionContainerOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the container.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name whose information should be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "Operation ID which represents the operation whose result needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionContainerResource"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": {
- "get": {
- "tags": [
- "ProtectedItems"
- ],
- "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
- "operationId": "ProtectedItems_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item name whose details are to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/GetProtectedItemQueryObject"
- },
- "put": {
- "tags": [
- "ProtectedItems"
- ],
- "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
- "operationId": "ProtectedItems_CreateOrUpdate",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Item name to be backed up.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource backed up item",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- },
- "delete": {
- "tags": [
- "ProtectedItems"
- ],
- "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the request, call the GetItemOperationResult API.",
- "operationId": "ProtectedItems_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item to be deleted.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": {
- "post": {
- "tags": [
- "Backups"
- ],
- "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the operation, call GetProtectedItemOperationResult API.",
- "operationId": "Backups_Trigger",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backup item for which backup needs to be triggered.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource backup request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BackupRequestResource"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": {
- "get": {
- "tags": [
- "ProtectedItemOperationResults"
- ],
- "description": "Fetches the result of any operation on the backup item.",
- "operationId": "ProtectedItemOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backup item name whose details are to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the operation whose result needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": {
- "get": {
- "tags": [
- "ProtectedItemOperationStatuses"
- ],
- "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations create jobs. This method returns the list of jobs associated with the operation.",
- "operationId": "ProtectedItemOperationStatuses_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backup item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backup item name whose details are to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID represents the operation whose status needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationStatus"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": {
- "get": {
- "tags": [
- "RecoveryPoints"
- ],
- "description": "Lists the backup copies for the backed up item.",
- "operationId": "RecoveryPoints_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item whose backup copies are to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/RecoveryPointResourceList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/BMSRPQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": {
- "get": {
- "tags": [
- "RecoveryPoints"
- ],
- "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. To know the status of the operation, call the GetProtectedItemOperationResult API.",
- "operationId": "RecoveryPoints_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with backed up item.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item name whose backup data needs to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "RecoveryPointID represents the backed up data to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/RecoveryPointResource"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": {
- "post": {
- "tags": [
- "ItemLevelRecoveryConnections"
- ],
- "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of provisioning, call GetProtectedItemOperationResult API.",
- "operationId": "ItemLevelRecoveryConnections_Provision",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item name whose files/folders are to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned for this backed up data.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource ILR request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ILRRequestResource"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": {
- "post": {
- "tags": [
- "Restores"
- ],
- "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use GetProtectedItemOperationResult API.",
- "operationId": "Restores_Trigger",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "Recovery point ID which represents the backed up data to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource restore request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RestoreRequestResource"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": {
- "post": {
- "tags": [
- "ItemLevelRecoveryConnections"
- ],
- "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer displaying all recoverable files and folders. This is an asynchronous operation.",
- "operationId": "ItemLevelRecoveryConnections_Revoke",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "containerName",
- "in": "path",
- "description": "Container name associated with the backed up items.",
- "required": true,
- "type": "string"
- },
- {
- "name": "protectedItemName",
- "in": "path",
- "description": "Backed up item name whose files/folders are to be restored.",
- "required": true,
- "type": "string"
- },
- {
- "name": "recoveryPointId",
- "in": "path",
- "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for this backed up data.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": {
- "post": {
- "tags": [
- "ProtectionContainers"
- ],
- "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.",
- "operationId": "ProtectionContainers_Refresh",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "Fabric name associated the container.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": {
- "post": {
- "tags": [
- "JobCancellations"
- ],
- "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call GetCancelOperationResult API.",
- "operationId": "JobCancellations_Trigger",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "jobName",
- "in": "path",
- "description": "Name of the job to cancel.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": {
- "get": {
- "tags": [
- "JobOperationResults"
- ],
- "description": "Fetches the result of any operation.\r\n the operation.",
- "operationId": "JobOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "jobName",
- "in": "path",
- "description": "Job name whose operation result has to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the operation whose result has to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": {
- "get": {
- "tags": [
- "ExportJobsOperationResults"
- ],
- "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
- "operationId": "ExportJobsOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the export job.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationResultInfoBaseResource"
- }
- },
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": {
- "post": {
- "tags": [
- "Jobs"
- ],
- "description": "Triggers export of jobs specified by filters and returns an OperationID to track.",
- "operationId": "Jobs_Export",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/JobQueryObject"
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": {
- "get": {
- "tags": [
- "BackupOperationResults"
- ],
- "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is part of the Location header of the operation response.",
- "operationId": "BackupOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the operation.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": {
- "get": {
- "tags": [
- "BackupOperationStatuses"
- ],
- "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs when the operation is complete.",
- "operationId": "BackupOperationStatuses_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "OperationID which represents the operation.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationStatus"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": {
- "get": {
- "tags": [
- "BackupPolicies"
- ],
- "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch scoped results.",
- "operationId": "BackupPolicies_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResourceList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": {
- "get": {
- "tags": [
- "ProtectionPolicies"
- ],
- "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.",
- "operationId": "ProtectionPolicies_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy information to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- },
- "deprecated": false
- },
- "put": {
- "tags": [
- "ProtectionPolicies"
- ],
- "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.",
- "operationId": "ProtectionPolicies_CreateOrUpdate",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy to be created.",
- "required": true,
- "type": "string"
- },
- {
- "name": "parameters",
- "in": "body",
- "description": "resource backup policy",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- },
- "202": {
- "description": "Accepted"
- }
- },
- "deprecated": false
- },
- "delete": {
- "tags": [
- "ProtectionPolicies"
- ],
- "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.",
- "operationId": "ProtectionPolicies_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy to be deleted.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": {
- "get": {
- "tags": [
- "ProtectionPolicyOperationResults"
- ],
- "description": "Provides the result of an operation.",
- "operationId": "ProtectionPolicyOperationResults_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy name whose operation's result needs to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "Operation ID which represents the operation whose result needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": {
- "get": {
- "tags": [
- "ProtectionPolicyOperationStatuses"
- ],
- "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs associated with operation.",
- "operationId": "ProtectionPolicyOperationStatuses_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "policyName",
- "in": "path",
- "description": "Backup policy name whose operation's status needs to be fetched.",
- "required": true,
- "type": "string"
- },
- {
- "name": "operationId",
- "in": "path",
- "description": "Operation ID which represents an operation whose status needs to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OperationStatus"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": {
- "get": {
- "tags": [
- "BackupProtectableItems"
- ],
- "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the pagination parameters.",
- "operationId": "BackupProtectableItems_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/WorkloadProtectableItemResourceList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/BMSPOQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": {
- "get": {
- "tags": [
- "BackupProtectedItems"
- ],
- "description": "Provides a pageable list of all items that are backed up within a vault.",
- "operationId": "BackupProtectedItems_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectedItemResourceList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/ProtectedItemQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": {
- "get": {
- "tags": [
- "BackupProtectionContainers"
- ],
- "description": "Lists the containers registered to Recovery Services Vault.",
- "operationId": "BackupProtectionContainers_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ProtectionContainerResourceList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/BMSContainerQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": {
- "post": {
- "tags": [
- "SecurityPINs"
- ],
- "description": "Get the security PIN.",
- "operationId": "SecurityPINs_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/TokenInformation"
- }
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": {
- "get": {
- "tags": [
- "BackupResourceStorageConfigs"
- ],
- "description": "Fetches resource storage config.",
- "operationId": "BackupResourceStorageConfigs_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupResourceConfigResource"
- }
- }
- },
- "deprecated": false
- },
- "patch": {
- "tags": [
- "BackupResourceStorageConfigs"
- ],
- "description": "Updates vault storage model type.",
- "operationId": "BackupResourceStorageConfigs_Update",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- }
- ],
- "responses": {
- "204": {
- "description": "NoContent"
- }
- },
- "deprecated": false
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": {
- "get": {
- "tags": [
- "BackupUsageSummaries"
- ],
- "description": "Fetches the backup management usage summaries of the vault.",
- "operationId": "BackupUsageSummaries_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/BackupManagementUsageList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject",
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- }
- },
- "definitions": {
- "AzureBackupServerContainer": {
- "description": "AzureBackupServer (DPMVenus) workload-specific protection container.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionContainer"
- }
- ],
- "properties": {
- "canReRegister": {
- "description": "Specifies whether the container is re-registrable.",
- "type": "boolean"
- },
- "containerId": {
- "description": "ID of container.",
- "type": "string"
- },
- "protectedItemCount": {
- "format": "int64",
- "description": "Number of protected items in the BackupEngine",
- "type": "integer"
- },
- "dpmAgentVersion": {
- "description": "Backup engine Agent version",
- "type": "string"
- },
- "DPMServers": {
- "description": "List of BackupEngines protecting the container",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "UpgradeAvailable": {
- "description": "To check if upgrade available",
- "type": "boolean"
- },
- "protectionStatus": {
- "description": "Protection status of the container.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/DPMContainerExtendedInfo",
- "description": "Extended Info of the container."
- }
- },
- "x-ms-discriminator-value": "AzureBackupServerContainer"
- },
- "AzureBackupServerEngine": {
- "description": "Backup engine type when Azure Backup Server is used to manage the backups.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/BackupEngineBase"
- }
- ],
- "x-ms-discriminator-value": "AzureBackupServerEngine"
- },
- "AzureIaaSClassicComputeVMContainer": {
- "description": "IaaS VM workload-specific backup item representing a classic virtual machine.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMContainer"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
- },
- "AzureIaaSClassicComputeVMProtectableItem": {
- "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMProtectableItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
- },
- "AzureIaaSClassicComputeVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureIaaSVMProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
- },
- "AzureIaaSComputeVMContainer": {
- "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMContainer"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
- },
- "AzureIaaSComputeVMProtectableItem": {
- "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/IaaSVMProtectableItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
- },
- "AzureIaaSComputeVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/AzureIaaSVMProtectedItem"
- }
- ],
- "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
- },
- "AzureIaaSVMHealthDetails": {
- "description": "Azure IaaS VM workload-specific Health Details.",
- "type": "object",
- "properties": {
- "code": {
- "format": "int32",
- "description": "Health Code",
- "type": "integer"
- },
- "title": {
- "description": "Health Title",
- "type": "string"
- },
- "message": {
- "description": "Health Message",
- "type": "string"
- },
- "recommendations": {
- "description": "Health Recommended Actions",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "AzureIaaSVMProtectedItem": {
- "description": "IaaS VM workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the VM represented by this backup item.",
- "type": "string"
- },
- "virtualMachineId": {
- "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
- "type": "string"
- },
- "protectionStatus": {
- "description": "Backup status of this backup item.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of this backup item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionState",
- "modelAsString": true
- }
- },
- "healthStatus": {
- "description": "Health status of protected item",
- "enum": [
- "Passed",
- "ActionRequired",
- "ActionSuggested",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HealthStatus",
- "modelAsString": true
- }
- },
- "healthDetails": {
- "description": "Health details on this backup item.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureIaaSVMHealthDetails"
- }
- },
- "lastBackupStatus": {
- "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
- "type": "string"
- },
- "lastBackupTime": {
- "format": "date-time",
- "description": "Timestamp of the last backup operation on this backup item.",
- "type": "string"
- },
- "protectedItemDataId": {
- "description": "Data ID of the protected item.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
- "description": "Additional information for this backup item."
- }
- },
- "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
- },
- "AzureIaaSVMProtectedItemExtendedInfo": {
- "description": "Additional information on Azure IaaS VM specific backup item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this backup item.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies available for this backup item.",
- "type": "integer"
- },
- "policyInconsistent": {
- "description": "Specifies if backup policy associated with the backup item is inconsistent.",
- "type": "boolean"
- }
- }
- },
- "AzureIaaSVMProtectionPolicy": {
- "description": "IaaS VM workload-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule specified as part of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy with the details on backup copy retention ranges."
- },
- "timeZone": {
- "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "AzureIaasVM"
- },
- "AzureSqlContainer": {
- "description": "Azure Sql workload-specific container.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionContainer"
- }
- ],
- "x-ms-discriminator-value": "AzureSqlContainer"
- },
- "AzureSqlProtectedItem": {
- "description": "Azure SQL workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "protectedItemDataId": {
- "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
- "type": "string"
- },
- "protectionState": {
- "description": "Backup state of the backed up item.",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectedItemState",
- "modelAsString": true
- }
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
- "description": "Additional information for this backup item."
- }
- },
- "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
- },
- "AzureSqlProtectedItemExtendedInfo": {
- "description": "Additional information on Azure Sql specific protected item.",
- "type": "object",
- "properties": {
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available for this item in the service.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of available backup copies associated with this backup item.",
- "type": "integer"
- },
- "policyState": {
- "description": "State of the backup policy associated with this backup item.",
- "type": "string"
- }
- }
- },
- "AzureSqlProtectionPolicy": {
- "description": "Azure SQL workload-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy details."
- }
- },
- "x-ms-discriminator-value": "AzureSql"
- },
- "BackupEngineBase": {
- "description": "The base backup engine class. All workload specific backup engines derive from this class.",
- "type": "object",
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the backup engine.",
- "type": "string"
- },
- "backupManagementType": {
- "description": "Type of backup management for the backup engine.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "registrationStatus": {
- "description": "Registration status of the backup engine with the Recovery Services Vault.",
- "type": "string"
- },
- "backupEngineState": {
- "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}",
- "type": "string"
- },
- "healthStatus": {
- "description": "Backup status of the backup engine.",
- "type": "string"
- },
- "backupEngineType": {
- "description": "Type of the backup engine.",
- "enum": [
- "Invalid",
- "DpmBackupEngine",
- "AzureBackupServerEngine"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupEngineType",
- "modelAsString": true
- }
- },
- "canReRegister": {
- "description": "Flag indicating if the backup engine be registered, once already registered.",
- "type": "boolean"
- },
- "backupEngineId": {
- "description": "ID of the backup engine.",
- "type": "string"
- },
- "dpmVersion": {
- "description": "Backup engine version",
- "type": "string"
- },
- "azureBackupAgentVersion": {
- "description": "Backup agent version",
- "type": "string"
- },
- "isAzureBackupAgentUpgradeAvailable": {
- "description": "To check if backup agent upgrade available",
- "type": "boolean"
- },
- "isDPMUpgradeAvailable": {
- "description": "To check if backup engine upgrade available",
- "type": "boolean"
- },
- "extendedInfo": {
- "$ref": "#/definitions/BackupEngineExtendedInfo",
- "description": "Extended info of the backupengine"
- }
- },
- "discriminator": "backupEngineType"
- },
- "BackupEngineBaseResource": {
- "description": "The base backup engine class. All workload specific backup engines derive from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BackupEngineBase",
- "description": "BackupEngineBaseResource properties"
- }
- }
- },
- "BackupEngineBaseResourceList": {
- "description": "List of BackupEngineBase resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BackupEngineBaseResource"
- }
- }
- }
- },
- "BackupEngineExtendedInfo": {
- "description": "Additional information on backup engine.",
- "type": "object",
- "properties": {
- "databaseName": {
- "description": "Database name of backup engine.",
- "type": "string"
- },
- "protectedItemsCount": {
- "format": "int32",
- "description": "Number of protected items in the backup engine.",
- "type": "integer"
- },
- "protectedServersCount": {
- "format": "int32",
- "description": "Number of protected servers in the backup engine.",
- "type": "integer"
- },
- "diskCount": {
- "format": "int32",
- "description": "Number of disks in the backup engine.",
- "type": "integer"
- },
- "usedDiskSpace": {
- "format": "double",
- "description": "Diskspace used in the backup engine.",
- "type": "number"
- },
- "availableDiskSpace": {
- "format": "double",
- "description": "Diskspace currently available in the backup engine.",
- "type": "number"
- },
- "refreshedAt": {
- "format": "date-time",
- "description": "Last refresh time in the backup engine.",
- "type": "string"
- },
- "azureProtectedInstances": {
- "format": "int32",
- "description": "Protected instances in the backup engine.",
- "type": "integer"
- }
- }
- },
- "BackupManagementUsage": {
- "description": "Backup management usages of a vault.",
- "type": "object",
- "properties": {
- "unit": {
- "description": "Unit of the usage.",
- "enum": [
- "Count",
- "Bytes",
- "Seconds",
- "Percent",
- "CountPerSecond",
- "BytesPerSecond"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "UsagesUnit",
- "modelAsString": true
- }
- },
- "quotaPeriod": {
- "description": "Quota period of usage.",
- "type": "string"
- },
- "nextResetTime": {
- "format": "date-time",
- "description": "Next reset time of usage.",
- "type": "string"
- },
- "currentValue": {
- "format": "int64",
- "description": "Current value of usage.",
- "type": "integer"
- },
- "limit": {
- "format": "int64",
- "description": "Limit of usage.",
- "type": "integer"
- },
- "name": {
- "$ref": "#/definitions/NameInfo",
- "description": "Name of usage."
- }
- }
- },
- "BackupManagementUsageList": {
- "description": "Backup management usage for vault.",
- "type": "object",
- "properties": {
- "value": {
- "description": "The list of backup management usages for the given vault.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BackupManagementUsage"
- }
- }
- }
- },
- "BackupRequest": {
- "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "BackupRequestResource": {
- "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BackupRequest",
- "description": "BackupRequestResource properties"
- }
- }
- },
- "BackupResourceConfig": {
- "description": "The resource storage details.",
- "type": "object",
- "properties": {
- "storageType": {
- "description": "Storage type.",
- "enum": [
- "Invalid",
- "GeoRedundant",
- "LocallyRedundant"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageType",
- "modelAsString": true
- }
- },
- "storageTypeState": {
- "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
- "enum": [
- "Invalid",
- "Locked",
- "Unlocked"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageTypeState",
- "modelAsString": true
- }
- }
- }
- },
- "BackupResourceConfigResource": {
- "description": "The resource storage details.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BackupResourceConfig",
- "description": "BackupResourceConfigResource properties"
- }
- }
- },
- "BackupResourceVaultConfig": {
- "description": "Backup resource vault config details.",
- "type": "object",
- "properties": {
- "storageType": {
- "description": "Storage type.",
- "enum": [
- "Invalid",
- "GeoRedundant",
- "LocallyRedundant"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageType",
- "modelAsString": true
- }
- },
- "storageTypeState": {
- "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
- "enum": [
- "Invalid",
- "Locked",
- "Unlocked"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "StorageTypeState",
- "modelAsString": true
- }
- },
- "enhancedSecurityState": {
- "description": "Enabled or Disabled.",
- "enum": [
- "Invalid",
- "Enabled",
- "Disabled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "EnhancedSecurityState",
- "modelAsString": true
- }
- }
- }
- },
- "BackupResourceVaultConfigResource": {
- "description": "Backup resource vault config details.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BackupResourceVaultConfig",
- "description": "BackupResourceVaultConfigResource properties"
- }
- }
- },
- "BEKDetails": {
- "description": "BEK is bitlocker encrpytion key.",
- "type": "object",
- "properties": {
- "secretUrl": {
- "description": "Secret is BEK.",
- "type": "string"
- },
- "secretVaultId": {
- "description": "ID of the Key Vault where this Secret is stored.",
- "type": "string"
- },
- "secretData": {
- "description": "BEK data.",
- "type": "string"
- }
- }
- },
- "BMSBackupEngineQueryObject": {
- "description": "Query parameters to fetch list of backup engines.",
- "type": "object",
- "properties": {
- "expand": {
- "description": "attribute to add extended info",
- "type": "string"
- }
- }
- },
- "BMSBackupEnginesQueryObject": {
- "description": "Query parameters to fetch list of backup engines.",
- "type": "object",
- "properties": {
- "backupManagementType": {
- "description": "Backup management type for the backup engine.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "friendlyName": {
- "description": "Friendly name of the backup engine.",
- "type": "string"
- },
- "expand": {
- "description": "Attribute to add extended info.",
- "type": "string"
- }
- }
- },
- "BMSBackupSummariesQueryObject": {
- "description": "Query parameters to fetch backup summaries.",
- "type": "object",
- "properties": {
- "type": {
- "description": "Backup management type for this container.",
- "enum": [
- "Invalid",
- "BackupProtectedItemCountSummary",
- "BackupProtectionContainerCountSummary"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Type",
- "modelAsString": true
- }
- }
- }
- },
- "BMSContainerQueryObject": {
- "description": "The query filters that can be used with the list containers API.",
- "required": [
- "backupManagementType"
- ],
- "type": "object",
- "properties": {
- "backupManagementType": {
- "description": "Backup management type for this container.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "containerType": {
- "description": "Type of container for filter",
- "enum": [
- "Invalid",
- "Unknown",
- "IaasVMContainer",
- "IaasVMServiceContainer",
- "DPMContainer",
- "AzureBackupServerContainer",
- "MABContainer",
- "Cluster",
- "AzureSqlContainer",
- "Windows",
- "VCenter"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ContainerType",
- "modelAsString": true
- }
- },
- "backupEngineName": {
- "description": "Backup engine name",
- "type": "string"
- },
- "status": {
- "description": "Status of registration of this container with the Recovery Services Vault.",
- "type": "string"
- },
- "friendlyName": {
- "description": "Friendly name of this container.",
- "type": "string"
- }
- }
- },
- "BMSPOQueryObject": {
- "description": "Filters to list items that can be backed up.",
- "type": "object",
- "properties": {
- "backupManagementType": {
- "description": "Backup management type.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "status": {
- "description": "Backup status query parameter.",
- "type": "string"
- },
- "friendlyName": {
- "description": "Friendly name.",
- "type": "string"
- }
- }
- },
- "BMSRPQueryObject": {
- "description": "Filters to list backup copies.",
- "type": "object",
- "properties": {
- "startDate": {
- "format": "date-time",
- "description": "Backup copies created after this time.",
- "type": "string"
- },
- "endDate": {
- "format": "date-time",
- "description": "Backup copies created before this time.",
- "type": "string"
- }
- }
- },
- "ClientScriptForConnect": {
- "description": "Client script details for file / folder restore.",
- "type": "object",
- "properties": {
- "scriptContent": {
- "description": "File content of the client script for file / folder restore.",
- "type": "string"
- },
- "scriptExtension": {
- "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.",
- "type": "string"
- },
- "osType": {
- "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.",
- "type": "string"
- },
- "url": {
- "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used",
- "type": "string"
- },
- "scriptNameSuffix": {
- "description": "Mandator suffix that should be added to the name of script that is given for download to user.\r\n If its null or empty then , ignore it.",
- "type": "string"
- }
- }
- },
- "DailyRetentionFormat": {
- "description": "Daily retention format.",
- "type": "object",
- "properties": {
- "daysOfTheMonth": {
- "description": "List of days of the month.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Day"
- }
- }
- }
- },
- "DailyRetentionSchedule": {
- "description": "Daily retention schedule.",
- "type": "object",
- "properties": {
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
- "Day": {
- "description": "Day of the week.",
- "type": "object",
- "properties": {
- "date": {
- "format": "int32",
- "description": "Date of the month",
- "type": "integer"
- },
- "isLast": {
- "description": "Whether Date is last date of month",
- "type": "boolean"
- }
- }
- },
- "DpmBackupEngine": {
- "description": "Data Protection Manager (DPM) specific backup engine.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/BackupEngineBase"
- }
- ],
- "x-ms-discriminator-value": "DpmBackupEngine"
- },
- "DpmContainer": {
- "description": "DPM workload-specific protection container.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionContainer"
- }
- ],
- "properties": {
- "canReRegister": {
- "description": "Specifies whether the container is re-registrable.",
- "type": "boolean"
- },
- "containerId": {
- "description": "ID of container.",
- "type": "string"
- },
- "protectedItemCount": {
- "format": "int64",
- "description": "Number of protected items in the BackupEngine",
- "type": "integer"
- },
- "dpmAgentVersion": {
- "description": "Backup engine Agent version",
- "type": "string"
- },
- "DPMServers": {
- "description": "List of BackupEngines protecting the container",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "UpgradeAvailable": {
- "description": "To check if upgrade available",
- "type": "boolean"
- },
- "protectionStatus": {
- "description": "Protection status of the container.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/DPMContainerExtendedInfo",
- "description": "Extended Info of the container."
- }
- },
- "x-ms-discriminator-value": "DPMContainer"
- },
- "DPMContainerExtendedInfo": {
- "description": "Additional information of the DPMContainer.",
- "type": "object",
- "properties": {
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Last refresh time of the DPMContainer.",
- "type": "string"
- }
- }
- },
- "DPMProtectedItem": {
- "description": "Additional information on Backup engine specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the managed item",
- "type": "string"
- },
- "backupEngineName": {
- "description": "Backup Management server protecting this backup item",
- "type": "string"
- },
- "protectionState": {
- "description": "Protection state of the backupengine",
- "enum": [
- "Invalid",
- "IRPending",
- "Protected",
- "ProtectionError",
- "ProtectionStopped",
- "ProtectionPaused"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectedItemState",
- "modelAsString": true
- }
- },
- "isScheduledForDeferredDelete": {
- "description": "To check if backup item is scheduled for deferred delete",
- "type": "boolean"
- },
- "extendedInfo": {
- "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
- "description": "Extended info of the backup item."
- }
- },
- "x-ms-discriminator-value": "DPMProtectedItem"
- },
- "DPMProtectedItemExtendedInfo": {
- "description": "Additional information of DPM Protected item.",
- "type": "object",
- "properties": {
- "protectableObjectLoadPath": {
- "description": "Attribute to provide information on various DBs.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "protected": {
- "description": "To check if backup item is disk protected.",
- "type": "boolean"
- },
- "isPresentOnCloud": {
- "description": "To check if backup item is cloud protected.",
- "type": "boolean"
- },
- "lastBackupStatus": {
- "description": "Last backup status information on backup item.",
- "type": "string"
- },
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Last refresh time on backup item.",
- "type": "string"
- },
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "Oldest cloud recovery point time.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "cloud recovery point count.",
- "type": "integer"
- },
- "onPremiseOldestRecoveryPoint": {
- "format": "date-time",
- "description": "Oldest disk recovery point time.",
- "type": "string"
- },
- "onPremiseLatestRecoveryPoint": {
- "format": "date-time",
- "description": "latest disk recovery point time.",
- "type": "string"
- },
- "onPremiseRecoveryPointCount": {
- "format": "int32",
- "description": "disk recovery point count.",
- "type": "integer"
- },
- "isCollocated": {
- "description": "To check if backup item is collocated.",
- "type": "boolean"
- },
- "protectionGroupName": {
- "description": "Protection group name of the backup item.",
- "type": "string"
- },
- "diskStorageUsedInBytes": {
- "description": "Used Disk storage in bytes.",
- "type": "string"
- },
- "totalDiskStorageSizeInBytes": {
- "description": "total Disk storage in bytes.",
- "type": "string"
- }
- }
- },
- "EncryptionDetails": {
- "description": "Details needed if the VM was encrypted at the time of backup.",
- "type": "object",
- "properties": {
- "encryptionEnabled": {
- "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.",
- "type": "boolean"
- },
- "kekUrl": {
- "description": "Key Url.",
- "type": "string"
- },
- "secretKeyUrl": {
- "description": "Secret Url.",
- "type": "string"
- },
- "kekVaultId": {
- "description": "ID of Key Vault where KEK is stored.",
- "type": "string"
- },
- "secretKeyVaultId": {
- "description": "ID of Key Vault where Secret is stored.",
- "type": "string"
- }
- }
- },
- "ExportJobsOperationResultInfo": {
- "description": "This class is used to send blob details after exporting jobs.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/OperationResultInfoBase"
- }
- ],
- "properties": {
- "blobUrl": {
- "description": "URL of the blob into which the serialized string of list of jobs is exported.",
- "type": "string"
- },
- "blobSasKey": {
- "description": "SAS key to access the blob. It expires in 15 mins.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "ExportJobsOperationResultInfo"
- },
- "GenericRecoveryPoint": {
- "description": "Generic backup copy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RecoveryPoint"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the backup copy.",
- "type": "string"
- },
- "recoveryPointType": {
- "description": "Type of the backup copy.",
- "type": "string"
- },
- "recoveryPointTime": {
- "format": "date-time",
- "description": "Time at which this backup copy was created.",
- "type": "string"
- },
- "recoveryPointAdditionalInfo": {
- "description": "Additional information associated with this backup copy.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "GenericRecoveryPoint"
- },
- "GetProtectedItemQueryObject": {
- "description": "Filters to list backup items.",
- "type": "object",
- "properties": {
- "expand": {
- "description": "Specifies if the additional information should be provided for this item.",
- "type": "string"
- }
- }
- },
- "IaasVMBackupRequest": {
- "description": "IaaS VM workload-specific backup request.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/BackupRequest"
- }
- ],
- "properties": {
- "recoveryPointExpiryTimeInUTC": {
- "format": "date-time",
- "description": "Backup copy will expire after the time specified (UTC).",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "IaasVMBackupRequest"
- },
- "IaaSVMContainer": {
- "description": "IaaS VM workload-specific container.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionContainer"
- }
- ],
- "properties": {
- "virtualMachineId": {
- "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.",
- "type": "string"
- },
- "virtualMachineVersion": {
- "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group name of Recovery Services Vault.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "IaaSVMContainer"
- },
- "IaasVMILRRegistrationRequest": {
- "description": "Restore files/folders from a backup copy of IaaS VM.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ILRRequest"
- }
- ],
- "properties": {
- "recoveryPointId": {
- "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.",
- "type": "string"
- },
- "virtualMachineId": {
- "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.",
- "type": "string"
- },
- "initiatorName": {
- "description": "iSCSI initiator name.",
- "type": "string"
- },
- "renewExistingRegistration": {
- "description": "Whether to renew existing registration with the iSCSI server.",
- "type": "boolean"
- }
- },
- "x-ms-discriminator-value": "IaasVMILRRegistrationRequest"
- },
- "IaaSVMProtectableItem": {
- "description": "IaaS VM workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/WorkloadProtectableItem"
- }
- ],
- "properties": {
- "virtualMachineId": {
- "description": "Fully qualified ARM ID of the virtual machine.",
- "type": "string"
- }
- }
- },
- "IaasVMRecoveryPoint": {
- "description": "IaaS VM workload specific backup copy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RecoveryPoint"
- }
- ],
- "properties": {
- "recoveryPointType": {
- "description": "Type of the backup copy.",
- "type": "string"
- },
- "recoveryPointTime": {
- "format": "date-time",
- "description": "Time at which this backup copy was created.",
- "type": "string"
- },
- "recoveryPointAdditionalInfo": {
- "description": "Additional information associated with this backup copy.",
- "type": "string"
- },
- "sourceVMStorageType": {
- "description": "Storage type of the VM whose backup copy is created.",
- "type": "string"
- },
- "isSourceVMEncrypted": {
- "description": "Identifies whether the VM was encrypted when the backup copy is created.",
- "type": "boolean"
- },
- "keyAndSecret": {
- "$ref": "#/definitions/KeyAndSecretDetails",
- "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
- },
- "isInstantILRSessionActive": {
- "description": "Is the session to recover items from this backup copy still active.",
- "type": "boolean"
- },
- "recoveryPointTierDetails": {
- "description": "Recovery point tier information.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/RecoveryPointTierInformation"
- }
- },
- "isManagedVirtualMachine": {
- "description": "Whether VM is with Managed Disks",
- "type": "boolean"
- },
- "virtualMachineSize": {
- "description": "Virtual Machine Size",
- "type": "string"
- },
- "originalStorageAccountOption": {
- "description": "Original SA Option",
- "type": "boolean"
- }
- },
- "x-ms-discriminator-value": "IaasVMRecoveryPoint"
- },
- "IaasVMRestoreRequest": {
- "description": "IaaS VM workload-specific restore.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RestoreRequest"
- }
- ],
- "properties": {
- "recoveryPointId": {
- "description": "ID of the backup copy to be recovered.",
- "type": "string"
- },
- "recoveryType": {
- "description": "Type of this recovery.",
- "enum": [
- "Invalid",
- "OriginalLocation",
- "AlternateLocation",
- "RestoreDisks"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryType",
- "modelAsString": true
- }
- },
- "sourceResourceId": {
- "description": "Fully qualified ARM ID of the VM which is being recovered.",
- "type": "string"
- },
- "targetVirtualMachineId": {
- "description": "This is the complete ARM Id of the VM that will be created.\r\n For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
- "type": "string"
- },
- "targetResourceGroupId": {
- "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\n For e.g. /subscriptions/{subId}/resourcegroups/{rg}",
- "type": "string"
- },
- "storageAccountId": {
- "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.",
- "type": "string"
- },
- "virtualNetworkId": {
- "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\n User will be validated for join action permissions in the linked access.",
- "type": "string"
- },
- "subnetId": {
- "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent the subnet.",
- "type": "string"
- },
- "targetDomainNameId": {
- "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic Virtual Machines.",
- "type": "string"
- },
- "region": {
- "description": "Region in which the virtual machine is restored.",
- "type": "string"
- },
- "affinityGroup": {
- "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.",
- "type": "string"
- },
- "createNewCloudService": {
- "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same cloud service as it was at the time of backup.",
- "type": "boolean"
- },
- "originalStorageAccountOption": {
- "type": "boolean"
- },
- "encryptionDetails": {
- "$ref": "#/definitions/EncryptionDetails",
- "description": "Details needed if the VM was encrypted at the time of backup."
- }
- },
- "x-ms-discriminator-value": "IaasVMRestoreRequest"
- },
- "ILRRequest": {
- "description": "Parameters to restore file/folders API.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "ILRRequestResource": {
- "description": "Parameters to restore file/folders API.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ILRRequest",
- "description": "ILRRequestResource properties"
- }
- }
- },
- "InstantItemRecoveryTarget": {
- "description": "Target details for file / folder restore.",
- "type": "object",
- "properties": {
- "clientScripts": {
- "description": "List of client scripts.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ClientScriptForConnect"
- }
- }
- }
- },
- "JobQueryObject": {
- "description": "Filters to list the jobs.",
- "type": "object",
- "properties": {
- "status": {
- "description": "Status of the job.",
- "enum": [
- "Invalid",
- "InProgress",
- "Completed",
- "Failed",
- "CompletedWithWarnings",
- "Cancelled",
- "Cancelling"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobStatus",
- "modelAsString": true
- }
- },
- "backupManagementType": {
- "description": "Type of backup managmenent for the job.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "operation": {
- "description": "Type of operation.",
- "enum": [
- "Invalid",
- "Register",
- "UnRegister",
- "ConfigureBackup",
- "Backup",
- "Restore",
- "DisableBackup",
- "DeleteBackupData"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobOperationType",
- "modelAsString": true
- }
- },
- "jobId": {
- "description": "JobID represents the job uniquely.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "Job has started at this time. Value is in UTC.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "Job has ended at this time. Value is in UTC.",
- "type": "string"
- }
- }
- },
- "KEKDetails": {
- "description": "KEK is encryption key for BEK.",
- "type": "object",
- "properties": {
- "keyUrl": {
- "description": "Key is KEK.",
- "type": "string"
- },
- "keyVaultId": {
- "description": "Key Vault ID where this Key is stored.",
- "type": "string"
- },
- "keyBackupData": {
- "description": "KEK data.",
- "type": "string"
- }
- }
- },
- "KeyAndSecretDetails": {
- "description": "BEK is bitlocker key.\r\n KEK is encryption key for BEK\r\n If the VM was encrypted then we will store follwing details :\r\n 1. Secret(BEK) - Url + Backup Data + vaultId.\r\n 2. Key(KEK) - Url + Backup Data + vaultId.\r\n BEK and KEK can potentiallty have different vault ids.",
- "type": "object",
- "properties": {
- "kekDetails": {
- "$ref": "#/definitions/KEKDetails",
- "description": "KEK is encryption key for BEK."
- },
- "bekDetails": {
- "$ref": "#/definitions/BEKDetails",
- "description": "BEK is bitlocker encrpytion key."
- }
- }
- },
- "LongTermRetentionPolicy": {
- "description": "Long term retention policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RetentionPolicy"
- }
- ],
- "properties": {
- "dailySchedule": {
- "$ref": "#/definitions/DailyRetentionSchedule",
- "description": "Daily retention schedule of the protection policy."
- },
- "weeklySchedule": {
- "$ref": "#/definitions/WeeklyRetentionSchedule",
- "description": "Weekly retention schedule of the protection policy."
- },
- "monthlySchedule": {
- "$ref": "#/definitions/MonthlyRetentionSchedule",
- "description": "Monthly retention schedule of the protection policy."
- },
- "yearlySchedule": {
- "$ref": "#/definitions/YearlyRetentionSchedule",
- "description": "Yearly retention schedule of the protection policy."
- }
- },
- "x-ms-discriminator-value": "LongTermRetentionPolicy"
- },
- "LongTermSchedulePolicy": {
- "description": "Long term policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ]
- },
- "MabContainer": {
- "description": "Container with items backed up using MAB backup engine.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionContainer"
- }
- ],
- "properties": {
- "canReRegister": {
- "description": "Can the container be registered one more time.",
- "type": "boolean"
- },
- "containerId": {
- "format": "int64",
- "description": "ContainerID represents the container.",
- "type": "integer"
- },
- "protectedItemCount": {
- "format": "int64",
- "description": "Number of items backed up in this container.",
- "type": "integer"
- },
- "agentVersion": {
- "description": "Agent version of this container.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/MabContainerExtendedInfo",
- "description": "Additional information for this container"
- }
- },
- "x-ms-discriminator-value": "MABWindowsContainer"
- },
- "MabContainerExtendedInfo": {
- "description": "Additional information of the container.",
- "type": "object",
- "properties": {
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Time stamp when this container was refreshed.",
- "type": "string"
- },
- "backupItemType": {
- "description": "Type of backup items associated with this container.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupItemType",
- "modelAsString": true
- }
- },
- "backupItems": {
- "description": "List of backup items associated with this container.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "policyName": {
- "description": "Backup policy associated with this container.",
- "type": "string"
- },
- "lastBackupStatus": {
- "description": "Latest backup status of this container.",
- "type": "string"
- }
- }
- },
- "MabFileFolderProtectedItem": {
- "description": "MAB workload-specific backup item.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectedItem"
- }
- ],
- "properties": {
- "friendlyName": {
- "description": "Friendly name of this backup item.",
- "type": "string"
- },
- "computerName": {
- "description": "Name of the computer associated with this backup item.",
- "type": "string"
- },
- "lastBackupStatus": {
- "description": "Status of last backup operation.",
- "type": "string"
- },
- "protectionState": {
- "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
- "type": "string"
- },
- "isScheduledForDeferredDelete": {
- "description": "Specifies if the item is scheduled for deferred deletion.",
- "type": "boolean"
- },
- "deferredDeleteSyncTimeInUTC": {
- "format": "int64",
- "description": "Sync time for deferred deletion.",
- "type": "integer"
- },
- "extendedInfo": {
- "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
- "description": "Additional information with this backup item."
- }
- },
- "x-ms-discriminator-value": "MabFileFolderProtectedItem"
- },
- "MabFileFolderProtectedItemExtendedInfo": {
- "description": "Additional information on the backed up item.",
- "type": "object",
- "properties": {
- "lastRefreshedAt": {
- "format": "date-time",
- "description": "Last time when the agent data synced to service.",
- "type": "string"
- },
- "oldestRecoveryPoint": {
- "format": "date-time",
- "description": "The oldest backup copy available.",
- "type": "string"
- },
- "recoveryPointCount": {
- "format": "int32",
- "description": "Number of backup copies associated with the backup item.",
- "type": "integer"
- }
- }
- },
- "MabProtectionPolicy": {
- "description": "Mab container-specific backup policy.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProtectionPolicy"
- }
- ],
- "properties": {
- "schedulePolicy": {
- "$ref": "#/definitions/SchedulePolicy",
- "description": "Backup schedule of backup policy."
- },
- "retentionPolicy": {
- "$ref": "#/definitions/RetentionPolicy",
- "description": "Retention policy details."
- }
- },
- "x-ms-discriminator-value": "MAB"
- },
- "MonthlyRetentionSchedule": {
- "description": "Monthly retention schedule.",
- "type": "object",
- "properties": {
- "retentionScheduleFormatType": {
- "description": "Retention schedule format type for monthly retention policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionScheduleFormat",
- "modelAsString": true
- }
- },
- "retentionScheduleDaily": {
- "$ref": "#/definitions/DailyRetentionFormat",
- "description": "Daily retention format for monthly retention policy."
- },
- "retentionScheduleWeekly": {
- "$ref": "#/definitions/WeeklyRetentionFormat",
- "description": "Weekly retention format for monthly retention policy."
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
- "NameInfo": {
- "description": "The name of usage.",
- "type": "object",
- "properties": {
- "value": {
- "description": "Value of usage.",
- "type": "string"
- },
- "localizedValue": {
- "description": "Localized value of usage.",
- "type": "string"
- }
- }
- },
- "Object": {
- "description": "Base of all objects.",
- "type": "object"
- },
- "OperationResultInfo": {
- "description": "Operation result info.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/OperationResultInfoBase"
- }
- ],
- "properties": {
- "jobList": {
- "description": "List of jobs created by this operation.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "x-ms-discriminator-value": "OperationResultInfo"
- },
- "OperationResultInfoBase": {
- "description": "Base class for operation result info.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "OperationResultInfoBaseResource": {
- "description": "Base class for operation result info.",
- "allOf": [
- {
- "$ref": "#/definitions/OperationWorkerResponse"
- }
- ],
- "properties": {
- "operation": {
- "$ref": "#/definitions/OperationResultInfoBase",
- "description": "OperationResultInfoBaseResource operation"
- }
- }
- },
- "OperationStatus": {
- "description": "Operation status.",
- "type": "object",
- "properties": {
- "id": {
- "description": "ID of the operation.",
- "type": "string"
- },
- "name": {
- "description": "Name of the operation.",
- "type": "string"
- },
- "status": {
- "description": "Operation status.",
- "enum": [
- "Invalid",
- "InProgress",
- "Succeeded",
- "Failed",
- "Canceled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "OperationStatusValues",
- "modelAsString": true
- }
- },
- "startTime": {
- "format": "date-time",
- "description": "Operation start time. Format: ISO-8601.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "Operation end time. Format: ISO-8601.",
- "type": "string"
- },
- "error": {
- "$ref": "#/definitions/OperationStatusError",
- "description": "Error information related to this operation."
- },
- "properties": {
- "$ref": "#/definitions/OperationStatusExtendedInfo",
- "description": "Additional information associated with this operation."
- }
- }
- },
- "OperationStatusError": {
- "description": "Error information associated with operation status call.",
- "type": "object",
- "properties": {
- "code": {
- "description": "Error code of the operation failure.",
- "type": "string"
- },
- "message": {
- "description": "Error message displayed if the operation failure.",
- "type": "string"
- }
- }
- },
- "OperationStatusExtendedInfo": {
- "description": "Base class for additional information of operation status.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "OperationStatusJobExtendedInfo": {
- "description": "Operation status job extended info.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/OperationStatusExtendedInfo"
- }
- ],
- "properties": {
- "jobId": {
- "description": "ID of the job created for this protected item.",
- "type": "string"
- }
- },
- "x-ms-discriminator-value": "OperationStatusJobExtendedInfo"
- },
- "OperationStatusJobsExtendedInfo": {
- "description": "Operation status extended info for list of jobs.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/OperationStatusExtendedInfo"
- }
- ],
- "properties": {
- "jobIds": {
- "description": "IDs of the jobs created for the protected item.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "failedJobsError": {
- "description": "Stores all the failed jobs along with the corresponding error codes.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo"
- },
- "OperationStatusProvisionILRExtendedInfo": {
- "description": "Operation status extended info for ILR provision action.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/OperationStatusExtendedInfo"
- }
- ],
- "properties": {
- "recoveryTarget": {
- "$ref": "#/definitions/InstantItemRecoveryTarget",
- "description": "Target details for file / folder restore."
- }
- },
- "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo"
- },
- "OperationWorkerResponse": {
- "description": "This is the base class for operation result responses.",
- "type": "object",
- "properties": {
- "statusCode": {
- "description": "HTTP Status Code of the operation.",
- "enum": [
- "Continue",
- "SwitchingProtocols",
- "OK",
- "Created",
- "Accepted",
- "NonAuthoritativeInformation",
- "NoContent",
- "ResetContent",
- "PartialContent",
- "MultipleChoices",
- "Ambiguous",
- "MovedPermanently",
- "Moved",
- "Found",
- "Redirect",
- "SeeOther",
- "RedirectMethod",
- "NotModified",
- "UseProxy",
- "Unused",
- "TemporaryRedirect",
- "RedirectKeepVerb",
- "BadRequest",
- "Unauthorized",
- "PaymentRequired",
- "Forbidden",
- "NotFound",
- "MethodNotAllowed",
- "NotAcceptable",
- "ProxyAuthenticationRequired",
- "RequestTimeout",
- "Conflict",
- "Gone",
- "LengthRequired",
- "PreconditionFailed",
- "RequestEntityTooLarge",
- "RequestUriTooLong",
- "UnsupportedMediaType",
- "RequestedRangeNotSatisfiable",
- "ExpectationFailed",
- "UpgradeRequired",
- "InternalServerError",
- "NotImplemented",
- "BadGateway",
- "ServiceUnavailable",
- "GatewayTimeout",
- "HttpVersionNotSupported"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HttpStatusCode",
- "modelAsString": false
- }
- },
- "Headers": {
- "description": "HTTP headers associated with this operation.",
- "type": "object",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- }
- },
- "ProtectedItem": {
- "description": "Base class for backup items.",
- "type": "object",
- "properties": {
- "protectedItemType": {
- "description": "backup item type.",
- "type": "string"
- },
- "backupManagementType": {
- "description": "Type of backup managemenent for the backed up item.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "workloadType": {
- "description": "Type of workload this item represents.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DataSourceType",
- "modelAsString": true
- }
- },
- "containerName": {
- "description": "Unique name of container",
- "type": "string"
- },
- "sourceResourceId": {
- "description": "ARM ID of the resource to be backed up.",
- "type": "string"
- },
- "policyId": {
- "description": "ID of the backup policy with which this item is backed up.",
- "type": "string"
- },
- "lastRecoveryPoint": {
- "format": "date-time",
- "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
- "type": "string"
- }
- },
- "discriminator": "protectedItemType"
- },
- "ProtectedItemQueryObject": {
- "description": "Filters to list backup items.",
- "type": "object",
- "properties": {
- "healthState": {
- "description": "Health State for the backed up item.",
- "enum": [
- "Passed",
- "ActionRequired",
- "ActionSuggested",
- "Invalid"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "HealthState",
- "modelAsString": true
- }
- },
- "backupManagementType": {
- "description": "Backup management type for the backed up item.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "itemType": {
- "description": "Type of workload this item represents.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DataSourceType",
- "modelAsString": true
- }
- },
- "policyName": {
- "description": "Backup policy name associated with the backup item.",
- "type": "string"
- },
- "containerName": {
- "description": "Name of the container.",
- "type": "string"
- },
- "backupEngineName": {
- "description": "Backup Engine name",
- "type": "string"
- },
- "friendlyName": {
- "description": "Friendly name of protected item",
- "type": "string"
- }
- }
- },
- "ProtectedItemResource": {
- "description": "Base class for backup items.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectedItem",
- "description": "ProtectedItemResource properties"
- }
- }
- },
- "ProtectedItemResourceList": {
- "description": "List of ProtectedItem resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProtectedItemResource"
- }
- }
- }
- },
- "ProtectionContainer": {
- "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
- "type": "object",
- "properties": {
- "friendlyName": {
- "description": "Friendly name of the container.",
- "type": "string"
- },
- "backupManagementType": {
- "description": "Type of backup managemenent for the container.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "registrationStatus": {
- "description": "Status of registration of the container with the Recovery Services Vault.",
- "type": "string"
- },
- "healthStatus": {
- "description": "Status of health of the container.",
- "type": "string"
- },
- "containerType": {
- "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer.",
- "enum": [
- "Invalid",
- "Unknown",
- "IaasVMContainer",
- "IaasVMServiceContainer",
- "DPMContainer",
- "AzureBackupServerContainer",
- "MABContainer",
- "Cluster",
- "AzureSqlContainer",
- "Windows",
- "VCenter"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "ContainerType",
- "modelAsString": true
- }
- },
- "protectableObjectType": {
- "description": "Type of the protectable object associated with this container.",
- "enum": [
- "Invalid",
- "Unknown",
- "IaasVMContainer",
- "IaasVMServiceContainer",
- "DPMContainer",
- "AzureBackupServerContainer",
- "MABContainer",
- "Cluster",
- "AzureSqlContainer",
- "Windows",
- "VCenter"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectableObjectType",
- "modelAsString": true
- }
- }
- },
- "discriminator": "protectableObjectType"
- },
- "ProtectionContainerResource": {
- "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectionContainer",
- "description": "ProtectionContainerResource properties"
- }
- }
- },
- "ProtectionContainerResourceList": {
- "description": "List of ProtectionContainer resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProtectionContainerResource"
- }
- }
- }
- },
- "ProtectionPolicy": {
- "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
- "required": [
- "backupManagementType"
- ],
- "type": "object",
- "properties": {
- "protectedItemsCount": {
- "format": "int32",
- "description": "Number of items associated with this policy.",
- "type": "integer"
- },
- "backupManagementType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "backupManagementType"
- },
- "ProtectionPolicyQueryObject": {
- "description": "Filters the list backup policies API.",
- "type": "object",
- "properties": {
- "backupManagementType": {
- "description": "Backup management type for the backup policy.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- }
- }
- },
- "ProtectionPolicyResource": {
- "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProtectionPolicy",
- "description": "ProtectionPolicyResource properties"
- }
- }
- },
- "ProtectionPolicyResourceList": {
- "description": "List of ProtectionPolicy resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProtectionPolicyResource"
- }
- }
- }
- },
- "RecoveryPoint": {
- "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "RecoveryPointResource": {
- "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/RecoveryPoint",
- "description": "RecoveryPointResource properties"
- }
- }
- },
- "RecoveryPointResourceList": {
- "description": "List of RecoveryPoint resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/RecoveryPointResource"
- }
- }
- }
- },
- "RecoveryPointTierInformation": {
- "description": "Recovery point tier information.",
- "type": "object",
- "properties": {
- "type": {
- "description": "Recovery point tier type.",
- "enum": [
- "Invalid",
- "InstantRP",
- "HardenedRP"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryPointTierType",
- "modelAsString": false
- }
- },
- "status": {
- "description": "Recovery point tier status.",
- "enum": [
- "Invalid",
- "Valid",
- "Disabled",
- "Deleted"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RecoveryPointTierStatus",
- "modelAsString": false
- }
- }
- }
- },
- "Resource": {
- "description": "ARM Resource.",
- "type": "object",
- "properties": {
- "id": {
- "description": "Resource Id represents the complete path to the resource.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Resource name associated with the resource.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
- "type": "string",
- "readOnly": true
- },
- "location": {
- "description": "Resource location.",
- "type": "string"
- },
- "tags": {
- "description": "Resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "eTag": {
- "description": "Optional ETag.",
- "type": "string"
- }
- },
- "x-ms-azure-resource": true
- },
- "ResourceList": {
- "description": "Base for all lists of resources.",
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
- "type": "string"
- }
- }
- },
- "RestoreRequest": {
- "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
- "required": [
- "objectType"
- ],
- "type": "object",
- "properties": {
- "objectType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "objectType"
- },
- "RestoreRequestResource": {
- "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/RestoreRequest",
- "description": "RestoreRequestResource properties"
- }
- }
- },
- "RetentionDuration": {
- "description": "Retention duration.",
- "type": "object",
- "properties": {
- "count": {
- "format": "int32",
- "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times. \r\n For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
- "type": "integer"
- },
- "durationType": {
- "description": "Retention duration type of retention policy.",
- "enum": [
- "Invalid",
- "Days",
- "Weeks",
- "Months",
- "Years"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionDurationType",
- "modelAsString": true
- }
- }
- }
- },
- "RetentionPolicy": {
- "description": "Base class for retention policy.",
- "required": [
- "retentionPolicyType"
- ],
- "type": "object",
- "properties": {
- "retentionPolicyType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "retentionPolicyType"
- },
- "SchedulePolicy": {
- "description": "Base class for backup schedule.",
- "required": [
- "schedulePolicyType"
- ],
- "type": "object",
- "properties": {
- "schedulePolicyType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "schedulePolicyType"
- },
- "SimpleRetentionPolicy": {
- "description": "Simple policy retention.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/RetentionPolicy"
- }
- ],
- "properties": {
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of the protection policy."
- }
- },
- "x-ms-discriminator-value": "SimpleRetentionPolicy"
- },
- "SimpleSchedulePolicy": {
- "description": "Simple policy schedule.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SchedulePolicy"
- }
- ],
- "properties": {
- "scheduleRunFrequency": {
- "description": "Frequency of the schedule operation of this policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ScheduleRunType",
- "modelAsString": true
- }
- },
- "scheduleRunDays": {
- "description": "List of days of week this schedule has to be run.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "scheduleRunTimes": {
- "description": "List of times of day this schedule has to be run.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "scheduleWeeklyFrequency": {
- "format": "int32",
- "description": "At every number weeks this schedule has to be run.",
- "type": "integer"
- }
- },
- "x-ms-discriminator-value": "SimpleSchedulePolicy"
- },
- "TokenInformation": {
- "description": "The token information details.",
- "type": "object",
- "properties": {
- "token": {
- "description": "Token value.",
- "type": "string"
- },
- "expiryTimeInUtcTicks": {
- "format": "int64",
- "description": "Expiry time of token.",
- "type": "integer"
- },
- "securityPIN": {
- "description": "Security PIN",
- "type": "string"
- }
- }
- },
- "WeeklyRetentionFormat": {
- "description": "Weekly retention format.",
- "type": "object",
- "properties": {
- "daysOfTheWeek": {
- "description": "List of days of the week.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "weeksOfTheMonth": {
- "description": "List of weeks of month.",
- "type": "array",
- "items": {
- "enum": [
- "First",
- "Second",
- "Third",
- "Fourth",
- "Last"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WeekOfMonth",
- "modelAsString": false
- }
- }
- }
- }
- },
- "WeeklyRetentionSchedule": {
- "description": "Weekly retention schedule.",
- "type": "object",
- "properties": {
- "daysOfTheWeek": {
- "description": "List of days of week for weekly retention policy.",
- "type": "array",
- "items": {
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DayOfWeek",
- "modelAsString": false
- }
- }
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- },
- "WorkloadProtectableItem": {
- "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
- "type": "object",
- "properties": {
- "backupManagementType": {
- "description": "Type of backup managemenent to backup an item.",
- "type": "string"
- },
- "protectableItemType": {
- "description": "Type of the backup item.",
- "type": "string"
- },
- "friendlyName": {
- "description": "Friendly name of the backup item.",
- "type": "string"
- },
- "protectionState": {
- "description": "State of the back up item.",
- "enum": [
- "Invalid",
- "NotProtected",
- "Protecting",
- "Protected"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ProtectionStatus",
- "modelAsString": true
- }
- }
- },
- "discriminator": "protectableItemType"
- },
- "WorkloadProtectableItemResource": {
- "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/WorkloadProtectableItem",
- "description": "WorkloadProtectableItemResource properties"
- }
- }
- },
- "WorkloadProtectableItemResourceList": {
- "description": "List of WorkloadProtectableItem resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/WorkloadProtectableItemResource"
- }
- }
- }
- },
- "YearlyRetentionSchedule": {
- "description": "Yearly retention schedule.",
- "type": "object",
- "properties": {
- "retentionScheduleFormatType": {
- "description": "Retention schedule format for yearly retention policy.",
- "enum": [
- "Invalid",
- "Daily",
- "Weekly"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "RetentionScheduleFormat",
- "modelAsString": true
- }
- },
- "monthsOfYear": {
- "description": "List of months of year of yearly retention policy.",
- "type": "array",
- "items": {
- "enum": [
- "Invalid",
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "MonthOfYear",
- "modelAsString": false
- }
- }
- },
- "retentionScheduleDaily": {
- "$ref": "#/definitions/DailyRetentionFormat",
- "description": "Daily retention format for yearly retention policy."
- },
- "retentionScheduleWeekly": {
- "$ref": "#/definitions/WeeklyRetentionFormat",
- "description": "Weekly retention format for yearly retention policy."
- },
- "retentionTimes": {
- "description": "Retention times of retention policy.",
- "type": "array",
- "items": {
- "format": "date-time",
- "type": "string"
- }
- },
- "retentionDuration": {
- "$ref": "#/definitions/RetentionDuration",
- "description": "Retention duration of retention Policy."
- }
- }
- }
- },
- "parameters": {
- "SubscriptionId": {
- "name": "subscriptionId",
- "in": "path",
- "description": "The subscription Id.",
- "required": true,
- "type": "string"
- },
- "ResourceGroupName": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group where the recovery services vault is present.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
- },
- "VaultName": {
- "name": "vaultName",
- "in": "path",
- "description": "The name of the recovery services vault.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
- },
- "ApiVersion": {
- "name": "api-version",
- "in": "query",
- "description": "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/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json
new file mode 100644
index 000000000000..e83845e36c58
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json
@@ -0,0 +1,6474 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2016-12-01",
+ "title": "RecoveryServicesBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Fetches resource vault config.",
+ "operationId": "BackupResourceVaultConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceVaultConfigs"
+ ],
+ "description": "Updates vault security config.",
+ "operationId": "BackupResourceVaultConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceVaultConfigResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Update Vault Security Config": {
+ "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": {
+ "get": {
+ "tags": [
+ "BackupEngines"
+ ],
+ "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.",
+ "operationId": "BackupEngines_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupEngineBaseResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Dpm/AzureBackupServer/Lajolla Backup Engines": {
+ "$ref": "./examples/Dpm/BackupEngines_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": {
+ "get": {
+ "tags": [
+ "BackupEngines"
+ ],
+ "description": "Returns backup management server registered to Recovery Services Vault.",
+ "operationId": "BackupEngines_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupEngineName",
+ "in": "path",
+ "description": "Name of the backup management server.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupEngineBaseResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject",
+ "x-ms-examples": {
+ "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": {
+ "$ref": "./examples/Dpm/BackupEngines_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionContainerRefreshOperationResults"
+ ],
+ "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.",
+ "operationId": "ProtectionContainerRefreshOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID associated with the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Azure Vm Discovery Operation Result": {
+ "$ref": "./examples/Common/RefreshContainers_OperationResults.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": {
+ "get": {
+ "tags": [
+ "ProtectableContainers"
+ ],
+ "description": "Lists the containers registered to Recovery Services Vault.",
+ "operationId": "ProtectableContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableContainerResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSContainerQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protectable items with backupManagementType filter as AzureStorage": {
+ "$ref": "./examples/AzureStorage/ProtectableContainers_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": {
+ "get": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Gets details of the specific container registered to your Recovery Services Vault.",
+ "operationId": "ProtectionContainers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric where the container belongs.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container whose details need to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Protection Container Details": {
+ "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Registers the container with Recovery Services vault.\r\n This is an asynchronous operation. To track the operation status, use location header to call get latest status of the operation.",
+ "operationId": "ProtectionContainers_Register",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container to be registered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "RegisterAzure Storage ProtectionContainers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Unregisters the given container from your Recovery Services Vault.\r\n This is an asynchronous operation. To determine whether the backend service has finished processing the request, call Get Container Operation Result API.",
+ "operationId": "ProtectionContainers_Unregister",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric where the container belongs.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Unregister Protection Container": {
+ "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": {
+ "post": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "summary": "Inquires all the protectable item in the given container that can be protected.",
+ "description": "Inquires all the protectable items that are protectable under the given container.",
+ "operationId": "ProtectionContainers_Inquire",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric Name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container in which inquiry needs to be triggered.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Inquire Azure Storage Protection Containers": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": {
+ "get": {
+ "tags": [
+ "BackupWorkloadItems"
+ ],
+ "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination parameters.",
+ "operationId": "BackupWorkloadItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Name of the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkloadItemResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Workload Items in Container": {
+ "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionContainerOperationResults"
+ ],
+ "description": "Fetches the result of any operation on the container.",
+ "operationId": "ProtectionContainerOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name whose information should be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Azure Storage Protection Container Operation Result": {
+ "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": {
+ "get": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/GetProtectedItemQueryObject",
+ "x-ms-examples": {
+ "Get Protected Classic Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json"
+ },
+ "Get Protected Virtual Machine Details": {
+ "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Item name to be backed up.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backed up item",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Enable Protection on Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/ConfigureProtection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectedItems"
+ ],
+ "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the request, call the GetItemOperationResult API.",
+ "operationId": "ProtectedItems_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Delete Protection from Azure Virtual Machine": {
+ "$ref": "./examples/Common/ProtectedItem_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": {
+ "post": {
+ "tags": [
+ "Backups"
+ ],
+ "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the operation, call GetProtectedItemOperationResult API.",
+ "operationId": "Backups_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item for which backup needs to be triggered.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Trigger Backup": {
+ "$ref": "./examples/Common/TriggerBackup_Post.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectedItemOperationResults"
+ ],
+ "description": "Fetches the result of any operation on the backup item.",
+ "operationId": "ProtectedItemOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Operation Results of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectedItemOperationStatuses"
+ ],
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations create jobs. This method returns the list of jobs associated with the operation.",
+ "operationId": "ProtectedItemOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backup item name whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID represents the operation whose status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Operation Status of Protected Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Lists the backup copies for the backed up item.",
+ "operationId": "RecoveryPoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item whose backup copies are to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSRPQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Protected Azure Vm Recovery Points": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. To know the status of the operation, call the GetProtectedItemOperationResult API.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with backed up item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose backup data needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "RecoveryPointID represents the backed up data to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Azure Vm Recovery Point Details": {
+ "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": {
+ "post": {
+ "tags": [
+ "ItemLevelRecoveryConnections"
+ ],
+ "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of provisioning, call GetProtectedItemOperationResult API.",
+ "operationId": "ItemLevelRecoveryConnections_Provision",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose files/folders are to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned for this backed up data.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource ILR request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ILRRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Provision Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Provision_Ilr.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": {
+ "post": {
+ "tags": [
+ "Restores"
+ ],
+ "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use GetProtectedItemOperationResult API.",
+ "operationId": "Restores_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents the backed up data to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource restore request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestoreRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Restore to New Azure IaasVm": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json"
+ },
+ "Restore Disks": {
+ "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": {
+ "post": {
+ "tags": [
+ "ItemLevelRecoveryConnections"
+ ],
+ "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer displaying all recoverable files and folders. This is an asynchronous operation.",
+ "operationId": "ItemLevelRecoveryConnections_Revoke",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "Container name associated with the backed up items.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectedItemName",
+ "in": "path",
+ "description": "Backed up item name whose files/folders are to be restored.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for this backed up data.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Revoke Instant Item Level Recovery for Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": {
+ "post": {
+ "tags": [
+ "ProtectionContainers"
+ ],
+ "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.",
+ "operationId": "ProtectionContainers_Refresh",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject",
+ "x-ms-examples": {
+ "Trigger Azure Vm Discovery": {
+ "$ref": "./examples/Common/RefreshContainers.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "JobCancellations"
+ ],
+ "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call GetCancelOperationResult API.",
+ "operationId": "JobCancellations_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job to cancel.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Cancel Job": {
+ "$ref": "./examples/Common/TriggerCancelJob.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "JobOperationResults"
+ ],
+ "description": "Fetches the result of any operation.\r\n the operation.",
+ "operationId": "JobOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job name whose operation result has to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation whose result has to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Cancel Job Operation Result": {
+ "$ref": "./examples/Common/CancelJobOperationResult.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "BackupOperationResults"
+ ],
+ "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is part of the Location header of the operation response.",
+ "operationId": "BackupOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Result for Protected Item Delete Operation": {
+ "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": {
+ "get": {
+ "tags": [
+ "BackupOperationStatuses"
+ ],
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs when the operation is complete.",
+ "operationId": "BackupOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the operation.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Protected Item Delete Operation Status": {
+ "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy information to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Azure IaasVm Protection Policy Details": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy to be created.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backup policy",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Create or Update Simple Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json"
+ },
+ "Create or Update Full Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ },
+ "Create or Update Full Azure Workload Protection Policy": {
+ "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProtectionPolicies"
+ ],
+ "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.",
+ "operationId": "ProtectionPolicies_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy to be deleted.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Delete Azure Vm Protection Policy": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicyOperationResults"
+ ],
+ "description": "Provides the result of an operation.",
+ "operationId": "ProtectionPolicyOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy name whose operation's result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents the operation whose result needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Protection Policy Operation Results": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "ProtectionPolicyOperationStatuses"
+ ],
+ "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs associated with operation.",
+ "operationId": "ProtectionPolicyOperationStatuses_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Backup policy name whose operation's status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Operation ID which represents an operation whose status needs to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Protection Policy Operation Status": {
+ "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": {
+ "get": {
+ "tags": [
+ "BackupProtectableItems"
+ ],
+ "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the pagination parameters.",
+ "operationId": "BackupProtectableItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/WorkloadProtectableItemResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSPOQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protectable items with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": {
+ "get": {
+ "tags": [
+ "BackupProtectionContainers"
+ ],
+ "description": "Lists the containers registered to Recovery Services Vault.",
+ "operationId": "BackupProtectionContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSContainerQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Backup Protection Containers": {
+ "$ref": "./examples/AzureWorkload/ProtectionContainers_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": {
+ "post": {
+ "tags": [
+ "SecurityPINs"
+ ],
+ "description": "Get the security PIN.",
+ "operationId": "SecurityPINs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TokenInformation"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Vault Security Pin": {
+ "$ref": "./examples/Common/BackupSecurityPin_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": {
+ "get": {
+ "tags": [
+ "BackupResourceStorageConfigs"
+ ],
+ "description": "Fetches resource storage config.",
+ "operationId": "BackupResourceStorageConfigs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceStorageConfigs"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigs_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Vault storage config request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Patch.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AzureBackupServerContainer": {
+ "description": "AzureBackupServer (DPMVenus) workload-specific protection container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "canReRegister": {
+ "description": "Specifies whether the container is re-registrable.",
+ "type": "boolean"
+ },
+ "containerId": {
+ "description": "ID of container.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of protected items in the BackupEngine",
+ "type": "integer"
+ },
+ "dpmAgentVersion": {
+ "description": "Backup engine Agent version",
+ "type": "string"
+ },
+ "dpmServers": {
+ "description": "List of BackupEngines protecting the container",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "upgradeAvailable": {
+ "description": "To check if upgrade available",
+ "type": "boolean"
+ },
+ "protectionStatus": {
+ "description": "Protection status of the container.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMContainerExtendedInfo",
+ "description": "Extended Info of the container."
+ }
+ },
+ "x-ms-discriminator-value": "AzureBackupServerContainer"
+ },
+ "AzureBackupServerEngine": {
+ "description": "Backup engine type when Azure Backup Server is used to manage the backups.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEngineBase"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBackupServerEngine"
+ },
+ "AzureFileShareBackupRequest": {
+ "description": "AzureFileShare workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareBackupRequest"
+ },
+ "AzureFileShareProtectableItem": {
+ "description": "Protectable item for Azure Fileshare workloads.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "parentContainerFabricId": {
+ "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.",
+ "type": "string"
+ },
+ "parentContainerFriendlyName": {
+ "description": "Friendly name of container to which this protectable item belongs.",
+ "type": "string"
+ },
+ "azureFileShareType": {
+ "description": "File Share type XSync or XSMB.",
+ "enum": [
+ "Invalid",
+ "XSMB",
+ "XSync"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureFileShareType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShare"
+ },
+ "AzureFileshareProtectedItem": {
+ "description": "Azure File Share workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fileshare represented by this backup item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "backups running status for this backup item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProtectedItem"
+ },
+ "AzureFileshareProtectedItemExtendedInfo": {
+ "description": "Additional information about Azure File Share backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureFileShareProtectionPolicy": {
+ "description": "AzureStorage backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorage"
+ },
+ "AzureFileShareRecoveryPoint": {
+ "description": "Azure File Share workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "fileShareSnapshotUri": {
+ "description": "Contains Url to the snapshot of fileshare, if applicable",
+ "type": "string"
+ }
+ }
+ },
+ "AzureFileShareRestoreRequest": {
+ "description": "AzureFileShare Restore Request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Source storage account ARM Id",
+ "type": "string"
+ },
+ "copyOptions": {
+ "description": "Options to resolve copy conflicts.",
+ "enum": [
+ "Invalid",
+ "CreateCopy",
+ "Skip",
+ "Overwrite",
+ "FailOnConflict"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CopyOptions",
+ "modelAsString": true
+ }
+ },
+ "restoreRequestType": {
+ "description": "Restore Type (FullShareRestore or ItemLevelRestore)",
+ "enum": [
+ "Invalid",
+ "FullShareRestore",
+ "ItemLevelRestore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreRequestType",
+ "modelAsString": true
+ }
+ },
+ "restoreFileSpecs": {
+ "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestoreFileSpecs"
+ }
+ },
+ "targetDetails": {
+ "$ref": "#/definitions/TargetAFSRestoreInfo",
+ "description": "Target File Share Details"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRestoreRequest"
+ },
+ "AzureIaaSClassicComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing a classic virtual machine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSClassicComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSClassicComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSComputeVMContainer": {
+ "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/IaaSVMProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSVMHealthDetails": {
+ "description": "Azure IaaS VM workload-specific Health Details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string"
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureIaaSVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "Health status of protected item",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "healthDetails": {
+ "description": "Health details on this backup item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMHealthDetails"
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "protectedItemDataId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
+ },
+ "AzureIaaSVMProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure IaaS VM specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyInconsistent": {
+ "description": "Specifies if backup policy associated with the backup item is inconsistent.",
+ "type": "boolean"
+ }
+ }
+ },
+ "AzureIaaSVMProtectionPolicy": {
+ "description": "IaaS VM workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaasVM"
+ },
+ "AzureSQLAGWorkloadContainerProtectionContainer": {
+ "description": "Container for SQL workloads under SQL Availability Group.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLAGWorkLoadContainer"
+ },
+ "AzureSqlContainer": {
+ "description": "Azure Sql workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureSqlContainer"
+ },
+ "AzureSqlProtectedItem": {
+ "description": "Azure SQL workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "protectedItemDataId": {
+ "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of the backed up item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
+ },
+ "AzureSqlProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Sql specific protected item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "State of the backup policy associated with this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureSqlProtectionPolicy": {
+ "description": "Azure SQL workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "AzureSql"
+ },
+ "AzureStorageContainer": {
+ "description": "Azure Storage Account workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "sourceResourceId": {
+ "description": "Fully qualified ARM url.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Storage account version.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name of Recovery Services Vault.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of items backed up in this container.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "StorageContainer"
+ },
+ "AzureStorageProtectableContainer": {
+ "description": "Azure Storage-specific protectable containers",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectableContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "StorageContainer"
+ },
+ "AzureVMAppContainerProtectableContainer": {
+ "description": "Azure workload-specific container",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectableContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "VMAppContainer"
+ },
+ "AzureVMAppContainerProtectionContainer": {
+ "description": "Container for SQL workloads under Azure Virtual Machines.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadContainer"
+ }
+ ],
+ "x-ms-discriminator-value": "VMAppContainer"
+ },
+ "AzureVmWorkloadItem": {
+ "description": "Azure VM workload-specific workload item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadItem"
+ }
+ ],
+ "properties": {
+ "parentName": {
+ "description": "Name for instance or AG",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "isAutoProtectable": {
+ "description": "Indicates if workload item is auto-protectable",
+ "type": "boolean"
+ },
+ "subinquireditemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's present",
+ "type": "integer"
+ },
+ "subWorkloadItemCount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's to be protected",
+ "type": "integer"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectableItem": {
+ "description": "Azure VM workload-specific protectable item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "parentName": {
+ "description": "Name for instance or AG",
+ "type": "string"
+ },
+ "parentUniqueName": {
+ "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent \r\n Only Applicable for data bases where the parent would be either Instance or a SQL AG.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "isAutoProtectable": {
+ "description": "Indicates if protectable item is auto-protectable",
+ "type": "boolean"
+ },
+ "subinquireditemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's present",
+ "type": "integer"
+ },
+ "subprotectableitemcount": {
+ "format": "int32",
+ "description": "For instance or AG, indicates number of DB's to be protected",
+ "type": "integer"
+ },
+ "prebackupvalidation": {
+ "$ref": "#/definitions/PreBackupValidation",
+ "description": "Pre-backup validation for protectable objects"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Workload for SQL specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "settings": {
+ "$ref": "#/definitions/Settings",
+ "description": "Common settings for the backup management"
+ },
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkload"
+ },
+ "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Availability Group.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLAvailabilityGroupContainer"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLDataBase"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the DB represented by this backup item.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "parentName": {
+ "description": "Parent name of the DB such as Instance or Availability Group.",
+ "type": "string"
+ },
+ "parentType": {
+ "description": "Parent type of DB, SQLAG or StandAlone",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LastBackupStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "lastBackupErrorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error details in last backup"
+ },
+ "protectedItemDataSourceId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "protectedItemHealthStatus": {
+ "description": "Health status of the backup item, evaluated based on last heartbeat received",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "NotReachable",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
+ },
+ "AzureVmWorkloadSQLDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLDataBase"
+ },
+ "AzureVmWorkloadSQLInstanceProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SQL Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SQLInstance"
+ },
+ "AzureVmWorkloadSQLInstanceWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SQL Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "properties": {
+ "dataDirectoryPaths": {
+ "description": "Data Directory Paths for default directories",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "SQLInstance"
+ },
+ "AzureWorkloadBackupRequest": {
+ "description": "AzureWorkload workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "backupType": {
+ "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Differential",
+ "Log",
+ "CopyOnlyFull"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "backupType",
+ "modelAsString": true
+ }
+ },
+ "enableCompression": {
+ "description": "Bool for Compression setting",
+ "type": "boolean"
+ },
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadBackupRequest"
+ },
+ "AzureWorkloadContainer": {
+ "description": "Container for the workloads running inside Azure Compute or Classic Compute.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "sourceResourceId": {
+ "description": "ARM ID of the virtual machine represented by this Azure Workload Container",
+ "type": "string"
+ },
+ "lastUpdatedTime": {
+ "format": "date-time",
+ "description": "Time stamp when this container was updated.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo",
+ "description": "Additional details of a workload container."
+ }
+ }
+ },
+ "AzureWorkloadContainerExtendedInfo": {
+ "description": "Extended information of the container.",
+ "type": "object",
+ "properties": {
+ "hostServerName": {
+ "description": "Host Os Name in case of Stand Alone and \r\n Cluster Name in case of distributed container.",
+ "type": "string"
+ },
+ "inquiryInfo": {
+ "$ref": "#/definitions/InquiryInfo",
+ "description": "Inquiry Status for the container."
+ },
+ "nodesList": {
+ "description": "List of the nodes in case of distributed container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DistributedNodesInfo"
+ }
+ }
+ }
+ },
+ "AzureWorkloadRecoveryPoint": {
+ "description": "Workload specific recoverypoint, specifcally encaspulates full/diff recoverypoint",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which recoverypoint was created",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of restore point",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint"
+ },
+ "AzureWorkloadRestoreRequest": {
+ "description": "AzureWorkload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryType": {
+ "description": "OLR/ALR, RestoreDisks is invalid option",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.",
+ "type": "string"
+ },
+ "propertyBag": {
+ "description": "Workload specific property bag.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
+ },
+ "AzureWorkloadSQLPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadSQLPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest"
+ },
+ "AzureWorkloadSQLRecoveryPoint": {
+ "description": "SQL specific recoverypoint, specifcally encaspulates full/diff recoverypoint alongwith extended info",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo",
+ "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\n When a specific recovery point is accessed using GetRecoveryPoint\r\n Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint"
+ },
+ "AzureWorkloadSQLRecoveryPointExtendedInfo": {
+ "description": "Extended info class details",
+ "type": "object",
+ "properties": {
+ "dataDirectoryTimeInUTC": {
+ "format": "date-time",
+ "description": "UTC time at which data directory info was captured",
+ "type": "string"
+ },
+ "dataDirectoryPaths": {
+ "description": "List of data directory paths during restore operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectory"
+ }
+ }
+ }
+ },
+ "AzureWorkloadSQLRestoreRequest": {
+ "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "shouldUseAlternateTargetLocation": {
+ "description": "Default option set to true. If this is set to false, alternate data directory must be provided",
+ "type": "boolean"
+ },
+ "isNonRecoverable": {
+ "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried",
+ "type": "boolean"
+ },
+ "targetInfo": {
+ "$ref": "#/definitions/TargetRestoreInfo",
+ "description": "Details of target database"
+ },
+ "alternateDirectoryPaths": {
+ "description": "Data directory details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SQLDataDirectoryMapping"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest"
+ },
+ "BackupEngineBase": {
+ "description": "The base backup engine class. All workload specific backup engines derive from this class.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the backup engine.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup management for the backup engine.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "registrationStatus": {
+ "description": "Registration status of the backup engine with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "backupEngineState": {
+ "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Backup status of the backup engine.",
+ "type": "string"
+ },
+ "backupEngineType": {
+ "description": "Type of the backup engine.",
+ "enum": [
+ "Invalid",
+ "DpmBackupEngine",
+ "AzureBackupServerEngine"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupEngineType",
+ "modelAsString": true
+ }
+ },
+ "canReRegister": {
+ "description": "Flag indicating if the backup engine be registered, once already registered.",
+ "type": "boolean"
+ },
+ "backupEngineId": {
+ "description": "ID of the backup engine.",
+ "type": "string"
+ },
+ "dpmVersion": {
+ "description": "Backup engine version",
+ "type": "string"
+ },
+ "azureBackupAgentVersion": {
+ "description": "Backup agent version",
+ "type": "string"
+ },
+ "isAzureBackupAgentUpgradeAvailable": {
+ "description": "To check if backup agent upgrade available",
+ "type": "boolean"
+ },
+ "isDpmUpgradeAvailable": {
+ "description": "To check if backup engine upgrade available",
+ "type": "boolean"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/BackupEngineExtendedInfo",
+ "description": "Extended info of the backupengine"
+ }
+ },
+ "discriminator": "backupEngineType"
+ },
+ "BackupEngineBaseResource": {
+ "description": "The base backup engine class. All workload specific backup engines derive from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupEngineBase",
+ "description": "BackupEngineBaseResource properties"
+ }
+ }
+ },
+ "BackupEngineBaseResourceList": {
+ "description": "List of BackupEngineBase resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupEngineBaseResource"
+ }
+ }
+ }
+ },
+ "BackupEngineExtendedInfo": {
+ "description": "Additional information on backup engine.",
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "Database name of backup engine.",
+ "type": "string"
+ },
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of protected items in the backup engine.",
+ "type": "integer"
+ },
+ "protectedServersCount": {
+ "format": "int32",
+ "description": "Number of protected servers in the backup engine.",
+ "type": "integer"
+ },
+ "diskCount": {
+ "format": "int32",
+ "description": "Number of disks in the backup engine.",
+ "type": "integer"
+ },
+ "usedDiskSpace": {
+ "format": "double",
+ "description": "Diskspace used in the backup engine.",
+ "type": "number"
+ },
+ "availableDiskSpace": {
+ "format": "double",
+ "description": "Diskspace currently available in the backup engine.",
+ "type": "number"
+ },
+ "refreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time in the backup engine.",
+ "type": "string"
+ },
+ "azureProtectedInstances": {
+ "format": "int32",
+ "description": "Protected instances in the backup engine.",
+ "type": "integer"
+ }
+ }
+ },
+ "BackupRequest": {
+ "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "BackupRequestResource": {
+ "description": "Base class for backup request. Workload-specific backup requests are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupRequest",
+ "description": "BackupRequestResource properties"
+ }
+ }
+ },
+ "BackupResourceConfig": {
+ "description": "The resource storage details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BackupResourceConfigResource": {
+ "description": "The resource storage details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceConfig",
+ "description": "BackupResourceConfigResource properties"
+ }
+ }
+ },
+ "BackupResourceVaultConfig": {
+ "description": "Backup resource vault config details.",
+ "type": "object",
+ "properties": {
+ "storageModelType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageType": {
+ "description": "Storage type.",
+ "enum": [
+ "Invalid",
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageType",
+ "modelAsString": true
+ }
+ },
+ "storageTypeState": {
+ "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.",
+ "enum": [
+ "Invalid",
+ "Locked",
+ "Unlocked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageTypeState",
+ "modelAsString": true
+ }
+ },
+ "enhancedSecurityState": {
+ "description": "Enabled or Disabled.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EnhancedSecurityState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BackupResourceVaultConfigResource": {
+ "description": "Backup resource vault config details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupResourceVaultConfig",
+ "description": "BackupResourceVaultConfigResource properties"
+ }
+ }
+ },
+ "BEKDetails": {
+ "description": "BEK is bitlocker encrpytion key.",
+ "type": "object",
+ "properties": {
+ "secretUrl": {
+ "description": "Secret is BEK.",
+ "type": "string"
+ },
+ "secretVaultId": {
+ "description": "ID of the Key Vault where this Secret is stored.",
+ "type": "string"
+ },
+ "secretData": {
+ "description": "BEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSBackupEngineQueryObject": {
+ "description": "Query parameters to fetch list of backup engines.",
+ "type": "object",
+ "properties": {
+ "expand": {
+ "description": "attribute to add extended info",
+ "type": "string"
+ }
+ }
+ },
+ "BMSBackupEnginesQueryObject": {
+ "description": "Query parameters to fetch list of backup engines.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backup engine.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup engine.",
+ "type": "string"
+ },
+ "expand": {
+ "description": "Attribute to add extended info.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSContainerQueryObject": {
+ "description": "The query filters that can be used with the list containers API.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "containerType": {
+ "description": "Type of container for filter",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": true
+ }
+ },
+ "backupEngineName": {
+ "description": "Backup engine name",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Fabric name for filter",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of registration of this container with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of this container.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSPOQueryObject": {
+ "description": "Filters to list items that can be backed up.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureSql",
+ "AzureBackupServer",
+ "AzureWorkload",
+ "AzureStorage",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Full name of the container whose Protectable Objects should be returned.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Backup status query parameter.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name.",
+ "type": "string"
+ }
+ }
+ },
+ "BMSRefreshContainersQueryObject": {
+ "description": "The query filters that can be used with the list containers API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BMSRPQueryObject": {
+ "description": "Filters to list backup copies.",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "format": "date-time",
+ "description": "Backup copies created after this time.",
+ "type": "string"
+ },
+ "endDate": {
+ "format": "date-time",
+ "description": "Backup copies created before this time.",
+ "type": "string"
+ },
+ "restorePointQueryType": {
+ "description": "RestorePoint type",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Log",
+ "Differential",
+ "FullAndDifferential",
+ "All"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestorePointQueryType",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.",
+ "type": "boolean"
+ }
+ }
+ },
+ "BMSWorkloadItemQueryObject": {
+ "description": "Filters to list items that can be backed up.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureSql",
+ "AzureBackupServer",
+ "AzureWorkload",
+ "AzureStorage",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadItemType": {
+ "description": "Workload Item type",
+ "enum": [
+ "Invalid",
+ "SQLInstance",
+ "SQLDataBase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadItemType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "protectionStatus": {
+ "description": "Backup status query parameter.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ClientScriptForConnect": {
+ "description": "Client script details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "scriptContent": {
+ "description": "File content of the client script for file / folder restore.",
+ "type": "string"
+ },
+ "scriptExtension": {
+ "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used",
+ "type": "string"
+ },
+ "scriptNameSuffix": {
+ "description": "Mandator suffix that should be added to the name of script that is given for download to user.\r\n If its null or empty then , ignore it.",
+ "type": "string"
+ }
+ }
+ },
+ "ContainerIdentityInfo": {
+ "description": "Container identity information",
+ "type": "object",
+ "properties": {
+ "uniqueName": {
+ "description": "Unique name of the container",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Protection container identity - AAD Tenant",
+ "type": "string"
+ },
+ "servicePrincipalClientId": {
+ "description": "Protection container identity - AAD Service Principal",
+ "type": "string"
+ },
+ "audience": {
+ "description": "Protection container identity - Audience",
+ "type": "string"
+ }
+ }
+ },
+ "DailyRetentionFormat": {
+ "description": "Daily retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheMonth": {
+ "description": "List of days of the month.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Day"
+ }
+ }
+ }
+ },
+ "DailyRetentionSchedule": {
+ "description": "Daily retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "Day": {
+ "description": "Day of the week.",
+ "type": "object",
+ "properties": {
+ "date": {
+ "format": "int32",
+ "description": "Date of the month",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ }
+ },
+ "DistributedNodesInfo": {
+ "description": "This is used to represent the various nodes of the distributed container.",
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "description": "Name of the node under a distributed container.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of this Node.\r\n Failed | Succeeded",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Details if the Status is non-success."
+ }
+ }
+ },
+ "DpmBackupEngine": {
+ "description": "Data Protection Manager (DPM) specific backup engine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEngineBase"
+ }
+ ],
+ "x-ms-discriminator-value": "DpmBackupEngine"
+ },
+ "DpmContainer": {
+ "description": "DPM workload-specific protection container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "canReRegister": {
+ "description": "Specifies whether the container is re-registrable.",
+ "type": "boolean"
+ },
+ "containerId": {
+ "description": "ID of container.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of protected items in the BackupEngine",
+ "type": "integer"
+ },
+ "dpmAgentVersion": {
+ "description": "Backup engine Agent version",
+ "type": "string"
+ },
+ "dpmServers": {
+ "description": "List of BackupEngines protecting the container",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "upgradeAvailable": {
+ "description": "To check if upgrade available",
+ "type": "boolean"
+ },
+ "protectionStatus": {
+ "description": "Protection status of the container.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMContainerExtendedInfo",
+ "description": "Extended Info of the container."
+ }
+ },
+ "x-ms-discriminator-value": "DPMContainer"
+ },
+ "DPMContainerExtendedInfo": {
+ "description": "Additional information of the DPMContainer.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time of the DPMContainer.",
+ "type": "string"
+ }
+ }
+ },
+ "DPMProtectedItem": {
+ "description": "Additional information on Backup engine specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the managed item",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Management server protecting this backup item",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protection state of the backupengine",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "isScheduledForDeferredDelete": {
+ "description": "To check if backup item is scheduled for deferred delete",
+ "type": "boolean"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
+ "description": "Extended info of the backup item."
+ }
+ },
+ "x-ms-discriminator-value": "DPMProtectedItem"
+ },
+ "DPMProtectedItemExtendedInfo": {
+ "description": "Additional information of DPM Protected item.",
+ "type": "object",
+ "properties": {
+ "protectableObjectLoadPath": {
+ "description": "Attribute to provide information on various DBs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protected": {
+ "description": "To check if backup item is disk protected.",
+ "type": "boolean"
+ },
+ "isPresentOnCloud": {
+ "description": "To check if backup item is cloud protected.",
+ "type": "boolean"
+ },
+ "lastBackupStatus": {
+ "description": "Last backup status information on backup item.",
+ "type": "string"
+ },
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time on backup item.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest cloud recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "cloud recovery point count.",
+ "type": "integer"
+ },
+ "onPremiseOldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseLatestRecoveryPoint": {
+ "format": "date-time",
+ "description": "latest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseRecoveryPointCount": {
+ "format": "int32",
+ "description": "disk recovery point count.",
+ "type": "integer"
+ },
+ "isCollocated": {
+ "description": "To check if backup item is collocated.",
+ "type": "boolean"
+ },
+ "protectionGroupName": {
+ "description": "Protection group name of the backup item.",
+ "type": "string"
+ },
+ "diskStorageUsedInBytes": {
+ "description": "Used Disk storage in bytes.",
+ "type": "string"
+ },
+ "totalDiskStorageSizeInBytes": {
+ "description": "total Disk storage in bytes.",
+ "type": "string"
+ }
+ }
+ },
+ "EncryptionDetails": {
+ "description": "Details needed if the VM was encrypted at the time of backup.",
+ "type": "object",
+ "properties": {
+ "encryptionEnabled": {
+ "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.",
+ "type": "boolean"
+ },
+ "kekUrl": {
+ "description": "Key Url.",
+ "type": "string"
+ },
+ "secretKeyUrl": {
+ "description": "Secret Url.",
+ "type": "string"
+ },
+ "kekVaultId": {
+ "description": "ID of Key Vault where KEK is stored.",
+ "type": "string"
+ },
+ "secretKeyVaultId": {
+ "description": "ID of Key Vault where Secret is stored.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "description": "Error Detail class which encapsulates Code, Message and Recommendations.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error Message related to the Code.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of recommendation strings.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "GenericContainer": {
+ "description": "Base class for generic container of backup items",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "fabricName": {
+ "description": "Name of the container's fabric",
+ "type": "string"
+ },
+ "extendedInformation": {
+ "$ref": "#/definitions/GenericContainerExtendedInfo",
+ "description": "Extended information (not returned in List container API calls)"
+ }
+ },
+ "x-ms-discriminator-value": "GenericContainer"
+ },
+ "GenericContainerExtendedInfo": {
+ "description": "Container extended information",
+ "type": "object",
+ "properties": {
+ "rawCertData": {
+ "description": "Public key of container cert",
+ "type": "string"
+ },
+ "containerIdentityInfo": {
+ "$ref": "#/definitions/ContainerIdentityInfo",
+ "description": "Container identity information"
+ },
+ "serviceEndpoints": {
+ "description": "Azure Backup Service Endpoints for the container",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "GenericProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectedItemId": {
+ "format": "int64",
+ "description": "Data Plane Service ID of the protected item.",
+ "type": "integer"
+ },
+ "sourceAssociations": {
+ "description": "Loosely coupled (type, value) associations (example - parent of a protected item)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "fabricName": {
+ "description": "Name of this backup item's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectedItem"
+ },
+ "GenericProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of this policy's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectionPolicy"
+ },
+ "GenericRecoveryPoint": {
+ "description": "Generic backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericRecoveryPoint"
+ },
+ "GetProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "expand": {
+ "description": "Specifies if the additional information should be provided for this item.",
+ "type": "string"
+ }
+ }
+ },
+ "IaasVMBackupRequest": {
+ "description": "IaaS VM workload-specific backup request.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointExpiryTimeInUTC": {
+ "format": "date-time",
+ "description": "Backup copy will expire after the time specified (UTC).",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMBackupRequest"
+ },
+ "IaaSVMContainer": {
+ "description": "IaaS VM workload-specific container.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "virtualMachineId": {
+ "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.",
+ "type": "string"
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name of Recovery Services Vault.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "IaaSVMContainer"
+ },
+ "IaasVMILRRegistrationRequest": {
+ "description": "Restore files/folders from a backup copy of IaaS VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ILRRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.",
+ "type": "string"
+ },
+ "initiatorName": {
+ "description": "iSCSI initiator name.",
+ "type": "string"
+ },
+ "renewExistingRegistration": {
+ "description": "Whether to renew existing registration with the iSCSI server.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMILRRegistrationRequest"
+ },
+ "IaaSVMProtectableItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkloadProtectableItem"
+ }
+ ],
+ "properties": {
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine.",
+ "type": "string"
+ }
+ }
+ },
+ "IaasVMRecoveryPoint": {
+ "description": "IaaS VM workload specific backup copy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "Type of the backup copy.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "Time at which this backup copy was created.",
+ "type": "string"
+ },
+ "recoveryPointAdditionalInfo": {
+ "description": "Additional information associated with this backup copy.",
+ "type": "string"
+ },
+ "sourceVMStorageType": {
+ "description": "Storage type of the VM whose backup copy is created.",
+ "type": "string"
+ },
+ "isSourceVMEncrypted": {
+ "description": "Identifies whether the VM was encrypted when the backup copy is created.",
+ "type": "boolean"
+ },
+ "keyAndSecret": {
+ "$ref": "#/definitions/KeyAndSecretDetails",
+ "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true."
+ },
+ "isInstantIlrSessionActive": {
+ "description": "Is the session to recover items from this backup copy still active.",
+ "type": "boolean"
+ },
+ "recoveryPointTierDetails": {
+ "description": "Recovery point tier information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointTierInformation"
+ }
+ },
+ "isManagedVirtualMachine": {
+ "description": "Whether VM is with Managed Disks",
+ "type": "boolean"
+ },
+ "virtualMachineSize": {
+ "description": "Virtual Machine Size",
+ "type": "string"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original SA Option",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRecoveryPoint"
+ },
+ "IaasVMRestoreRequest": {
+ "description": "IaaS VM workload-specific restore.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreRequest"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "ID of the backup copy to be recovered.",
+ "type": "string"
+ },
+ "recoveryType": {
+ "description": "Type of this recovery.",
+ "enum": [
+ "Invalid",
+ "OriginalLocation",
+ "AlternateLocation",
+ "RestoreDisks"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "Fully qualified ARM ID of the VM which is being recovered.",
+ "type": "string"
+ },
+ "targetVirtualMachineId": {
+ "description": "This is the complete ARM Id of the VM that will be created.\r\n For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\n For e.g. /subscriptions/{subId}/resourcegroups/{rg}",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.",
+ "type": "string"
+ },
+ "virtualNetworkId": {
+ "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\n User will be validated for join action permissions in the linked access.",
+ "type": "string"
+ },
+ "subnetId": {
+ "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent the subnet.",
+ "type": "string"
+ },
+ "targetDomainNameId": {
+ "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic Virtual Machines.",
+ "type": "string"
+ },
+ "region": {
+ "description": "Region in which the virtual machine is restored.",
+ "type": "string"
+ },
+ "affinityGroup": {
+ "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.",
+ "type": "string"
+ },
+ "createNewCloudService": {
+ "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same cloud service as it was at the time of backup.",
+ "type": "boolean"
+ },
+ "originalStorageAccountOption": {
+ "description": "Original SA Option",
+ "type": "boolean"
+ },
+ "encryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Details needed if the VM was encrypted at the time of backup."
+ }
+ },
+ "x-ms-discriminator-value": "IaasVMRestoreRequest"
+ },
+ "ILRRequest": {
+ "description": "Parameters to restore file/folders API.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ILRRequestResource": {
+ "description": "Parameters to restore file/folders API.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ILRRequest",
+ "description": "ILRRequestResource properties"
+ }
+ }
+ },
+ "InquiryInfo": {
+ "description": "Details about inquired protectable items under a given container.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Inquiry Status for this container such as \r\n InProgress | Failed | Succeeded",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Details if the Status is non-success."
+ },
+ "inquiryDetails": {
+ "description": "Inquiry Details which will have workload specific details. \r\n For e.g. - For SQL and oracle this will contain different details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadInquiryDetails"
+ }
+ }
+ }
+ },
+ "InquiryValidation": {
+ "description": "Validation for inquired protectable items under a given container.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status for the Inquiry Validation.",
+ "type": "string"
+ },
+ "errorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error Detail in case the status is non-success."
+ }
+ }
+ },
+ "InstantItemRecoveryTarget": {
+ "description": "Target details for file / folder restore.",
+ "type": "object",
+ "properties": {
+ "clientScripts": {
+ "description": "List of client scripts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientScriptForConnect"
+ }
+ }
+ }
+ },
+ "KEKDetails": {
+ "description": "KEK is encryption key for BEK.",
+ "type": "object",
+ "properties": {
+ "keyUrl": {
+ "description": "Key is KEK.",
+ "type": "string"
+ },
+ "keyVaultId": {
+ "description": "Key Vault ID where this Key is stored.",
+ "type": "string"
+ },
+ "keyBackupData": {
+ "description": "KEK data.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyAndSecretDetails": {
+ "description": "BEK is bitlocker key.\r\n KEK is encryption key for BEK\r\n If the VM was encrypted then we will store follwing details :\r\n 1. Secret(BEK) - Url + Backup Data + vaultId.\r\n 2. Key(KEK) - Url + Backup Data + vaultId.\r\n BEK and KEK can potentiallty have different vault ids.",
+ "type": "object",
+ "properties": {
+ "kekDetails": {
+ "$ref": "#/definitions/KEKDetails",
+ "description": "KEK is encryption key for BEK."
+ },
+ "bekDetails": {
+ "$ref": "#/definitions/BEKDetails",
+ "description": "BEK is bitlocker encrpytion key."
+ }
+ }
+ },
+ "LogSchedulePolicy": {
+ "description": "Log policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleFrequencyInMins": {
+ "format": "int32",
+ "description": "Frequency of the log schedule operation of this policy in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "LogSchedulePolicy"
+ },
+ "LongTermRetentionPolicy": {
+ "description": "Long term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "dailySchedule": {
+ "$ref": "#/definitions/DailyRetentionSchedule",
+ "description": "Daily retention schedule of the protection policy."
+ },
+ "weeklySchedule": {
+ "$ref": "#/definitions/WeeklyRetentionSchedule",
+ "description": "Weekly retention schedule of the protection policy."
+ },
+ "monthlySchedule": {
+ "$ref": "#/definitions/MonthlyRetentionSchedule",
+ "description": "Monthly retention schedule of the protection policy."
+ },
+ "yearlySchedule": {
+ "$ref": "#/definitions/YearlyRetentionSchedule",
+ "description": "Yearly retention schedule of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "LongTermRetentionPolicy"
+ },
+ "LongTermSchedulePolicy": {
+ "description": "Long term policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ]
+ },
+ "MabContainer": {
+ "description": "Container with items backed up using MAB backup engine.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ ],
+ "properties": {
+ "canReRegister": {
+ "description": "Can the container be registered one more time.",
+ "type": "boolean"
+ },
+ "containerId": {
+ "format": "int64",
+ "description": "ContainerID represents the container.",
+ "type": "integer"
+ },
+ "protectedItemCount": {
+ "format": "int64",
+ "description": "Number of items backed up in this container.",
+ "type": "integer"
+ },
+ "agentVersion": {
+ "description": "Agent version of this container.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabContainerExtendedInfo",
+ "description": "Additional information for this container"
+ },
+ "mabContainerHealthDetails": {
+ "description": "Health details on this mab container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MABContainerHealthDetails"
+ }
+ },
+ "containerHealthState": {
+ "description": "Health state of mab container.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "MABWindowsContainer"
+ },
+ "MabContainerExtendedInfo": {
+ "description": "Additional information of the container.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Time stamp when this container was refreshed.",
+ "type": "string"
+ },
+ "backupItemType": {
+ "description": "Type of backup items associated with this container.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupItemType",
+ "modelAsString": true
+ }
+ },
+ "backupItems": {
+ "description": "List of backup items associated with this container.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "policyName": {
+ "description": "Backup policy associated with this container.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Latest backup status of this container.",
+ "type": "string"
+ }
+ }
+ },
+ "MABContainerHealthDetails": {
+ "description": "MAB workload-specific Health Details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string"
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "MabFileFolderProtectedItem": {
+ "description": "MAB workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of this backup item.",
+ "type": "string"
+ },
+ "computerName": {
+ "description": "Name of the computer associated with this backup item.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Status of last backup operation.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
+ "type": "string"
+ },
+ "isScheduledForDeferredDelete": {
+ "description": "Specifies if the item is scheduled for deferred deletion.",
+ "type": "boolean"
+ },
+ "deferredDeleteSyncTimeInUTC": {
+ "format": "int64",
+ "description": "Sync time for deferred deletion.",
+ "type": "integer"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "MabFileFolderProtectedItem"
+ },
+ "MabFileFolderProtectedItemExtendedInfo": {
+ "description": "Additional information on the backed up item.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last time when the agent data synced to service.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies associated with the backup item.",
+ "type": "integer"
+ }
+ }
+ },
+ "MabProtectionPolicy": {
+ "description": "Mab container-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "MAB"
+ },
+ "MonthlyRetentionSchedule": {
+ "description": "Monthly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format type for monthly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for monthly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for monthly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "Object": {
+ "description": "Base of all objects.",
+ "type": "object"
+ },
+ "OperationStatus": {
+ "description": "Operation status.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "ID of the operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationStatusValues",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Operation start time. Format: ISO-8601.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Operation end time. Format: ISO-8601.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/OperationStatusError",
+ "description": "Error information related to this operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationStatusExtendedInfo",
+ "description": "Additional information associated with this operation."
+ }
+ }
+ },
+ "OperationStatusError": {
+ "description": "Error information associated with operation status call.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code of the operation failure.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message displayed if the operation failure.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationStatusExtendedInfo": {
+ "description": "Base class for additional information of operation status.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "OperationStatusJobExtendedInfo": {
+ "description": "Operation status job extended info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "jobId": {
+ "description": "ID of the job created for this protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusJobExtendedInfo"
+ },
+ "OperationStatusJobsExtendedInfo": {
+ "description": "Operation status extended info for list of jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "jobIds": {
+ "description": "IDs of the jobs created for the protected item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "failedJobsError": {
+ "description": "Stores all the failed jobs along with the corresponding error codes.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo"
+ },
+ "OperationStatusProvisionILRExtendedInfo": {
+ "description": "Operation status extended info for ILR provision action.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationStatusExtendedInfo"
+ }
+ ],
+ "properties": {
+ "recoveryTarget": {
+ "$ref": "#/definitions/InstantItemRecoveryTarget",
+ "description": "Target details for file / folder restore."
+ }
+ },
+ "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo"
+ },
+ "PointInTimeRange": {
+ "description": "Provides details for log ranges",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the time range for log recovery.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of the time range for log recovery.",
+ "type": "string"
+ }
+ }
+ },
+ "PreBackupValidation": {
+ "description": "Pre-backup validation for Azure VM Workload provider.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed",
+ "enum": [
+ "Invalid",
+ "Success",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InquiryStatus",
+ "modelAsString": true
+ }
+ },
+ "code": {
+ "description": "Error code of protectable item",
+ "type": "string"
+ },
+ "message": {
+ "description": "Message corresponding to the error code for the protectable item",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectableContainer": {
+ "description": "Protectable Container Class.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup managemenent for the container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "protectableContainerType": {
+ "description": "Type of the container. The value of this property for\r\n 1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": false
+ }
+ },
+ "healthStatus": {
+ "description": "Status of health of the container.",
+ "type": "string"
+ },
+ "containerId": {
+ "description": "Fabric Id of the container such as ARM Id.",
+ "type": "string"
+ }
+ },
+ "discriminator": "protectableContainerType"
+ },
+ "ProtectableContainerResource": {
+ "description": "Protectable Container Class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectableContainer",
+ "description": "ProtectableContainerResource properties"
+ }
+ }
+ },
+ "ProtectableContainerResourceList": {
+ "description": "List of ProtectableContainer resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectableContainerResource"
+ }
+ }
+ }
+ },
+ "ProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "properties": {
+ "protectedItemType": {
+ "description": "backup item type.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup managemenent for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Unique name of container",
+ "type": "string"
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "lastRecoveryPoint": {
+ "format": "date-time",
+ "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set the backup item belongs to",
+ "type": "string"
+ }
+ },
+ "discriminator": "protectedItemType"
+ },
+ "ProtectedItemResource": {
+ "description": "Base class for backup items.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectedItem",
+ "description": "ProtectedItemResource properties"
+ }
+ }
+ },
+ "ProtectionContainer": {
+ "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup managemenent for the container.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "registrationStatus": {
+ "description": "Status of registration of the container with the Recovery Services Vault.",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Status of health of the container.",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload Backup is VMAppContainer",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "containerType"
+ },
+ "ProtectionContainerResource": {
+ "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainer",
+ "description": "ProtectionContainerResource properties"
+ }
+ }
+ },
+ "ProtectionContainerResourceList": {
+ "description": "List of ProtectionContainer resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainerResource"
+ }
+ }
+ }
+ },
+ "ProtectionPolicy": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of items associated with this policy.",
+ "type": "integer"
+ },
+ "backupManagementType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "backupManagementType"
+ },
+ "ProtectionPolicyResource": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionPolicy",
+ "description": "ProtectionPolicyResource properties"
+ }
+ }
+ },
+ "RecoveryPoint": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RecoveryPointResource": {
+ "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPoint",
+ "description": "RecoveryPointResource properties"
+ }
+ }
+ },
+ "RecoveryPointResourceList": {
+ "description": "List of RecoveryPoint resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPointResource"
+ }
+ }
+ }
+ },
+ "RecoveryPointTierInformation": {
+ "description": "Recovery point tier information.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Recovery point tier type.",
+ "enum": [
+ "Invalid",
+ "InstantRP",
+ "HardenedRP"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierType",
+ "modelAsString": false
+ }
+ },
+ "status": {
+ "description": "Recovery point tier status.",
+ "enum": [
+ "Invalid",
+ "Valid",
+ "Disabled",
+ "Deleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointTierStatus",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM Resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceList": {
+ "description": "Base for all lists of resources.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreFileSpecs": {
+ "description": "Restore file specs like file path, type and target folder path info.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "Source File/Folder path",
+ "type": "string"
+ },
+ "fileSpecType": {
+ "description": "Indicates what the Path variable stands for",
+ "type": "string"
+ },
+ "targetFolderPath": {
+ "description": "Destination folder path in target FileShare",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreRequest": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "RestoreRequestResource": {
+ "description": "Base class for restore request. Workload-specific restore requests are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RestoreRequest",
+ "description": "RestoreRequestResource properties"
+ }
+ }
+ },
+ "RetentionDuration": {
+ "description": "Retention duration.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "format": "int32",
+ "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\n For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
+ "type": "integer"
+ },
+ "durationType": {
+ "description": "Retention duration type of retention policy.",
+ "enum": [
+ "Invalid",
+ "Days",
+ "Weeks",
+ "Months",
+ "Years"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionDurationType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "Base class for retention policy.",
+ "required": [
+ "retentionPolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "retentionPolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "retentionPolicyType"
+ },
+ "SchedulePolicy": {
+ "description": "Base class for backup schedule.",
+ "required": [
+ "schedulePolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "schedulePolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "schedulePolicyType"
+ },
+ "Settings": {
+ "description": "Common settings field for backup management",
+ "type": "object",
+ "properties": {
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "issqlcompression": {
+ "description": "SQL compression flag",
+ "type": "boolean"
+ }
+ }
+ },
+ "SimpleRetentionPolicy": {
+ "description": "Simple policy retention.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "SimpleRetentionPolicy"
+ },
+ "SimpleSchedulePolicy": {
+ "description": "Simple policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleRunFrequency": {
+ "description": "Frequency of the schedule operation of this policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduleRunType",
+ "modelAsString": true
+ }
+ },
+ "scheduleRunDays": {
+ "description": "List of days of week this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "scheduleRunTimes": {
+ "description": "List of times of day this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "scheduleWeeklyFrequency": {
+ "format": "int32",
+ "description": "At every number weeks this schedule has to be run.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "SimpleSchedulePolicy"
+ },
+ "SQLDataDirectory": {
+ "description": "SQLDataDirectory info",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "path": {
+ "description": "File path",
+ "type": "string"
+ },
+ "logicalName": {
+ "description": "Logical name of the file",
+ "type": "string"
+ }
+ }
+ },
+ "SQLDataDirectoryMapping": {
+ "description": "Encapsulates information regarding data directory",
+ "type": "object",
+ "properties": {
+ "mappingType": {
+ "description": "Type of data directory mapping",
+ "enum": [
+ "Invalid",
+ "Data",
+ "Log"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SQLDataDirectoryType",
+ "modelAsString": true
+ }
+ },
+ "sourceLogicalName": {
+ "description": "Restore source logical name path",
+ "type": "string"
+ },
+ "sourcePath": {
+ "description": "Restore source path",
+ "type": "string"
+ },
+ "targetPath": {
+ "description": "Target path",
+ "type": "string"
+ }
+ }
+ },
+ "SubProtectionPolicy": {
+ "description": "Sub-protection policy which includes schedule and retention",
+ "type": "object",
+ "properties": {
+ "policyType": {
+ "description": "Type of backup policy type",
+ "type": "string"
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ }
+ }
+ },
+ "TargetAFSRestoreInfo": {
+ "description": "Target Azure File Share Info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "File share name",
+ "type": "string"
+ },
+ "targetResourceId": {
+ "description": "Target file share resource ARM ID",
+ "type": "string"
+ }
+ }
+ },
+ "TargetRestoreInfo": {
+ "description": "Details about target workload during restore operation.",
+ "type": "object",
+ "properties": {
+ "overwriteOption": {
+ "description": "Can Overwrite if Target DataBase already exists",
+ "enum": [
+ "Invalid",
+ "FailOnConflict",
+ "Overwrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OverwriteOptions",
+ "modelAsString": true
+ }
+ },
+ "containerId": {
+ "description": "Resource Id name of the container in which Target DataBase resides",
+ "type": "string"
+ },
+ "databaseName": {
+ "description": "Database name SQL InstanceName/DataBaseName",
+ "type": "string"
+ }
+ }
+ },
+ "TokenInformation": {
+ "description": "The token information details.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "Token value.",
+ "type": "string"
+ },
+ "expiryTimeInUtcTicks": {
+ "format": "int64",
+ "description": "Expiry time of token.",
+ "type": "integer"
+ },
+ "securityPIN": {
+ "description": "Security PIN",
+ "type": "string"
+ }
+ }
+ },
+ "WeeklyRetentionFormat": {
+ "description": "Weekly retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of the week.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "weeksOfTheMonth": {
+ "description": "List of weeks of month.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Last"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WeekOfMonth",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "WeeklyRetentionSchedule": {
+ "description": "Weekly retention schedule.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of week for weekly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "WorkloadInquiryDetails": {
+ "description": "Details of an inquired protectable item.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of the Workload such as SQL, Oracle etc.",
+ "type": "string"
+ },
+ "itemCount": {
+ "format": "int64",
+ "description": "Contains the protectable item Count inside this Container.",
+ "type": "integer"
+ },
+ "inquiryValidation": {
+ "$ref": "#/definitions/InquiryValidation",
+ "description": "Inquiry validation such as permissions and other backup validations."
+ }
+ }
+ },
+ "WorkloadItem": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Type of backup managemenent to backup an item.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "workloadItemType": {
+ "description": "Type of the backup item.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "State of the back up item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "workloadItemType"
+ },
+ "WorkloadItemResource": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WorkloadItem",
+ "description": "WorkloadItemResource properties"
+ }
+ }
+ },
+ "WorkloadItemResourceList": {
+ "description": "List of WorkloadItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadItemResource"
+ }
+ }
+ }
+ },
+ "WorkloadProtectableItem": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Type of backup managemenent to backup an item.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "protectableItemType": {
+ "description": "Type of the backup item.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "State of the back up item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "protectableItemType"
+ },
+ "WorkloadProtectableItemResource": {
+ "description": "Base class for backup item. Workload-specific backup items are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WorkloadProtectableItem",
+ "description": "WorkloadProtectableItemResource properties"
+ }
+ }
+ },
+ "WorkloadProtectableItemResourceList": {
+ "description": "List of WorkloadProtectableItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkloadProtectableItemResource"
+ }
+ }
+ }
+ },
+ "YearlyRetentionSchedule": {
+ "description": "Yearly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format for yearly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "monthsOfYear": {
+ "description": "List of months of year of yearly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonthOfYear",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for yearly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for yearly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "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/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/BackupProtectableItems_List.json
new file mode 100644
index 000000000000..0174649c13d7
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/BackupProtectableItems_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2016-06-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionState": "NotProtected",
+ "protectableItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..65308045dd57
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
new file mode 100644
index 000000000000..c0723d0e5547
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json
new file mode 100644
index 000000000000..b99c2a74ba2e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "protectedItemType": "Microsoft.Compute/virtualMachines",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
new file mode 100644
index 000000000000..576cbb12a519
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json
new file mode 100644
index 000000000000..ab46b68e3e7e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "Succeeded",
+ "startTime": "2017-10-29T06:04:18.207325Z",
+ "endTime": "2017-10-29T06:04:18.207325Z",
+ "properties": {
+ "objectType": "OperationStatusJobExtendedInfo",
+ "jobId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..54fd76d0b2b5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,182 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2016-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Wednesday",
+ "Thursday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Wednesday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "First",
+ "Third"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "February",
+ "November"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Monday",
+ "Thursday"
+ ],
+ "weeksOfTheMonth": [
+ "Fourth"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 4,
+ "durationType": "Years"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
new file mode 100644
index 000000000000..204fc3a0e718
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2016-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "timeZone": "Pacific Standard Time",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json
new file mode 100644
index 000000000000..b8d69f978276
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
new file mode 100644
index 000000000000..42c2c507d70a
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
new file mode 100644
index 000000000000..09d3e895a218
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 1
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json
new file mode 100644
index 000000000000..e0a10121c762
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "GetProtectionPolicyOperationStatus",
+ "status": "Succeeded",
+ "startTime": "2018-01-24T12:57:32.1142968Z",
+ "endTime": "2018-01-24T12:57:32.1142968Z",
+ "properties": {
+ "objectType": "OperationStatusJobsExtendedInfo",
+ "jobIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "failedJobsError": {}
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Provision_Ilr.json
new file mode 100644
index 000000000000..628989cbe826
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Provision_Ilr.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "initiatorName": "Hello World",
+ "recoveryPointId": "38823086363464",
+ "renewExistingRegistration": true,
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1",
+ "objectType": "IaasVMILRRegistrationRequest"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..2e50b69963dc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "recoveryPointId": "26083826328862",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862",
+ "name": "26083826328862",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-11-22T22:32:46.6088472Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": 2,
+ "status": 1
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json
new file mode 100644
index 000000000000..0004f3af7822
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rshhtestmdvmrg",
+ "vaultName": "rshvault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382",
+ "name": "22244821112382",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-21T22:48:25.4353958Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": 1,
+ "status": 1
+ },
+ {
+ "type": 2,
+ "status": 1
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250",
+ "name": "24977149827250",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
+ "properties": {
+ "objectType": "IaasVMRecoveryPoint",
+ "recoveryPointType": "CrashConsistent",
+ "recoveryPointTime": "2017-12-20T22:49:44.3317945Z",
+ "recoveryPointAdditionalInfo": "",
+ "sourceVMStorageType": "NormalStorage",
+ "isSourceVMEncrypted": false,
+ "isInstantIlrSessionActive": false,
+ "recoveryPointTierDetails": [
+ {
+ "type": 1,
+ "status": 1
+ },
+ {
+ "type": 2,
+ "status": 1
+ }
+ ],
+ "isManagedVirtualMachine": true,
+ "virtualMachineSize": "Standard_D1",
+ "originalStorageAccountOption": false
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Revoke_Ilr.json
new file mode 100644
index 000000000000..3387f4e52591
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Revoke_Ilr.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json
new file mode 100644
index 000000000000..9d9f5af3a0db
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "AlternateLocation",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435",
+ "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount",
+ "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
+ "region": "southeastasia",
+ "createNewCloudService": false,
+ "originalStorageAccountOption": false,
+ "api-version": "2016-12-01",
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
new file mode 100644
index 000000000000..66ad351c02e8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "netsdktestrg",
+ "vaultName": "testVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1",
+ "recoveryPointId": "348916168024334",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "recoveryPointId": "348916168024334",
+ "recoveryType": "RestoreDisks",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1",
+ "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "region": "southeastasia",
+ "createNewCloudService": true,
+ "originalStorageAccountOption": false,
+ "api-version": "2016-12-01",
+ "encryptionDetails": {
+ "encryptionEnabled": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectableContainers_List.json
new file mode 100644
index 000000000000..c71aee44cb3f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectableContainers_List.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "api-version": "2017-07-01",
+ "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage",
+ "name": "StorageContainer;storage;test-rg;testst",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
+ "properties": {
+ "friendlyName": "teststorage",
+ "backupManagementType": "AzureStorage",
+ "protectableContainerType": "StorageContainer",
+ "healthStatus": "Healthy",
+ "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage",
+ "name": "StorageContainer;ClassicStorage;test-rg;teststorage",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
+ "properties": {
+ "friendlyName": "teststorage",
+ "backupManagementType": "AzureStorage",
+ "protectableContainerType": "StorageContainer",
+ "healthStatus": "Healthy",
+ "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire.json
new file mode 100644
index 000000000000..6d847ab29f93
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "storagecontainer;Storage;test-rg;teststorage",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json
new file mode 100644
index 000000000000..7088f33d918f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "storagecontainer;Storage;test-rg;teststorage",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "204": {
+ "headers": {},
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Register.json
new file mode 100644
index 000000000000..9090de3a0851
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Register.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "vaultName": "testvault",
+ "fabricName": "Azure",
+ "containerName": "storagecontainer;Storage;test-rg;teststorage",
+ "api-version": "2017-07-01",
+ "parameters": {
+ "properties": {
+ "friendlyName": "teststorage",
+ "backupManagementType": "AzureStorage",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage",
+ "containerType": "StorageContainer"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/BackupWorkloadItems_List.json
new file mode 100644
index 000000000000..a2fb4b3635d5
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/BackupWorkloadItems_List.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2016-12-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'",
+ "backupFabrics": "Azure",
+ "protectionContainers": "VMAppContainer;Compute;testRG;testSQL"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "backupManagementType": "AzureWorkload",
+ "dataDirectoryPaths": [
+ {
+ "type": "Data",
+ "path": "F:\\Data\\",
+ "logicalName": null
+ },
+ {
+ "type": "Log",
+ "path": "F:\\Log\\",
+ "logicalName": null
+ }
+ ],
+ "name": null,
+ "id": null,
+ "status": {
+ "name": null,
+ "displayName": null,
+ "infoText": null,
+ "severity": null,
+ "operationState": null
+ },
+ "type": null,
+ "location": null,
+ "friendlyName": "MSSQLSERVER",
+ "resourceGroup": null,
+ "resourceName": null,
+ "subscriptionId": null,
+ "providerName": null,
+ "resourceType": null
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Get.json
new file mode 100644
index 000000000000..167edab5153f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Get.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2016-12-01",
+ "protectionContainers": "VMAppContainer;Compute;testRG;testSQL",
+ "backupFabrics": "Azure",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "resultArray": [
+ {
+ "hostServerName": "testsql",
+ "backupReadiness": "Success",
+ "backupReadinessText": "Ready",
+ "registrationStatus": "Registered",
+ "details": "14 DB(s) Found",
+ "nodeList": [],
+ "inquiryInfo": {
+ "status": "Success",
+ "errorDetails": {
+ "errorCode": "Success",
+ "errorString": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ },
+ "workloadInquiryDetails": [
+ {
+ "type": "sql",
+ "itemCount": 14,
+ "inquiryValidation": {
+ "status": "Success",
+ "errorDetails": {
+ "errorCode": "Success",
+ "errorString": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "inquiryErrorDetails": null,
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "sourceResourceRG": "testRG",
+ "backupManagementType": "AzureWorkload",
+ "workloadType": null,
+ "containerType": "VMAppContainer",
+ "containerId": null,
+ "containerName": null,
+ "name": "VMAppContainer;Compute;testRG;testSQL",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL",
+ "status": null,
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "location": null,
+ "friendlyName": "testSQL",
+ "resourceGroup": "testRg",
+ "resourceName": "testVault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerName": "Microsoft.RecoveryServices",
+ "resourceType": "vaults"
+ }
+ ],
+ "totalCount": 0,
+ "continuationToken": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_List.json
new file mode 100644
index 000000000000..0e161879a745
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_List.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2016-12-01",
+ "backupFabrics": "Azure",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "resultArray": [
+ {
+ "hostServerName": "testsql",
+ "backupReadiness": "Success",
+ "backupReadinessText": "Ready",
+ "registrationStatus": "Registered",
+ "details": "14 DB(s) Found",
+ "nodeList": [],
+ "inquiryInfo": {
+ "status": "Success",
+ "errorDetails": {
+ "errorCode": "Success",
+ "errorString": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ },
+ "workloadInquiryDetails": [
+ {
+ "type": "sql",
+ "itemCount": 14,
+ "inquiryValidation": {
+ "status": "Success",
+ "errorDetails": {
+ "errorCode": "Success",
+ "errorString": "Not Available",
+ "recommendations": [
+ "Not Available"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "inquiryErrorDetails": null,
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL",
+ "sourceResourceRG": "testRG",
+ "backupManagementType": "AzureWorkload",
+ "workloadType": null,
+ "containerType": "VMAppContainer",
+ "containerId": null,
+ "containerName": null,
+ "name": "VMAppContainer;Compute;testRG;testSQL",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL",
+ "status": null,
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
+ "location": null,
+ "friendlyName": "testSQL",
+ "resourceGroup": "testRg",
+ "resourceName": "testVault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerName": "Microsoft.RecoveryServices",
+ "resourceType": "vaults"
+ }
+ ],
+ "totalCount": 0,
+ "continuationToken": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Unregister.json
new file mode 100644
index 000000000000..5fc473533894
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Unregister.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRg",
+ "vaultName": "testVault",
+ "api-version": "2016-12-01",
+ "backupFabrics": "Azure",
+ "protectionContainers": "VMAppContainer;Compute;testRG;testSQL"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testVault",
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "status": {
+ "name": null,
+ "displayName": null,
+ "infoText": null,
+ "severity": null,
+ "operationState": "InProgress"
+ },
+ "type": null,
+ "location": null,
+ "friendlyName": "testVault",
+ "resourceGroup": "testRg",
+ "resourceName": "testVault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "providerName": "Microsoft.RecoveryServices",
+ "resourceType": "vaults"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
new file mode 100644
index 000000000000..787d14953a62
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json
@@ -0,0 +1,261 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "policyName": "testPolicy1",
+ "api-version": "2016-06-01",
+ "parameters": {
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleRunDays": [
+ "Friday"
+ ]
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "Pacific Standard Time",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "weeklySchedule": {
+ "daysOfTheWeek": [
+ "Sunday",
+ "Tuesday"
+ ],
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 2,
+ "durationType": "Weeks"
+ }
+ },
+ "monthlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Second"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Months"
+ }
+ },
+ "yearlySchedule": {
+ "retentionScheduleFormatType": "Weekly",
+ "monthsOfYear": [
+ "January",
+ "June",
+ "December"
+ ],
+ "retentionScheduleWeekly": {
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "weeksOfTheMonth": [
+ "Last"
+ ]
+ },
+ "retentionTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Years"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Differential",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Weekly",
+ "scheduleRunDays": [
+ "Friday"
+ ],
+ "scheduleRunTimes": [
+ "2018-01-24T10:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 8,
+ "durationType": "Days"
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 7,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json
new file mode 100644
index 000000000000..0721b809f1e0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json
new file mode 100644
index 000000000000..5d29d3ca4939
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig",
+ "name": "vaultconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupconfig",
+ "properties": {
+ "enhancedSecurityState": "Enabled"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupSecurityPin_Get.json
new file mode 100644
index 000000000000..6f6cedcb1d36
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupSecurityPin_Get.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "SwaggerTest",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "200432",
+ "expiryTimeInUtcTicks": 636495150137443121,
+ "securityPIN": "200432"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json
new file mode 100644
index 000000000000..b5cb409e9db9
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig",
+ "name": "vaultstorageconfig",
+ "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig",
+ "properties": {
+ "storageModelType": "GeoRedundant",
+ "storageType": "GeoRedundant",
+ "storageTypeState": "Locked"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json
new file mode 100644
index 000000000000..31f994191f35
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "headers": {},
+ "body": null
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json
new file mode 100644
index 000000000000..25b7250ef94e
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "204": {
+ "headers": {},
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json
new file mode 100644
index 000000000000..6434eef94b95
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationResult.json
new file mode 100644
index 000000000000..0cc2c93ab587
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationResult.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": null
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationStatus.json
new file mode 100644
index 000000000000..1ff5ed0ee182
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationStatus.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "InProgress",
+ "startTime": "2017-08-03T06:52:53.886027Z",
+ "endTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers.json
new file mode 100644
index 000000000000..ef41f6d124d0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers_OperationResults.json
new file mode 100644
index 000000000000..6f166c68b87f
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers_OperationResults.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "fabricName": "Azure",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": null
+ },
+ "204": {
+ "headers": {},
+ "body": null
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerBackup_Post.json
new file mode 100644
index 000000000000..470fcf0e23c1
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerBackup_Post.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "linuxRsVaultRG",
+ "vaultName": "linuxRsVault",
+ "fabricName": "Azure",
+ "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r",
+ "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "objectType": "IaasVMBackupRequest"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json
new file mode 100644
index 000000000000..ba3a2b2c7242
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ },
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_Get.json
new file mode 100644
index 000000000000..8af1364bae5d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "backupEngineName": "testServer",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer",
+ "name": "testServer",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9532.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_List.json
new file mode 100644
index 000000000000..bb9b2a235a90
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2016-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1",
+ "name": "testServer1",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9532.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer1",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5",
+ "name": "testServer5",
+ "type": "Microsoft.RecoveryServices/vaults/backupEngines",
+ "properties": {
+ "backupEngineType": "DpmBackupEngine",
+ "dpmVersion": "5.1.348.0",
+ "isDpmUpgradeAvailable": false,
+ "azureBackupAgentVersion": "2.0.9530.0",
+ "isAzureBackupAgentUpgradeAvailable": false,
+ "registrationStatus": "Registered",
+ "backupEngineState": "Active",
+ "friendlyName": "testServer5",
+ "extendedInfo": {
+ "protectedItemsCount": 35,
+ "protectedServersCount": 21,
+ "diskCount": 5,
+ "availableDiskSpace": 50,
+ "usedDiskSpace": 20
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json
new file mode 100644
index 000000000000..3fbee179c06c
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json
@@ -0,0 +1,3595 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2017-07-01",
+ "title": "RecoveryServicesBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": {
+ "post": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "summary": "It will validate followings\r\n 1. Vault capacity\r\n 2. VM is already protected\r\n 3. Any VM related configuration passed in properties.",
+ "operationId": "ProtectionIntent_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Enable backup validation request on Virtual Machine",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PreValidateEnableBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PreValidateEnableBackupResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Validate Enable Protection on Azure Vm": {
+ "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": {
+ "post": {
+ "tags": [
+ "BackupStatus"
+ ],
+ "summary": "Get the container backup status",
+ "operationId": "BackupStatus_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Container Backup Status Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupStatusRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupStatusResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Azure Virtual Machine Backup Status": {
+ "$ref": "./examples/AzureIaasVm/GetBackupStatus.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": {
+ "post": {
+ "tags": [
+ "FeatureSupport"
+ ],
+ "summary": "It will validate if given feature with resource properties is supported in service",
+ "operationId": "FeatureSupport_Validate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AzureRegion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Feature support request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Check Azure Vm Backup Feature Support": {
+ "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": {
+ "put": {
+ "tags": [
+ "ProtectionIntent"
+ ],
+ "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.",
+ "operationId": "ProtectionIntent_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name associated with the backup item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Intent object name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "resource backed up item",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionIntentResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Create or Update Azure Vm Protection Intent": {
+ "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": {
+ "get": {
+ "tags": [
+ "BackupJobs"
+ ],
+ "description": "Provides a pageable list of jobs.",
+ "operationId": "BackupJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List All Jobs": {
+ "$ref": "./examples/Common/ListJobs.json"
+ },
+ "List Jobs With Filters": {
+ "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json"
+ },
+ "List Jobs With Time Filter": {
+ "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": {
+ "get": {
+ "tags": [
+ "JobDetails"
+ ],
+ "description": "Gets exteded information associated with the job.",
+ "operationId": "JobDetails_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Name of the job whose details are to be fetched.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Get Job Details": {
+ "$ref": "./examples/Common/GetJobDetails.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "ExportJobsOperationResults"
+ ],
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
+ "operationId": "ExportJobsOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "OperationID which represents the export job.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/OperationResultInfoBaseResource"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "Export Jobs Operation Results": {
+ "$ref": "./examples/Common/ExportJobsOperationResult.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Triggers export of jobs specified by filters and returns an OperationID to track.",
+ "operationId": "Jobs_Export",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/JobQueryObject",
+ "x-ms-examples": {
+ "Export Jobs": {
+ "$ref": "./examples/Common/TriggerExoprtJobs.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch scoped results.",
+ "operationId": "BackupPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionPolicyResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protection policies with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json"
+ },
+ "List protection policies with backupManagementType filter as AzureWorkload": {
+ "$ref": "./examples/AzureWorkload/BackupPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": {
+ "get": {
+ "tags": [
+ "BackupProtectedItems"
+ ],
+ "description": "Provides a pageable list of all items that are backed up within a vault.",
+ "operationId": "BackupProtectedItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectedItemResourceList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/ProtectedItemQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List protected items with backupManagementType filter as AzureIaasVm": {
+ "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": {
+ "get": {
+ "tags": [
+ "BackupUsageSummaries"
+ ],
+ "description": "Fetches the backup management usage summaries of the vault.",
+ "operationId": "BackupUsageSummaries_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupManagementUsageList"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Get Protected Items Usages Summary": {
+ "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json"
+ },
+ "Get Protected Containers Usages Summary": {
+ "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AzureFileshareProtectedItem": {
+ "description": "Azure File Share workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fileshare represented by this backup item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "backups running status for this backup item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileShareProtectedItem"
+ },
+ "AzureFileshareProtectedItemExtendedInfo": {
+ "description": "Additional information about Azure File Share backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureFileShareProtectionPolicy": {
+ "description": "AzureStorage backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureStorage"
+ },
+ "AzureIaaSClassicComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines"
+ },
+ "AzureIaaSComputeVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines"
+ },
+ "AzureIaaSVMErrorInfo": {
+ "description": "Azure IaaS VM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureIaaSVMHealthDetails": {
+ "description": "Azure IaaS VM workload-specific Health Details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Health Code",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Health Title",
+ "type": "string"
+ },
+ "message": {
+ "description": "Health Message",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "Health Recommended Actions",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureIaaSVMJob": {
+ "description": "Azure IaaS VM workload-specifc job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMErrorInfo"
+ }
+ },
+ "virtualMachineVersion": {
+ "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMJob"
+ },
+ "AzureIaaSVMJobExtendedInfo": {
+ "description": "Azure IaaS VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Indicates progress of the job. Null if it has not started or completed.",
+ "type": "number"
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureIaaSVMJobTaskDetails": {
+ "description": "Azure IaaS VM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "instanceId": {
+ "description": "The instanceId.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ },
+ "progressPercentage": {
+ "format": "double",
+ "description": "Progress of the task.",
+ "type": "number"
+ }
+ }
+ },
+ "AzureIaaSVMProtectedItem": {
+ "description": "IaaS VM workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "Fully qualified ARM ID of the virtual machine represented by this item.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "healthStatus": {
+ "description": "Health status of protected item",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthStatus",
+ "modelAsString": true
+ }
+ },
+ "healthDetails": {
+ "description": "Health details on this backup item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureIaaSVMHealthDetails"
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status.",
+ "type": "string"
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "protectedItemDataId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaaSVMProtectedItem"
+ },
+ "AzureIaaSVMProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure IaaS VM specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyInconsistent": {
+ "description": "Specifies if backup policy associated with the backup item is inconsistent.",
+ "type": "boolean"
+ }
+ }
+ },
+ "AzureIaaSVMProtectionPolicy": {
+ "description": "IaaS VM workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureIaasVM"
+ },
+ "AzureResourceProtectionIntent": {
+ "description": "IaaS VM specific backup protection intent item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionIntent"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the VM represented by this backup item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureResourceItem"
+ },
+ "AzureSqlProtectedItem": {
+ "description": "Azure SQL workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "protectedItemDataId": {
+ "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of the backed up item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "Microsoft.Sql/servers/databases"
+ },
+ "AzureSqlProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Sql specific protected item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this item in the service.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of available backup copies associated with this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "State of the backup policy associated with this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureSqlProtectionPolicy": {
+ "description": "Azure SQL workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "AzureSql"
+ },
+ "AzureStorageErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureStorageJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageErrorInfo"
+ }
+ },
+ "storageAccountName": {
+ "description": "Specifies friendly name of the storage account.",
+ "type": "string"
+ },
+ "storageAccountVersion": {
+ "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.",
+ "type": "string"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureStorageJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ }
+ },
+ "AzureStorageJobExtendedInfo": {
+ "description": "Azure Storage workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureStorageJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureStorageJobTaskDetails": {
+ "description": "Azure storage workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVMResourceFeatureSupportRequest": {
+ "description": "AzureResource(IaaS VM) Specific feature support request",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureSupportRequest"
+ }
+ ],
+ "properties": {
+ "vmSize": {
+ "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM",
+ "type": "string"
+ },
+ "vmSku": {
+ "description": "SKUs (Premium/Managed etc) in case of IaasVM",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureVMResourceBackup"
+ },
+ "AzureVMResourceFeatureSupportResponse": {
+ "description": "Response for feature support requests for Azure IaasVm",
+ "type": "object",
+ "properties": {
+ "supportStatus": {
+ "description": "Support status of feature",
+ "enum": [
+ "Invalid",
+ "Supported",
+ "DefaultOFF",
+ "DefaultON",
+ "NotSupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AzureVmWorkloadProtectedItemExtendedInfo": {
+ "description": "Additional information on Azure Workload for SQL specific backup item.",
+ "type": "object",
+ "properties": {
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available for this backup item.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies available for this backup item.",
+ "type": "integer"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureVmWorkloadProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "workLoadType": {
+ "description": "Type of workload for the backup management",
+ "type": "string"
+ },
+ "settings": {
+ "$ref": "#/definitions/Settings",
+ "description": "Common settings for the backup management"
+ },
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkload"
+ },
+ "AzureVmWorkloadSQLDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SQL Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the DB represented by this backup item.",
+ "type": "string"
+ },
+ "serverName": {
+ "description": "Host/Cluster Name for instance or AG",
+ "type": "string"
+ },
+ "parentName": {
+ "description": "Parent name of the DB such as Instance or Availability Group.",
+ "type": "string"
+ },
+ "parentType": {
+ "description": "Parent type of DB, SQLAG or StandAlone",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "Backup status of this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "lastBackupStatus": {
+ "description": "Last backup operation status. Possible values: Healthy, Unhealthy.",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LastBackupStatus",
+ "modelAsString": true
+ }
+ },
+ "lastBackupTime": {
+ "format": "date-time",
+ "description": "Timestamp of the last backup operation on this backup item.",
+ "type": "string"
+ },
+ "lastBackupErrorDetail": {
+ "$ref": "#/definitions/ErrorDetail",
+ "description": "Error details in last backup"
+ },
+ "protectedItemDataSourceId": {
+ "description": "Data ID of the protected item.",
+ "type": "string"
+ },
+ "protectedItemHealthStatus": {
+ "description": "Health status of the backup item, evaluated based on last heartbeat received",
+ "enum": [
+ "Invalid",
+ "Healthy",
+ "Unhealthy",
+ "NotReachable",
+ "IRPending"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo",
+ "description": "Additional information for this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase"
+ },
+ "AzureWorkloadErrorInfo": {
+ "description": "Azure storage specific error information",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "Error code.",
+ "type": "integer"
+ },
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "errorTitle": {
+ "description": "Title: Typically, the entity that the error pertains to.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalDetails": {
+ "description": "Additional details for above error code.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJob": {
+ "description": "Azure storage specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed during the execution of this job.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "Error details on execution of this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/AzureWorkloadJobExtendedInfo",
+ "description": "Additional information about the job."
+ }
+ }
+ },
+ "AzureWorkloadJobExtendedInfo": {
+ "description": "Azure VM workload-specific additional information for job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureWorkloadJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "Job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureWorkloadJobTaskDetails": {
+ "description": "Azure VM workload specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "BackupManagementUsage": {
+ "description": "Backup management usages of a vault.",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "Unit of the usage.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UsagesUnit",
+ "modelAsString": true
+ }
+ },
+ "quotaPeriod": {
+ "description": "Quota period of usage.",
+ "type": "string"
+ },
+ "nextResetTime": {
+ "format": "date-time",
+ "description": "Next reset time of usage.",
+ "type": "string"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "Current value of usage.",
+ "type": "integer"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "Limit of usage.",
+ "type": "integer"
+ },
+ "name": {
+ "$ref": "#/definitions/NameInfo",
+ "description": "Name of usage."
+ }
+ }
+ },
+ "BackupManagementUsageList": {
+ "description": "Backup management usage for vault.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of backup management usages for the given vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupManagementUsage"
+ }
+ }
+ }
+ },
+ "BackupStatusRequest": {
+ "description": "BackupStatus request.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "Entire ARM resource id of the resource",
+ "type": "string"
+ },
+ "poLogicalName": {
+ "description": "Protectable Item Logical Name",
+ "type": "string"
+ }
+ }
+ },
+ "BackupStatusResponse": {
+ "description": "BackupStatus response.",
+ "type": "object",
+ "properties": {
+ "protectionStatus": {
+ "description": "Specifies whether the container is registered or not",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ },
+ "vaultId": {
+ "description": "Specifies the arm resource id of the vault",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Specifies the fabric name - Azure or AAD",
+ "enum": [
+ "Invalid",
+ "Azure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FabricName",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname. This is required for portal",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname. This is required for portal",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "ErrorCode in case of intent failed",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "ErrorMessage in case of intent failed.",
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Specifies the policy name which is used for protection",
+ "type": "string"
+ },
+ "registrationStatus": {
+ "description": "Container registration status",
+ "type": "string"
+ }
+ }
+ },
+ "BMSBackupSummariesQueryObject": {
+ "description": "Query parameters to fetch backup summaries.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Backup management type for this container.",
+ "enum": [
+ "Invalid",
+ "BackupProtectedItemCountSummary",
+ "BackupProtectionContainerCountSummary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DailyRetentionFormat": {
+ "description": "Daily retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheMonth": {
+ "description": "List of days of the month.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Day"
+ }
+ }
+ }
+ },
+ "DailyRetentionSchedule": {
+ "description": "Daily retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "Day": {
+ "description": "Day of the week.",
+ "type": "object",
+ "properties": {
+ "date": {
+ "format": "int32",
+ "description": "Date of the month",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ }
+ },
+ "DpmErrorInfo": {
+ "description": "DPM workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations for above error code.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DpmJob": {
+ "description": "DPM workload-specifc job object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for job.",
+ "type": "string"
+ },
+ "dpmServerName": {
+ "description": "DPM server name managing the backup item or backup job.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of cluster/server protecting current backup item, if any.",
+ "type": "string"
+ },
+ "containerType": {
+ "description": "Type of container.",
+ "type": "string"
+ },
+ "workloadType": {
+ "description": "Type of backup item.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on this job like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DpmJobExtendedInfo",
+ "description": "Additional information for this job."
+ }
+ },
+ "x-ms-discriminator-value": "DpmJob"
+ },
+ "DpmJobExtendedInfo": {
+ "description": "Additional information on the DPM workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks associated with this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DpmJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message on job execution.",
+ "type": "string"
+ }
+ }
+ },
+ "DpmJobTaskDetails": {
+ "description": "DPM workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "DPMProtectedItem": {
+ "description": "Additional information on Backup engine specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the managed item",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Management server protecting this backup item",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protection state of the backupengine",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectedItemState",
+ "modelAsString": true
+ }
+ },
+ "isScheduledForDeferredDelete": {
+ "description": "To check if backup item is scheduled for deferred delete",
+ "type": "boolean"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/DPMProtectedItemExtendedInfo",
+ "description": "Extended info of the backup item."
+ }
+ },
+ "x-ms-discriminator-value": "DPMProtectedItem"
+ },
+ "DPMProtectedItemExtendedInfo": {
+ "description": "Additional information of DPM Protected item.",
+ "type": "object",
+ "properties": {
+ "protectableObjectLoadPath": {
+ "description": "Attribute to provide information on various DBs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protected": {
+ "description": "To check if backup item is disk protected.",
+ "type": "boolean"
+ },
+ "isPresentOnCloud": {
+ "description": "To check if backup item is cloud protected.",
+ "type": "boolean"
+ },
+ "lastBackupStatus": {
+ "description": "Last backup status information on backup item.",
+ "type": "string"
+ },
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last refresh time on backup item.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest cloud recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "cloud recovery point count.",
+ "type": "integer"
+ },
+ "onPremiseOldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "Oldest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseLatestRecoveryPoint": {
+ "format": "date-time",
+ "description": "latest disk recovery point time.",
+ "type": "string"
+ },
+ "onPremiseRecoveryPointCount": {
+ "format": "int32",
+ "description": "disk recovery point count.",
+ "type": "integer"
+ },
+ "isCollocated": {
+ "description": "To check if backup item is collocated.",
+ "type": "boolean"
+ },
+ "protectionGroupName": {
+ "description": "Protection group name of the backup item.",
+ "type": "string"
+ },
+ "diskStorageUsedInBytes": {
+ "description": "Used Disk storage in bytes.",
+ "type": "string"
+ },
+ "totalDiskStorageSizeInBytes": {
+ "description": "total Disk storage in bytes.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "description": "Error Detail class which encapsulates Code, Message and Recommendations.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error Message related to the Code.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of recommendation strings.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExportJobsOperationResultInfo": {
+ "description": "This class is used to send blob details after exporting jobs.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "blobUrl": {
+ "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "type": "string"
+ },
+ "blobSasKey": {
+ "description": "SAS key to access the blob. It expires in 15 mins.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExportJobsOperationResultInfo"
+ },
+ "FeatureSupportRequest": {
+ "description": "Base class for feature request",
+ "type": "object",
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "featureType"
+ },
+ "GenericProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the container.",
+ "type": "string"
+ },
+ "policyState": {
+ "description": "Indicates consistency of policy object and policy applied to this backup item.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "IRPending",
+ "Protected",
+ "ProtectionError",
+ "ProtectionStopped",
+ "ProtectionPaused"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectedItemId": {
+ "format": "int64",
+ "description": "Data Plane Service ID of the protected item.",
+ "type": "integer"
+ },
+ "sourceAssociations": {
+ "description": "Loosely coupled (type, value) associations (example - parent of a protected item)",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "fabricName": {
+ "description": "Name of this backup item's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectedItem"
+ },
+ "GenericProtectionPolicy": {
+ "description": "Azure VM (Mercury) workload-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "subProtectionPolicy": {
+ "description": "List of sub-protection policies which includes schedule and retention",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubProtectionPolicy"
+ }
+ },
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of this policy's fabric.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "GenericProtectionPolicy"
+ },
+ "Job": {
+ "description": "Defines workload agnostic properties for a job.",
+ "required": [
+ "jobType"
+ ],
+ "type": "object",
+ "properties": {
+ "entityFriendlyName": {
+ "description": "Friendly name of the entity on which the current job is executing.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Backup management type to execute the current job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "The operation name.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Job status.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "activityId": {
+ "description": "ActivityId of job.",
+ "type": "string"
+ },
+ "jobType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "jobType"
+ },
+ "JobQueryObject": {
+ "description": "Filters to list the jobs.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the job.",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "CompletedWithWarnings",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Type of backup managmenent for the job.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "operation": {
+ "description": "Type of operation.",
+ "enum": [
+ "Invalid",
+ "Register",
+ "UnRegister",
+ "ConfigureBackup",
+ "Backup",
+ "Restore",
+ "DisableBackup",
+ "DeleteBackupData"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobOperationType",
+ "modelAsString": true
+ }
+ },
+ "jobId": {
+ "description": "JobID represents the job uniquely.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job has started at this time. Value is in UTC.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job has ended at this time. Value is in UTC.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Defines workload agnostic properties for a job.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Job",
+ "description": "JobResource properties"
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "List of Job resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ }
+ },
+ "LogSchedulePolicy": {
+ "description": "Log policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleFrequencyInMins": {
+ "format": "int32",
+ "description": "Frequency of the log schedule operation of this policy in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "LogSchedulePolicy"
+ },
+ "LongTermRetentionPolicy": {
+ "description": "Long term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "dailySchedule": {
+ "$ref": "#/definitions/DailyRetentionSchedule",
+ "description": "Daily retention schedule of the protection policy."
+ },
+ "weeklySchedule": {
+ "$ref": "#/definitions/WeeklyRetentionSchedule",
+ "description": "Weekly retention schedule of the protection policy."
+ },
+ "monthlySchedule": {
+ "$ref": "#/definitions/MonthlyRetentionSchedule",
+ "description": "Monthly retention schedule of the protection policy."
+ },
+ "yearlySchedule": {
+ "$ref": "#/definitions/YearlyRetentionSchedule",
+ "description": "Yearly retention schedule of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "LongTermRetentionPolicy"
+ },
+ "LongTermSchedulePolicy": {
+ "description": "Long term policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ]
+ },
+ "MabErrorInfo": {
+ "description": "MAB workload-specific error information.",
+ "type": "object",
+ "properties": {
+ "errorString": {
+ "description": "Localized error string.",
+ "type": "string"
+ },
+ "recommendations": {
+ "description": "List of localized recommendations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "MabFileFolderProtectedItem": {
+ "description": "MAB workload-specific backup item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectedItem"
+ }
+ ],
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of this backup item.",
+ "type": "string"
+ },
+ "computerName": {
+ "description": "Name of the computer associated with this backup item.",
+ "type": "string"
+ },
+ "lastBackupStatus": {
+ "description": "Status of last backup operation.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Protected, ProtectionStopped, IRPending or ProtectionError",
+ "type": "string"
+ },
+ "isScheduledForDeferredDelete": {
+ "description": "Specifies if the item is scheduled for deferred deletion.",
+ "type": "boolean"
+ },
+ "deferredDeleteSyncTimeInUTC": {
+ "format": "int64",
+ "description": "Sync time for deferred deletion.",
+ "type": "integer"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo",
+ "description": "Additional information with this backup item."
+ }
+ },
+ "x-ms-discriminator-value": "MabFileFolderProtectedItem"
+ },
+ "MabFileFolderProtectedItemExtendedInfo": {
+ "description": "Additional information on the backed up item.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedAt": {
+ "format": "date-time",
+ "description": "Last time when the agent data synced to service.",
+ "type": "string"
+ },
+ "oldestRecoveryPoint": {
+ "format": "date-time",
+ "description": "The oldest backup copy available.",
+ "type": "string"
+ },
+ "recoveryPointCount": {
+ "format": "int32",
+ "description": "Number of backup copies associated with the backup item.",
+ "type": "integer"
+ }
+ }
+ },
+ "MabJob": {
+ "description": "MAB workload-specific job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Job"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "format": "duration",
+ "description": "Time taken by job to run.",
+ "type": "string"
+ },
+ "actionsInfo": {
+ "description": "The state/actions applicable on jobs like cancel/retry.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "Cancellable",
+ "Retriable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobSupportedAction",
+ "modelAsString": false
+ }
+ }
+ },
+ "mabServerName": {
+ "description": "Name of server protecting the DS.",
+ "type": "string"
+ },
+ "mabServerType": {
+ "description": "Server type of MAB container.",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "IaasVMContainer",
+ "IaasVMServiceContainer",
+ "DPMContainer",
+ "AzureBackupServerContainer",
+ "MABContainer",
+ "Cluster",
+ "AzureSqlContainer",
+ "Windows",
+ "VCenter",
+ "VMAppContainer",
+ "SQLAGWorkLoadContainer",
+ "StorageContainer",
+ "GenericContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MabServerType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Workload type of backup item.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WorkloadType",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabErrorInfo"
+ }
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/MabJobExtendedInfo",
+ "description": "Additional information on the job."
+ }
+ },
+ "x-ms-discriminator-value": "MabJob"
+ },
+ "MabJobExtendedInfo": {
+ "description": "Additional information for the MAB workload-specific job.",
+ "type": "object",
+ "properties": {
+ "tasksList": {
+ "description": "List of tasks for this job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MabJobTaskDetails"
+ }
+ },
+ "propertyBag": {
+ "description": "The job properties.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dynamicErrorMessage": {
+ "description": "Non localized error message specific to this job.",
+ "type": "string"
+ }
+ }
+ },
+ "MabJobTaskDetails": {
+ "description": "MAB workload-specific job task details.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The task display name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "duration": {
+ "format": "duration",
+ "description": "Time elapsed for task.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status.",
+ "type": "string"
+ }
+ }
+ },
+ "MabProtectionPolicy": {
+ "description": "Mab container-specific backup policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionPolicy"
+ }
+ ],
+ "properties": {
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy details."
+ }
+ },
+ "x-ms-discriminator-value": "MAB"
+ },
+ "MonthlyRetentionSchedule": {
+ "description": "Monthly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format type for monthly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for monthly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for monthly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "NameInfo": {
+ "description": "The name of usage.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value of usage.",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of usage.",
+ "type": "string"
+ }
+ }
+ },
+ "Object": {
+ "description": "Base of all objects.",
+ "type": "object"
+ },
+ "OperationResultInfo": {
+ "description": "Operation result info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationResultInfoBase"
+ }
+ ],
+ "properties": {
+ "jobList": {
+ "description": "List of jobs created by this operation.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "OperationResultInfo"
+ },
+ "OperationResultInfoBase": {
+ "description": "Base class for operation result info.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "OperationResultInfoBaseResource": {
+ "description": "Base class for operation result info.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationWorkerResponse"
+ }
+ ],
+ "properties": {
+ "operation": {
+ "$ref": "#/definitions/OperationResultInfoBase",
+ "description": "OperationResultInfoBaseResource operation"
+ }
+ }
+ },
+ "OperationWorkerResponse": {
+ "description": "This is the base class for operation result responses.",
+ "type": "object",
+ "properties": {
+ "statusCode": {
+ "description": "HTTP Status Code of the operation.",
+ "enum": [
+ "Continue",
+ "SwitchingProtocols",
+ "OK",
+ "Created",
+ "Accepted",
+ "NonAuthoritativeInformation",
+ "NoContent",
+ "ResetContent",
+ "PartialContent",
+ "MultipleChoices",
+ "Ambiguous",
+ "MovedPermanently",
+ "Moved",
+ "Found",
+ "Redirect",
+ "SeeOther",
+ "RedirectMethod",
+ "NotModified",
+ "UseProxy",
+ "Unused",
+ "TemporaryRedirect",
+ "RedirectKeepVerb",
+ "BadRequest",
+ "Unauthorized",
+ "PaymentRequired",
+ "Forbidden",
+ "NotFound",
+ "MethodNotAllowed",
+ "NotAcceptable",
+ "ProxyAuthenticationRequired",
+ "RequestTimeout",
+ "Conflict",
+ "Gone",
+ "LengthRequired",
+ "PreconditionFailed",
+ "RequestEntityTooLarge",
+ "RequestUriTooLong",
+ "UnsupportedMediaType",
+ "RequestedRangeNotSatisfiable",
+ "ExpectationFailed",
+ "UpgradeRequired",
+ "InternalServerError",
+ "NotImplemented",
+ "BadGateway",
+ "ServiceUnavailable",
+ "GatewayTimeout",
+ "HttpVersionNotSupported"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HttpStatusCode",
+ "modelAsString": false
+ }
+ },
+ "headers": {
+ "description": "HTTP headers associated with this operation.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "PreValidateEnableBackupRequest": {
+ "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\n It will validate followings\r\n 1. Vault capacity\r\n 2. VM is already protected\r\n 3. Any VM related configuration passed in properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "Container Type - VM, SQLPaaS, DPM etc",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "Entire ARM VM Id",
+ "type": "string"
+ },
+ "vaultId": {
+ "description": "Entire vault id of the resource",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Configuration of VM if any needs to be validated like OS type etc",
+ "type": "string"
+ }
+ }
+ },
+ "PreValidateEnableBackupResponse": {
+ "description": "Response contract for enable backup validation request",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Validation Status",
+ "enum": [
+ "Invalid",
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsString": true
+ }
+ },
+ "errorCode": {
+ "description": "Response error code",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Response error message",
+ "type": "string"
+ },
+ "recommendation": {
+ "description": "Recommended action for user",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required for portal",
+ "type": "string"
+ },
+ "protectedItemName": {
+ "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItem": {
+ "description": "Base class for backup items.",
+ "type": "object",
+ "properties": {
+ "protectedItemType": {
+ "description": "backup item type.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup managemenent for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "workloadType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "containerName": {
+ "description": "Unique name of container",
+ "type": "string"
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "lastRecoveryPoint": {
+ "format": "date-time",
+ "description": "Timestamp when the last (latest) backup copy was created for this backup item.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set the backup item belongs to",
+ "type": "string"
+ }
+ },
+ "discriminator": "protectedItemType"
+ },
+ "ProtectedItemQueryObject": {
+ "description": "Filters to list backup items.",
+ "type": "object",
+ "properties": {
+ "healthState": {
+ "description": "Health State for the backed up item.",
+ "enum": [
+ "Passed",
+ "ActionRequired",
+ "ActionSuggested",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true
+ }
+ },
+ "backupManagementType": {
+ "description": "Backup management type for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "itemType": {
+ "description": "Type of workload this item represents.",
+ "enum": [
+ "Invalid",
+ "VM",
+ "FileFolder",
+ "AzureSqlDb",
+ "SQLDB",
+ "Exchange",
+ "Sharepoint",
+ "VMwareVM",
+ "SystemState",
+ "Client",
+ "GenericDataSource",
+ "SQLDataBase",
+ "AzureFileShare"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "policyName": {
+ "description": "Backup policy name associated with the backup item.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of the container.",
+ "type": "string"
+ },
+ "backupEngineName": {
+ "description": "Backup Engine name",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of protected item",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Name of the fabric.",
+ "type": "string"
+ },
+ "backupSetName": {
+ "description": "Name of the backup set.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItemResource": {
+ "description": "Base class for backup items.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectedItem",
+ "description": "ProtectedItemResource properties"
+ }
+ }
+ },
+ "ProtectedItemResourceList": {
+ "description": "List of ProtectedItem resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectedItemResource"
+ }
+ }
+ }
+ },
+ "ProtectionIntent": {
+ "description": "Base class for backup ProtectionIntent.",
+ "type": "object",
+ "properties": {
+ "protectionIntentItemType": {
+ "description": "backup protectionIntent type.",
+ "type": "string"
+ },
+ "backupManagementType": {
+ "description": "Type of backup managemenent for the backed up item.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "description": "ARM ID of the resource to be backed up.",
+ "type": "string"
+ },
+ "itemId": {
+ "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ID of the backup policy with which this item is backed up.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "Backup state of this backup item.",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "Protecting",
+ "Protected",
+ "ProtectionFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtectionStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "protectionIntentItemType"
+ },
+ "ProtectionIntentResource": {
+ "description": "Base class for backup ProtectionIntent.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionIntent",
+ "description": "ProtectionIntentResource properties"
+ }
+ }
+ },
+ "ProtectionPolicy": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "required": [
+ "backupManagementType"
+ ],
+ "type": "object",
+ "properties": {
+ "protectedItemsCount": {
+ "format": "int32",
+ "description": "Number of items associated with this policy.",
+ "type": "integer"
+ },
+ "backupManagementType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "backupManagementType"
+ },
+ "ProtectionPolicyQueryObject": {
+ "description": "Filters the list backup policies API.",
+ "type": "object",
+ "properties": {
+ "backupManagementType": {
+ "description": "Backup management type for the backup policy.",
+ "enum": [
+ "Invalid",
+ "AzureIaasVM",
+ "MAB",
+ "DPM",
+ "AzureBackupServer",
+ "AzureSql",
+ "AzureStorage",
+ "AzureWorkload",
+ "DefaultBackup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackupManagementType",
+ "modelAsString": true
+ }
+ },
+ "fabricName": {
+ "description": "Fabric name for filter",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionPolicyResource": {
+ "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionPolicy",
+ "description": "ProtectionPolicyResource properties"
+ }
+ }
+ },
+ "ProtectionPolicyResourceList": {
+ "description": "List of ProtectionPolicy resources",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceList"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionPolicyResource"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM Resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceList": {
+ "description": "Base for all lists of resources.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ }
+ },
+ "RetentionDuration": {
+ "description": "Retention duration.",
+ "type": "object",
+ "properties": {
+ "count": {
+ "format": "int32",
+ "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\n For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
+ "type": "integer"
+ },
+ "durationType": {
+ "description": "Retention duration type of retention policy.",
+ "enum": [
+ "Invalid",
+ "Days",
+ "Weeks",
+ "Months",
+ "Years"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionDurationType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "Base class for retention policy.",
+ "required": [
+ "retentionPolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "retentionPolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "retentionPolicyType"
+ },
+ "SchedulePolicy": {
+ "description": "Base class for backup schedule.",
+ "required": [
+ "schedulePolicyType"
+ ],
+ "type": "object",
+ "properties": {
+ "schedulePolicyType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
+ "type": "string"
+ }
+ },
+ "discriminator": "schedulePolicyType"
+ },
+ "Settings": {
+ "description": "Common settings field for backup management",
+ "type": "object",
+ "properties": {
+ "timeZone": {
+ "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".",
+ "type": "string"
+ },
+ "issqlcompression": {
+ "description": "SQL compression flag",
+ "type": "boolean"
+ }
+ }
+ },
+ "SimpleRetentionPolicy": {
+ "description": "Simple policy retention.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicy"
+ }
+ ],
+ "properties": {
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of the protection policy."
+ }
+ },
+ "x-ms-discriminator-value": "SimpleRetentionPolicy"
+ },
+ "SimpleSchedulePolicy": {
+ "description": "Simple policy schedule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SchedulePolicy"
+ }
+ ],
+ "properties": {
+ "scheduleRunFrequency": {
+ "description": "Frequency of the schedule operation of this policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ScheduleRunType",
+ "modelAsString": true
+ }
+ },
+ "scheduleRunDays": {
+ "description": "List of days of week this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "scheduleRunTimes": {
+ "description": "List of times of day this schedule has to be run.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "scheduleWeeklyFrequency": {
+ "format": "int32",
+ "description": "At every number weeks this schedule has to be run.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "SimpleSchedulePolicy"
+ },
+ "SubProtectionPolicy": {
+ "description": "Sub-protection policy which includes schedule and retention",
+ "type": "object",
+ "properties": {
+ "policyType": {
+ "description": "Type of backup policy type",
+ "type": "string"
+ },
+ "schedulePolicy": {
+ "$ref": "#/definitions/SchedulePolicy",
+ "description": "Backup schedule specified as part of backup policy."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "Retention policy with the details on backup copy retention ranges."
+ }
+ }
+ },
+ "WeeklyRetentionFormat": {
+ "description": "Weekly retention format.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of the week.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "weeksOfTheMonth": {
+ "description": "List of weeks of month.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Last"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WeekOfMonth",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "WeeklyRetentionSchedule": {
+ "description": "Weekly retention schedule.",
+ "type": "object",
+ "properties": {
+ "daysOfTheWeek": {
+ "description": "List of days of week for weekly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ },
+ "YearlyRetentionSchedule": {
+ "description": "Yearly retention schedule.",
+ "type": "object",
+ "properties": {
+ "retentionScheduleFormatType": {
+ "description": "Retention schedule format for yearly retention policy.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionScheduleFormat",
+ "modelAsString": true
+ }
+ },
+ "monthsOfYear": {
+ "description": "List of months of year of yearly retention policy.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Invalid",
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonthOfYear",
+ "modelAsString": false
+ }
+ }
+ },
+ "retentionScheduleDaily": {
+ "$ref": "#/definitions/DailyRetentionFormat",
+ "description": "Daily retention format for yearly retention policy."
+ },
+ "retentionScheduleWeekly": {
+ "$ref": "#/definitions/WeeklyRetentionFormat",
+ "description": "Weekly retention format for yearly retention policy."
+ },
+ "retentionTimes": {
+ "description": "Retention times of retention policy.",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "retentionDuration": {
+ "$ref": "#/definitions/RetentionDuration",
+ "description": "Retention duration of retention Policy."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "AzureRegion": {
+ "name": "azureRegion",
+ "in": "path",
+ "description": "Azure region to hit Api",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "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/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupFeature_Validate.json
new file mode 100644
index 000000000000..82d4aeffd753
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupFeature_Validate.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2017-07-01",
+ "parameters": {
+ "featureType": "AzureVMResourceBackup",
+ "vmSize": "Basic_A0",
+ "vmSku": "Premium"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "supportStatus": "DefaultOFF"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json
new file mode 100644
index 000000000000..98c4302a01bc
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2017-07-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy",
+ "name": "DefaultPolicy",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ },
+ "protectedItemsCount": 0
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "name": "testPolicy1",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureIaasVM",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2018-01-24T02:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 1,
+ "durationType": "Days"
+ }
+ }
+ },
+ "timeZone": "Pacific Standard Time",
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json
new file mode 100644
index 000000000000..7354bf7b189d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2017-07-01",
+ "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
+ "properties": {
+ "friendlyName": "iaasvm-1",
+ "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "protectionStatus": "Healthy",
+ "protectionState": "Protected",
+ "healthStatus": "Passed",
+ "lastBackupStatus": "Completed",
+ "lastBackupTime": "2018-01-22T12:25:32.048723Z",
+ "protectedItemDataId": "636482643132986882",
+ "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
+ "backupManagementType": "AzureIaasVM",
+ "workloadType": "VM",
+ "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1",
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1",
+ "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1",
+ "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/GetBackupStatus.json
new file mode 100644
index 000000000000..c37237ed1ee7
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/GetBackupStatus.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2017-07-01",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm",
+ "resourceType": "VM"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "protectionStatus": "Protected",
+ "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault",
+ "fabricName": "Azure",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm",
+ "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm",
+ "policyName": "myPolicy",
+ "errorCode": "Success",
+ "errorMessage": "ErrorMessage"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json
new file mode 100644
index 000000000000..219a4ac3a7c0
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myRG",
+ "vaultName": "myVault",
+ "fabricName": "Azure",
+ "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "api-version": "2017-07-01",
+ "parameters": {
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel",
+ "protectionIntentItemType": "AzureResourceItem",
+ "friendlyName": "oneboxTestVmIntent",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel",
+ "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent",
+ "properties": {
+ "friendlyName": "",
+ "backupManagementType": "AzureIaasVM",
+ "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy",
+ "protectionState": "Protected"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_Validate.json
new file mode 100644
index 000000000000..786708c58978
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_Validate.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "azureRegion": "southeastasia",
+ "api-version": "2017-07-01",
+ "parameters": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1",
+ "resourceType": "VM",
+ "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault",
+ "properties": ""
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Failed",
+ "errorCode": "VirtualMachineAlreadyProtected",
+ "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault",
+ "recommendation": "Please do not enable protection again.",
+ "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1",
+ "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json
new file mode 100644
index 000000000000..3b5aa09916b8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2017-07-01",
+ "$filter": "backupManagementType eq 'AzureWorkload'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup",
+ "name": "HourlyLogBackup",
+ "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
+ "properties": {
+ "backupManagementType": "AzureWorkload",
+ "workLoadType": "SQLDataBase",
+ "settings": {
+ "timeZone": "UTC",
+ "issqlcompression": false
+ },
+ "subProtectionPolicy": [
+ {
+ "policyType": "Full",
+ "schedulePolicy": {
+ "schedulePolicyType": "SimpleSchedulePolicy",
+ "scheduleRunFrequency": "Daily",
+ "scheduleRunTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "scheduleWeeklyFrequency": 0
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "LongTermRetentionPolicy",
+ "dailySchedule": {
+ "retentionTimes": [
+ "2017-12-05T19:00:00Z"
+ ],
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ },
+ {
+ "policyType": "Log",
+ "schedulePolicy": {
+ "schedulePolicyType": "LogSchedulePolicy",
+ "scheduleFrequencyInMins": 60
+ },
+ "retentionPolicy": {
+ "retentionPolicyType": "SimpleRetentionPolicy",
+ "retentionDuration": {
+ "count": 30,
+ "durationType": "Days"
+ }
+ }
+ }
+ ],
+ "protectedItemsCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json
new file mode 100644
index 000000000000..1ce7ecd13d9b
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2017-07-01",
+ "$filter": "type eq 'BackupProtectedItemCountSummary'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 7,
+ "limit": -1,
+ "name": {
+ "value": "AzureIaasVM",
+ "localizedValue": "Azure Virtual Machine"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "MAB",
+ "localizedValue": "Azure Backup Agent"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServer",
+ "localizedValue": "Azure Backup Server"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureStorage",
+ "localizedValue": "Azure Storage (Azure Files)"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureWorkload",
+ "localizedValue": "SQL in Azure VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json
new file mode 100644
index 000000000000..1d3eb436c2c2
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "testRG",
+ "vaultName": "testVault",
+ "api-version": "2017-07-01",
+ "$filter": "type eq 'BackupProtectionContainerCountSummary'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 2,
+ "limit": -1,
+ "name": {
+ "value": "AzureBackupServer",
+ "localizedValue": "Azure Backup Server"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 3,
+ "limit": -1,
+ "name": {
+ "value": "MAB",
+ "localizedValue": "Azure Backup Agent"
+ }
+ },
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": -1,
+ "name": {
+ "value": "AzureWorkload",
+ "localizedValue": "SQL in Azure VM"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json
new file mode 100644
index 000000000000..8f822f3971ad
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo",
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r"
+ },
+ "headers": {}
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ },
+ "body": {
+ "operation": {
+ "objectType": "ExportJobsOperationResultInfo"
+ },
+ "headers": {
+ "Location": [
+ "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01"
+ ],
+ "Retry-After": [
+ "60"
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json
new file mode 100644
index 000000000000..d300b927db96
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "jobName": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT9.8782791S",
+ "virtualMachineVersion": "Compute",
+ "extendedInfo": {
+ "tasksList": [
+ {
+ "taskId": "Take Snapshot",
+ "duration": "PT0S",
+ "status": "InProgress"
+ },
+ {
+ "taskId": "Transfer data to vault",
+ "duration": "PT0S",
+ "status": "NotStarted"
+ }
+ ],
+ "propertyBag": {
+ "VM Name": "testvm"
+ }
+ },
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json
new file mode 100644
index 000000000000..8e93628c7c6d
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json
new file mode 100644
index 000000000000..1395fa3a45c4
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2017-07-01",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
new file mode 100644
index 000000000000..007c752611d8
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2017-07-01",
+ "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT12.4272909S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "Backup",
+ "status": "InProgress",
+ "startTime": "2017-08-03T05:31:07.014604Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.RecoveryServices/vaults/backupJobs",
+ "properties": {
+ "jobType": "AzureIaaSVMJob",
+ "duration": "PT31.3066291S",
+ "virtualMachineVersion": "Compute",
+ "entityFriendlyName": "testvm",
+ "backupManagementType": "AzureIaasVM",
+ "operation": "ConfigureBackup",
+ "status": "Completed",
+ "startTime": "2017-08-03T05:30:32.4487085Z",
+ "endTime": "2017-08-03T05:31:03.7553376Z",
+ "activityId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExoprtJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExoprtJobs.json
new file mode 100644
index 000000000000..95d02c7cef50
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExoprtJobs.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2017-07-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01",
+ "Retry-After": 60
+ },
+ "body": null
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/GetJobDetails.json
deleted file mode 100644
index f366ec4cbf8b..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/GetJobDetails.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "jobName": "cb7120f5-a787-4c2a-a793-19ad03776ad1",
- "api-version": "2017-07-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/cb7120f5-a787-4c2a-a793-19ad03776ad1",
- "name": "cb7120f5-a787-4c2a-a793-19ad03776ad1",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT9.8782791S",
- "virtualMachineVersion": "Compute",
- "extendedInfo": {
- "tasksList": [
- {
- "taskId": "Take Snapshot",
- "duration": "PT0S",
- "status": "InProgress"
- },
- {
- "taskId": "Transfer data to vault",
- "duration": "PT0S",
- "status": "NotStarted"
- }
- ],
- "propertyBag": {
- "VM Name": "iaasvmtestv2vm1"
- }
- },
- "entityFriendlyName": "iaasvmtestv2vm1",
- "backupManagementType": "AzureIaasVM",
- "operation": "Backup",
- "status": "InProgress",
- "startTime": "2017-08-03T05:31:07.014604Z",
- "activityId": "5417abaf-8cb7-41d8-a497-dee2ff4b930b"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/ListJobs.json
deleted file mode 100644
index 1b6d01799b97..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/ListJobs.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "SwaggerTestRg",
- "vaultName": "NetSDKTestRsVault",
- "api-version": "2017-07-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [{
- "id": "/Subscriptions/f7424430-103b-4ba3-bd9e-b6f0986f848a/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/cb7120f5-a787-4c2a-a793-19ad03776ad1",
- "name": "cb7120f5-a787-4c2a-a793-19ad03776ad1",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT12.4272909S",
- "virtualMachineVersion": "Compute",
- "entityFriendlyName": "iaasvmtestv2vm1",
- "backupManagementType": "AzureIaasVM",
- "operation": "Backup",
- "status": "InProgress",
- "startTime": "2017-08-03T05:31:07.014604Z",
- "activityId": "5417abaf-8cb7-41d8-a497-dee2ff4b930b"
- }
- },
- {
- "id": "/Subscriptions/f7424430-103b-4ba3-bd9e-b6f0986f848a/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/947d792d-e27f-4139-af05-d3c598dc5cc6",
- "name": "947d792d-e27f-4139-af05-d3c598dc5cc6",
- "type": "Microsoft.RecoveryServices/vaults/backupJobs",
- "properties": {
- "jobType": "AzureIaaSVMJob",
- "duration": "PT31.3066291S",
- "virtualMachineVersion": "Compute",
- "entityFriendlyName": "iaasvmtestv2vm1",
- "backupManagementType": "AzureIaasVM",
- "operation": "ConfigureBackup",
- "status": "Completed",
- "startTime": "2017-08-03T05:30:32.4487085Z",
- "endTime": "2017-08-03T05:31:03.7553376Z",
- "activityId": "e202d134-0286-4fdc-83ce-9426a213bd81"
- }
- }
- ]
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/jobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/jobs.json
deleted file mode 100644
index d4177670188f..000000000000
--- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/jobs.json
+++ /dev/null
@@ -1,820 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2017-07-01",
- "title": "RecoveryServicesBackupClient",
- "x-ms-code-generation-settings": {
- "internalConstructors": false
- }
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": {
- "get": {
- "tags": [
- "BackupJobs"
- ],
- "description": "Provides a pageable list of jobs.",
- "operationId": "BackupJobs_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "$filter",
- "in": "query",
- "description": "OData filter options.",
- "required": false,
- "type": "string"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "skipToken Filter.",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/JobResourceList"
- }
- }
- },
- "deprecated": false,
- "x-ms-odata": "#/definitions/JobQueryObject",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "ListJobs": {
- "$ref": "./examples/ListJobs.json"
- }
- }
- }
- },
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": {
- "get": {
- "tags": [
- "JobDetails"
- ],
- "description": "Gets exteded information associated with the job.",
- "operationId": "JobDetails_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/VaultName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "jobName",
- "in": "path",
- "description": "Name of the job whose details are to be fetched.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/JobResource"
- }
- }
- },
- "deprecated": false,
- "x-ms-examples": {
- "GetJobDetails": {
- "$ref": "./examples/GetJobDetails.json"
- }
- }
- }
- }
- },
- "definitions": {
- "AzureIaaSVMErrorInfo": {
- "description": "Azure IaaS VM workload-specific error information.",
- "type": "object",
- "properties": {
- "errorCode": {
- "format": "int32",
- "description": "Error code.",
- "type": "integer"
- },
- "errorTitle": {
- "description": "Title: Typically, the entity that the error pertains to.",
- "type": "string"
- },
- "errorString": {
- "description": "Localized error string.",
- "type": "string"
- },
- "recommendations": {
- "description": "List of localized recommendations for above error code.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "AzureIaaSVMJob": {
- "description": "Azure IaaS VM workload-specifc job object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Job"
- }
- ],
- "properties": {
- "duration": {
- "format": "duration",
- "description": "Time elapsed during the execution of this job.",
- "type": "string"
- },
- "actionsInfo": {
- "description": "Gets or sets the state/actions applicable on this job like cancel/retry.",
- "type": "array",
- "items": {
- "enum": [
- "Invalid",
- "Cancellable",
- "Retriable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobSupportedAction",
- "modelAsString": false
- }
- }
- },
- "errorDetails": {
- "description": "Error details on execution of this job.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureIaaSVMErrorInfo"
- }
- },
- "virtualMachineVersion": {
- "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.",
- "type": "string"
- },
- "extendedInfo": {
- "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo",
- "description": "Additional information for this job."
- }
- },
- "x-ms-discriminator-value": "AzureIaaSVMJob"
- },
- "AzureIaaSVMJobExtendedInfo": {
- "description": "Azure IaaS VM workload-specific additional information for job.",
- "type": "object",
- "properties": {
- "tasksList": {
- "description": "List of tasks associated with this job.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureIaaSVMJobTaskDetails"
- }
- },
- "propertyBag": {
- "description": "Job properties.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "progressPercentage": {
- "format": "double",
- "description": "Indicates progress of the job. Null if it has not started or completed.",
- "type": "number"
- },
- "dynamicErrorMessage": {
- "description": "Non localized error message on job execution.",
- "type": "string"
- }
- }
- },
- "AzureIaaSVMJobTaskDetails": {
- "description": "Azure IaaS VM workload-specific job task details.",
- "type": "object",
- "properties": {
- "taskId": {
- "description": "The task display name.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "The start time.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "The end time.",
- "type": "string"
- },
- "instanceId": {
- "description": "The instanceId.",
- "type": "string"
- },
- "duration": {
- "format": "duration",
- "description": "Time elapsed for task.",
- "type": "string"
- },
- "status": {
- "description": "The status.",
- "type": "string"
- },
- "progressPercentage": {
- "format": "double",
- "description": "Progress of the task.",
- "type": "number"
- }
- }
- },
- "DpmErrorInfo": {
- "description": "DPM workload-specific error information.",
- "type": "object",
- "properties": {
- "errorString": {
- "description": "Localized error string.",
- "type": "string"
- },
- "recommendations": {
- "description": "List of localized recommendations for above error code.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "DpmJob": {
- "description": "DPM workload-specifc job object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Job"
- }
- ],
- "properties": {
- "duration": {
- "format": "duration",
- "description": "Time elapsed for job.",
- "type": "string"
- },
- "dpmServerName": {
- "description": "DPM server name managing the backup item or backup job.",
- "type": "string"
- },
- "containerName": {
- "description": "Name of cluster/server protecting current backup item, if any.",
- "type": "string"
- },
- "containerType": {
- "description": "Type of container.",
- "type": "string"
- },
- "workloadType": {
- "description": "Type of backup item.",
- "type": "string"
- },
- "actionsInfo": {
- "description": "The state/actions applicable on this job like cancel/retry.",
- "type": "array",
- "items": {
- "enum": [
- "Invalid",
- "Cancellable",
- "Retriable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobSupportedAction",
- "modelAsString": false
- }
- }
- },
- "errorDetails": {
- "description": "The errors.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DpmErrorInfo"
- }
- },
- "extendedInfo": {
- "$ref": "#/definitions/DpmJobExtendedInfo",
- "description": "Additional information for this job."
- }
- },
- "x-ms-discriminator-value": "DpmJob"
- },
- "DpmJobExtendedInfo": {
- "description": "Additional information on the DPM workload-specific job.",
- "type": "object",
- "properties": {
- "tasksList": {
- "description": "List of tasks associated with this job.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DpmJobTaskDetails"
- }
- },
- "propertyBag": {
- "description": "The job properties.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "dynamicErrorMessage": {
- "description": "Non localized error message on job execution.",
- "type": "string"
- }
- }
- },
- "DpmJobTaskDetails": {
- "description": "DPM workload-specific job task details.",
- "type": "object",
- "properties": {
- "taskId": {
- "description": "The task display name.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "The start time.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "The end time.",
- "type": "string"
- },
- "duration": {
- "format": "duration",
- "description": "Time elapsed for task.",
- "type": "string"
- },
- "status": {
- "description": "The status.",
- "type": "string"
- }
- }
- },
- "Job": {
- "description": "Defines workload agnostic properties for a job.",
- "required": [
- "jobType"
- ],
- "type": "object",
- "properties": {
- "entityFriendlyName": {
- "description": "Friendly name of the entity on which the current job is executing.",
- "type": "string"
- },
- "backupManagementType": {
- "description": "Backup management type to execute the current job.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "operation": {
- "description": "The operation name.",
- "type": "string"
- },
- "status": {
- "description": "Job status.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "The start time.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "The end time.",
- "type": "string"
- },
- "activityId": {
- "description": "ActivityId of job.",
- "type": "string"
- },
- "jobType": {
- "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.",
- "type": "string"
- }
- },
- "discriminator": "jobType"
- },
- "JobQueryObject": {
- "description": "Filters to list the jobs.",
- "type": "object",
- "properties": {
- "status": {
- "description": "Status of the job.",
- "enum": [
- "Invalid",
- "InProgress",
- "Completed",
- "Failed",
- "CompletedWithWarnings",
- "Cancelled",
- "Cancelling"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobStatus",
- "modelAsString": true
- }
- },
- "backupManagementType": {
- "description": "Type of backup managmenent for the job.",
- "enum": [
- "Invalid",
- "AzureIaasVM",
- "MAB",
- "DPM",
- "AzureBackupServer",
- "AzureSql"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "BackupManagementType",
- "modelAsString": true
- }
- },
- "operation": {
- "description": "Type of operation.",
- "enum": [
- "Invalid",
- "Register",
- "UnRegister",
- "ConfigureBackup",
- "Backup",
- "Restore",
- "DisableBackup",
- "DeleteBackupData"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobOperationType",
- "modelAsString": true
- }
- },
- "jobId": {
- "description": "JobID represents the job uniquely.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "Job has started at this time. Value is in UTC.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "Job has ended at this time. Value is in UTC.",
- "type": "string"
- }
- }
- },
- "JobResource": {
- "description": "Defines workload agnostic properties for a job.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/Job",
- "description": "JobResource properties"
- }
- }
- },
- "JobResourceList": {
- "description": "List of Job resources",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceList"
- }
- ],
- "properties": {
- "value": {
- "description": "List of resources.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/JobResource"
- }
- }
- }
- },
- "MabErrorInfo": {
- "description": "MAB workload-specific error information.",
- "type": "object",
- "properties": {
- "errorString": {
- "description": "Localized error string.",
- "type": "string"
- },
- "recommendations": {
- "description": "List of localized recommendations.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "MabJob": {
- "description": "MAB workload-specific job.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Job"
- }
- ],
- "properties": {
- "duration": {
- "format": "duration",
- "description": "Time taken by job to run.",
- "type": "string"
- },
- "actionsInfo": {
- "description": "The state/actions applicable on jobs like cancel/retry.",
- "type": "array",
- "items": {
- "enum": [
- "Invalid",
- "Cancellable",
- "Retriable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "JobSupportedAction",
- "modelAsString": false
- }
- }
- },
- "mabServerName": {
- "description": "Name of server protecting the DS.",
- "type": "string"
- },
- "mabServerType": {
- "description": "Server type of MAB container.",
- "enum": [
- "Invalid",
- "Unknown",
- "IaasVMContainer",
- "IaasVMServiceContainer",
- "DPMContainer",
- "AzureBackupServerContainer",
- "MABContainer",
- "Cluster",
- "AzureSqlContainer",
- "Windows",
- "VCenter"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "MabServerType",
- "modelAsString": true
- }
- },
- "workloadType": {
- "description": "Workload type of backup item.",
- "enum": [
- "Invalid",
- "VM",
- "FileFolder",
- "AzureSqlDb",
- "SQLDB",
- "Exchange",
- "Sharepoint",
- "VMwareVM",
- "SystemState",
- "Client",
- "GenericDataSource"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "WorkloadType",
- "modelAsString": true
- }
- },
- "errorDetails": {
- "description": "The errors.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MabErrorInfo"
- }
- },
- "extendedInfo": {
- "$ref": "#/definitions/MabJobExtendedInfo",
- "description": "Additional information on the job."
- }
- },
- "x-ms-discriminator-value": "MabJob"
- },
- "MabJobExtendedInfo": {
- "description": "Additional information for the MAB workload-specific job.",
- "type": "object",
- "properties": {
- "tasksList": {
- "description": "List of tasks for this job.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MabJobTaskDetails"
- }
- },
- "propertyBag": {
- "description": "The job properties.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "dynamicErrorMessage": {
- "description": "Non localized error message specific to this job.",
- "type": "string"
- }
- }
- },
- "MabJobTaskDetails": {
- "description": "MAB workload-specific job task details.",
- "type": "object",
- "properties": {
- "taskId": {
- "description": "The task display name.",
- "type": "string"
- },
- "startTime": {
- "format": "date-time",
- "description": "The start time.",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "The end time.",
- "type": "string"
- },
- "duration": {
- "format": "duration",
- "description": "Time elapsed for task.",
- "type": "string"
- },
- "status": {
- "description": "The status.",
- "type": "string"
- }
- }
- },
- "Object": {
- "description": "Base of all objects.",
- "type": "object"
- },
- "Resource": {
- "description": "ARM Resource.",
- "type": "object",
- "properties": {
- "id": {
- "description": "Resource Id represents the complete path to the resource.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Resource name associated with the resource.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
- "type": "string",
- "readOnly": true
- },
- "location": {
- "description": "Resource location.",
- "type": "string"
- },
- "tags": {
- "description": "Resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "eTag": {
- "description": "Optional ETag.",
- "type": "string"
- }
- },
- "x-ms-azure-resource": true
- },
- "ResourceList": {
- "description": "Base for all lists of resources.",
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {
- "SubscriptionId": {
- "name": "subscriptionId",
- "in": "path",
- "description": "The subscription Id.",
- "required": true,
- "type": "string"
- },
- "ResourceGroupName": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group where the recovery services vault is present.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
- },
- "VaultName": {
- "name": "vaultName",
- "in": "path",
- "description": "The name of the recovery services vault.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
- },
- "ApiVersion": {
- "name": "api-version",
- "in": "query",
- "description": "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/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md
index 2a1e8a754241..ea2ef0a60bfd 100644
--- a/specification/recoveryservicesbackup/resource-manager/readme.md
+++ b/specification/recoveryservicesbackup/resource-manager/readme.md
@@ -29,12 +29,22 @@ title: Recovery Services Backup Client
description: Open API 2.0 Specs for Azure RecoveryServices Backup service
openapi-type: arm
tag: package-2017-07
-output-folder: ./
csharp-sdks-folder: ./Generated/CSharp
+python-sdks-folder: ./Generated/Python
+go-sdk-folder: ./Generated/Golang
license-header: MICROSOFT_MIT
```
+### Validations
+Run validations when `--validate` is specified on command line
+
+``` yaml $(validate)
+azure-validator: true
+model-validator: true
+semantic-validator: true
+message-format: json
+```
### Tag: package-2017-07
@@ -42,8 +52,8 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma
``` yaml $(tag) == 'package-2017-07'
input-file:
-- Microsoft.RecoveryServices/stable/2017-07-01/jobs.json
-- Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json
+- Microsoft.RecoveryServices/stable/2017-07-01/bms.json
+- Microsoft.RecoveryServices/stable/2016-12-01/bms.json
- Microsoft.RecoveryServices/stable/2016-08-10/operations.json
```
@@ -61,6 +71,20 @@ input-file:
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -103,13 +127,54 @@ python:
output-folder: $(python-sdks-folder)/azure-mgmt-recoveryservicesbackup
```
----
-# Validation
+## Java
-## Suppression
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
-``` yaml
-directive:
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: Autorest invalidates two letter acronyms as well and changes in data contracts require service wide changes and require more time
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.recoveryservicesbackup
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-recoveryservicesbackup
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: backup
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-07
+ - tag: package-2016-06
+```
+
+### Tag: package-2017-07 and go
+
+These settings apply only when `--tag=package-2017-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-07' && $(go)
+output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2017-07-01/backup
+```
+
+### Tag: package-2016-06 and go
+
+These settings apply only when `--tag=package-2016-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-06' && $(go)
+output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2016-06-01/backup
```
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/service.json
index 1c62dee0226e..e012049d0bf5 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/service.json
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/service.json
@@ -321,54 +321,6 @@
}
}
},
- "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": {
- "post": {
- "tags": [
- "ReplicationFabrics"
- ],
- "summary": "Migrates the site to AAD.",
- "description": "The operation to migrate an Azure Site Recovery fabric to AAD.",
- "operationId": "ReplicationFabrics_MigrateToAad",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/ResourceName"
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "name": "fabricName",
- "in": "path",
- "description": "ASR fabric to migrate.",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "NoContent"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Migrates the site to AAD.": {
- "$ref": "../examples/ReplicationFabrics_MigrateToAad.json"
- }
- }
- }
- },
"/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": {
"post": {
"tags": [
@@ -14143,7 +14095,7 @@
"type": "string"
}
},
- "x-ms-discriminator-value": "A2A"
+ "x-ms-discriminator-value": "Azure"
},
"VMwareV2FabricCreationInput": {
"description": "Fabric provider specific settings.",
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/Operations_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/Operations_List.json
new file mode 100644
index 000000000000..9a0a0d347543
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/Operations_List.json
@@ -0,0 +1,1225 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Vault Token",
+ "description": "The Vault Token operation can be used to get Vault Token for vault level backend operations."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Register Service Container",
+ "description": "The Register Service Container operation can be used to register a container with Recovery Service."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Operation Results",
+ "description": "The Get Operation Results operation can be used get the operation status and result for the asynchronously submitted operation"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Containers",
+ "description": "The Get Containers operation can be used get the containers registered for a resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Unregister Service Container",
+ "description": "The UnRegister Container operation can be used to unregister a container."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/certificates/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Update Resource Certificate",
+ "description": "The Update Resource Certificate operation updates the resource/vault credential certificate."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Alerts Settings",
+ "operation": "Read Alerts Settings",
+ "description": "Read Any Alerts Settings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Alerts Settings",
+ "operation": "Create or Update Alerts Settings",
+ "description": "Create or Update Any Alerts Settings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationEvents/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Events",
+ "operation": "Read Events",
+ "description": "Read Any Events"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Networks",
+ "operation": "Read Networks",
+ "description": "Read Any Networks"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Read Network Mappings",
+ "description": "Read Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Create or Update Network Mappings",
+ "description": "Create or Update Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Delete Network Mappings",
+ "description": "Delete Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protectable Items",
+ "operation": "Read Protectable Items",
+ "description": "Read Any Protectable Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Read Protection Container Mappings",
+ "description": "Read Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Create or Update Protection Container Mappings",
+ "description": "Create or Update Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Remove Protection Container Mapping",
+ "description": "Remove Protection Container Mapping"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Delete Protection Container Mappings",
+ "description": "Delete Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Replication Recovery Points",
+ "operation": "Read Replication Recovery Points",
+ "description": "Read Any Replication Recovery Points"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Read Protected Items",
+ "description": "Read Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Create or Update Protected Items",
+ "description": "Create or Update Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Delete Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Remove Protected Item",
+ "description": "Remove Protected Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Planned Failover",
+ "description": "Planned Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Failover",
+ "description": "Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Test Failover",
+ "description": "Test Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Test Failover Cleanup",
+ "description": "Test Failover Cleanup"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Failover Commit",
+ "description": "Failover Commit"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "ReProtect Protected Item",
+ "description": "ReProtect Protected Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Update Mobility Service",
+ "description": "Update Mobility Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Repair replication",
+ "description": "Repair replication"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Apply Recovery Point",
+ "description": "Apply Recovery Point"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Read Jobs",
+ "description": "Read Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Cancel Job",
+ "description": "Cancel Job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Restart job",
+ "description": "Restart job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Resume Job",
+ "description": "Resume Job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Read Protection Containers",
+ "description": "Read Any Protection Containers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Discover Protectable Item",
+ "description": "Discover Protectable Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Create or Update Protection Containers",
+ "description": "Create or Update Any Protection Containers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Remove Protection Container",
+ "description": "Remove Protection Container"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Switch Protection Container",
+ "description": "Switch Protection Container"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Read Policies",
+ "description": "Read Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Create or Update Policies",
+ "description": "Create or Update Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Delete Policies",
+ "description": "Delete Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Read Recovery Plans",
+ "description": "Read Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Create or Update Recovery Plans",
+ "description": "Create or Update Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Delete Recovery Plans",
+ "description": "Delete Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Planned Failover Recovery Plan",
+ "description": "Planned Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Failover Recovery Plan",
+ "description": "Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Test Failover Recovery Plan",
+ "description": "Test Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Test Failover Cleanup Recovery Plan",
+ "description": "Test Failover Cleanup Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Failover Commit Recovery Plan",
+ "description": "Failover Commit Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "ReProtect Recovery Plan",
+ "description": "ReProtect Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Read Recovery Services Providers",
+ "description": "Read Any Recovery Services Providers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Remove Recovery Services Provider",
+ "description": "Remove Recovery Services Provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Delete Recovery Services Providers",
+ "description": "Delete Any Recovery Services Providers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Refresh Provider",
+ "description": "Refresh Provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Read Fabrics",
+ "description": "Read Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Create or Update Fabrics",
+ "description": "Create or Update Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Remove Fabric",
+ "description": "Remove Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Checks Consistency of the Fabric",
+ "description": "Checks Consistency of the Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Delete Fabrics",
+ "description": "Delete Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Renew Certificate for Fabric",
+ "description": "Renew Certificate for Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Deploy Process Server Image",
+ "description": "Deploy Process Server Image"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Reassociate Gateway",
+ "description": "Reassociate Gateway"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classifications",
+ "operation": "Read Storage Classifications",
+ "description": "Read Any Storage Classifications"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Read Storage Classification Mappings",
+ "description": "Read Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Create or Update Storage Classification Mappings",
+ "description": "Create or Update Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Delete Storage Classification Mappings",
+ "description": "Delete Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/usages/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Vault Usages",
+ "operation": "Read Vault Usages",
+ "description": "Read Any Vault Usages"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Read Jobs",
+ "description": "Read Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Create or Update Jobs",
+ "description": "Create or Update Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Delete Jobs",
+ "description": "Delete Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/usages/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/storageConfig/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/storageConfig/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupOperations/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupEngines",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupStatus",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Create Vault",
+ "description": "Create Vault operation creates an Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Vault",
+ "description": "The Get Vault operation gets an object representing the Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Delete Vault",
+ "description": "The Delete Vault operation deletes the specified Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/locations/allocatedStamp/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "locations/allocatedStamp",
+ "operation": "Get Allocated Stamp",
+ "description": "GetAllocatedStamp is internal operation used by service"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/locations/allocateStamp/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "locations/allocateStamp",
+ "operation": "Allocated Stamp Action",
+ "description": "AllocateStamp is internal operation used by service"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..6154adf3d956
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..de9c086ffda3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ {
+ "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T07:37:30.9722019Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Create.json
new file mode 100644
index 000000000000..09b293323009
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Create.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "request": {
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Get.json
new file mode 100644
index 000000000000..42a4c1ec154b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_List.json
new file mode 100644
index 000000000000..0e72a749301a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json
new file mode 100644
index 000000000000..e985e881d1e6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "eventName": "654b71d0-b2ce-4e6e-a861-98528d4bd375",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "properties": {
+ "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
+ "description": "Virtual machine health is OK",
+ "eventType": "VmHealth",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "OK",
+ "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json
new file mode 100644
index 000000000000..b9649d1dd735
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
+ "name": "JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
+ "properties": {
+ "eventCode": "d32574f6-f59e-4545-b5ac-bc88d545f089",
+ "description": "TestFailover - Failed",
+ "eventType": "JobStatus",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "Critical",
+ "timeOfOccurrence": "2017-05-02T16:00:33.0705652Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": [
+ {
+ "errorCode": "499",
+ "errorMessage": "An internal error occurred.",
+ "possibleCauses": "The operation failed due to an internal error.",
+ "recommendedAction": "Retry the last action. If the issue persists, contact Support."
+ }
+ ]
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "properties": {
+ "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
+ "description": "Virtual machine health is OK",
+ "eventType": "VmHealth",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "OK",
+ "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_CheckConsistency.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_CheckConsistency.json
new file mode 100644
index 000000000000..71823b6186a1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_CheckConsistency.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Create.json
new file mode 100644
index 000000000000..c3bc2e02ba40
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Create.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "customDetails": {
+ "instanceType": "FabricSpecificCreationInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Delete.json
new file mode 100644
index 000000000000..74c2f9916779
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Get.json
new file mode 100644
index 000000000000..f9dbe76527f9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_List.json
new file mode 100644
index 000000000000..47a132dddb28
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
+
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_MigrateToAad.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_MigrateToAad.json
new file mode 100644
index 000000000000..74c2f9916779
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_MigrateToAad.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Purge.json
new file mode 100644
index 000000000000..74c2f9916779
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Purge.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_ReassociateGateway.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_ReassociateGateway.json
new file mode 100644
index 000000000000..d904e7b5594f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_ReassociateGateway.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "fabricName": "GRACE-V2A-1",
+ "api-version": "2018-01-10",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "failoverProcessServerRequest": {
+ "properties": {
+ "containerName": "cloud_1f3c15af-2256-4568-9e06-e1ef4f728f75",
+ "sourceProcessServerId": "AFA0EC54-1894-4E44-9CAB02DB8854B117",
+ "targetProcessServerId": "5D3ED340-85AE-C646-B338641E015DA405",
+ "vmsToMigrate": [
+ "Vm1",
+ "Vm2"
+ ],
+ "updateType": "ServerLevel"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
+ "properties": {
+ "friendlyName": "GRACE-V2A-1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "1f3c15af-2256-4568-9e06-e1ef4f728f75",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "VMware"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_RenewCertificate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_RenewCertificate.json
new file mode 100644
index 000000000000..8d013e65e4fe
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_RenewCertificate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "renewCertificate": {
+ "properties": {
+ "renewCertificateType": "Cloud"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json
new file mode 100644
index 000000000000..f59bef7d934b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "jobName": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "name": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "properties": {
+ "activityId": "bfbbf6dd-9cbb-4cbc-98a6-faecc8891579 ActivityId: 07cc35ca-b63f-4e42-83c9-81ae0191c322",
+ "scenarioName": "PlannedFailover",
+ "friendlyName": "Planned failover",
+ "state": "Cancelling",
+ "stateDescription": "Cancelling",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-03T06:16:06.3235186Z",
+ "allowedActions": [],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {
+ "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "PrimaryVmName": "vm1",
+ "RecoveryVmId": "",
+ "RecoveryVmName": "vm1",
+ "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryCloudName": "cloud1",
+ "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
+ "RecoveryCloudName": "Microsoft Azure",
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "RecoveryVmmName": "Microsoft Azure",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json
new file mode 100644
index 000000000000..ed6de8b50c36
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "jobQueryParameter": {
+ "startTime": "2017-04-27T14:26:51.9161395Z",
+ "endTime": "2017-05-04T14:26:51.9161395Z",
+ "affectedObjectTypes": [],
+ "jobStatus": []
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/37e0fc2b-13f2-4817-aafa-0cd807d46842",
+ "name": "37e0fc2b-13f2-4817-aafa-0cd807d46842",
+ "properties": {
+ "activityId": "36841d27-34f6-49ad-b572-e7dc263f100b-2017-05-04 14:26:47Z-Ibz ActivityId: c124df21-7661-4541-b32a-3c723ebbb045",
+ "scenarioName": "ExportJobs",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-04T14:33:42.2765562Z",
+ "endTime": "2017-05-04T14:33:43Z",
+ "allowedActions": [],
+ "targetObjectId": "",
+ "targetObjectName": "",
+ "targetInstanceType": "Other",
+ "customDetails": {
+ "blobUri": "https://seapod01srs1pspk73202.blob.core.windows.net/datacontainer/Export_37e0fc2b-13f2-4817-aafa-0cd807d46842",
+ "sasToken": "?sv=2015-12-11&sr=c&si=mypolicy&sig=5Z1RyYLS8nT%2BBSdEpVOmqU8GFxkPGQFqYBoYEfj6OJQ%3D",
+ "instanceType": "ExportJobDetails",
+ "affectedObjectDetails": {}
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json
new file mode 100644
index 000000000000..d8e097605626
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/32ea4b9e-de62-49a1-b062-7864d5c3b897",
+ "name": "32ea4b9e-de62-49a1-b062-7864d5c3b897",
+ "properties": {
+ "activityId": "fc8e9c8f-0e76-4b6b-8e7e-d37c1b31eba0 ActivityId: c506b6ba-0711-411e-8b09-1f3f4dcb824b",
+ "scenarioName": "DeleteRecoveryPlan",
+ "friendlyName": "Delete a recovery plan",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [
+ {
+ "taskId": "763326a2-01c9-4257-b2a1-0aac56465014",
+ "name": "DeleteRecoveryPlanTask",
+ "startTime": "2017-04-27T11:25:57.3029434Z",
+ "endTime": "2017-04-27T11:25:57.318574Z",
+ "allowedActions": [],
+ "friendlyName": "Delete a recovery plan task",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "taskType": "TaskDetails",
+ "customDetails": {
+ "instanceType": "ManualActionTaskDetails"
+ },
+ "errors": []
+ }
+ ],
+ "errors": [],
+ "startTime": "2017-04-27T11:25:56.800358Z",
+ "endTime": "2017-04-27T11:25:57Z",
+ "allowedActions": [],
+ "targetObjectId": "966c33bb-66e7-4567-9786-f80b0694f5f9",
+ "targetObjectName": "RPtest1",
+ "targetInstanceType": "RecoveryPlan",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json
new file mode 100644
index 000000000000..31ec71c95b39
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/1557d73f-6244-491e-8f0b-d300f752240b",
+ "name": "1557d73f-6244-491e-8f0b-d300f752240b",
+ "properties": {
+ "scenarioName": "AddProtectionProfile",
+ "friendlyName": "Create replication policy",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-04-27T12:46:04.641851Z",
+ "endTime": "2017-04-27T12:46:11Z",
+ "allowedActions": [],
+ "targetObjectId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "targetObjectName": "protectionprofile1",
+ "targetInstanceType": "ProtectionProfile"
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/0236416a-7573-4913-a4a1-6a286fbb1ceb",
+ "name": "0236416a-7573-4913-a4a1-6a286fbb1ceb",
+ "properties": {
+ "scenarioName": "RegisterDra",
+ "friendlyName": "Register the Azure Site Recovery Provider",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-02T14:07:19.2784338Z",
+ "endTime": "2017-05-02T14:07:21Z",
+ "allowedActions": [],
+ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "targetObjectName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "targetInstanceType": "Server"
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2438d560-80f0-420b-839e-5c8ee0af90a1",
+ "name": "2438d560-80f0-420b-839e-5c8ee0af90a1",
+ "properties": {
+ "scenarioName": "CreateSite",
+ "friendlyName": "Create a site",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-02T05:56:14.569095Z",
+ "endTime": "2017-05-02T05:56:16Z",
+ "allowedActions": [],
+ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "targetObjectName": "cloud1",
+ "targetInstanceType": "Server"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json
new file mode 100644
index 000000000000..00a0de9a95ec
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "jobName": "0664564c-353e-401a-ab0c-722257c10e25",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
+ "name": "42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
+ "properties": {
+ "activityId": "2443a5b4-e675-499f-8983-4126ea0e232c ActivityId: 2a776896-5e56-470b-af55-3c981283c4bc",
+ "scenarioName": "RestartJob",
+ "friendlyName": "Restart job",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [
+ {
+ "taskId": "RemediateWfTask",
+ "name": "RemediateTask",
+ "startTime": "2017-05-03T10:45:13.5677237Z",
+ "endTime": "2017-05-03T10:45:13.6458467Z",
+ "allowedActions": [],
+ "friendlyName": "Restarting job",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "taskType": "TaskDetails",
+ "customDetails": {
+ "instanceType": "ManualActionTaskDetails"
+ },
+ "errors": []
+ }
+ ],
+ "errors": [],
+ "startTime": "2017-05-03T10:45:12.1320757Z",
+ "endTime": "2017-05-03T10:45:14Z",
+ "allowedActions": [],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {}
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json
new file mode 100644
index 000000000000..55a030fff129
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "resumeJobParams": {
+ "properties": {
+ "comments": " "
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/58776d0b-3141-48b2-a377-9ad863eb160d",
+ "name": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "properties": {
+ "activityId": "1b808dfe-0451-44ac-894c-c7270711cd8c ActivityId: 9f6f849e-922a-43ec-a7a6-0be45fc85c56",
+ "scenarioName": "TestFailover",
+ "friendlyName": "Test failover",
+ "state": "Suspended",
+ "stateDescription": "WaitingForStopTestFailover",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-04-25T09:57:57.0357829Z",
+ "allowedActions": [
+ "Cancel",
+ "Resume"
+ ],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "TestFailoverJobDetails",
+ "testFailoverStatus": "Completed",
+ "comments": " ",
+ "networkName": "vnetavrai",
+ "networkFriendlyName": "vnetavrai",
+ "networkType": "VmNetworkAsInput",
+ "protectedItemDetails": [
+ {
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "friendlyName": "vm1",
+ "testVmName": "vm1-test",
+ "testVmFriendlyName": "vm1-test",
+ "networkConnectionStatus": "Connected",
+ "networkFriendlyName": "vnetavrai",
+ "subnet": "Subnet1"
+ }
+ ],
+ "affectedObjectDetails": {
+ "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "PrimaryVmName": "vm1",
+ "RecoveryVmId": "",
+ "RecoveryVmName": "vm1",
+ "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryCloudName": "cloud1",
+ "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
+ "RecoveryCloudName": "Microsoft Azure",
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "RecoveryVmmName": "Microsoft Azure",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_Get.json
new file mode 100644
index 000000000000..a53c0749a1e6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "logicalNetworkName": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "properties": {
+ "friendlyName": "corp",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..2e6a3aa7ca6f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "properties": {
+ "friendlyName": "corp",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/87ab394f-165f-4aa9-bd84-b018500b4509",
+ "name": "53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "properties": {
+ "friendlyName": "LN-VLANNetwork-4",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsIsolated"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Create.json
new file mode 100644
index 000000000000..7d63512ed867
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Create.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap",
+ "input": {
+ "properties": {
+ "recoveryFabricName": "Microsoft Azure",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "fabricSpecificDetails": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Delete.json
new file mode 100644
index 000000000000..b91fb410d946
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Get.json
new file mode 100644
index 000000000000..d43a1e30caf1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_List.json
new file mode 100644
index 000000000000..6a47ac5fbb67
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServicesBVTD2/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
new file mode 100644
index 000000000000..720c857d03bd
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Update.json
new file mode 100644
index 000000000000..5e699552557a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Update.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap",
+ "input": {
+ "properties": {
+ "recoveryFabricName": "Microsoft Azure",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2",
+ "fabricSpecificDetails": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai2",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_Get.json
new file mode 100644
index 000000000000..a627e6b726cb
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "93ce99d7-1219-4914-aa61-73fe5023988e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_List.json
new file mode 100644
index 000000000000..4bce79a6d8cd
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_List.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_NoIso",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "corp",
+ "networkType": "NoIsolation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..3f34b5ffb8f5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-01-10",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_NoIso",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "corp",
+ "networkType": "NoIsolation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Create.json
new file mode 100644
index 000000000000..749bbe6b5685
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Create.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "providerSpecificInput": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Delete.json
new file mode 100644
index 000000000000..e841b2c466cc
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Get.json
new file mode 100644
index 000000000000..5ae77c2c6cc4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_List.json
new file mode 100644
index 000000000000..17fb190d19c4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Update.json
new file mode 100644
index 000000000000..407bf8a52898
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Update.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "replicationProviderSettings": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_Get.json
new file mode 100644
index 000000000000..88cd8cf0ca40
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectableItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm2",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "HyperVVirtualMachine"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..ed2b9c2a8399
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm2",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "HyperVVirtualMachine"
+ }
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "HyperVVirtualMachine"
+ }
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems?api-version=2018-01-10&%24skipToken=ReplicationGroup%3aBegin"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
new file mode 100644
index 000000000000..6dbccd5f951d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "applyRecoveryPointInput": {
+ "properties": {
+ "recoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
+ "protectionStateDescription": "Failover completed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Critical",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json
new file mode 100644
index 000000000000..34395060a6d8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Delete.json
new file mode 100644
index 000000000000..a8c1b23e1944
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "disableProtectionInput": {
+ "properties": {
+ "replicationProviderInput": {
+ "instanceType": "DisableProtectionProviderSpecificInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json
new file mode 100644
index 000000000000..62b1cec83c0a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "PlannedFailoverStatesBegin",
+ "protectionStateDescription": "Planned failover committed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "DisableProtection",
+ "Failback"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+ }
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json
new file mode 100644
index 000000000000..63c9ddec8554
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json
new file mode 100644
index 000000000000..fd68abc60dfe
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..67371b3e2555
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json
new file mode 100644
index 000000000000..1ea52d8ebc83
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "PlannedFailoverCommitRequired",
+ "protectionStateDescription": "Planned failover finished",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Purge.json
new file mode 100644
index 000000000000..16c887d4880c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Purge.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json
new file mode 100644
index 000000000000..ac86282e782a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json
new file mode 100644
index 000000000000..600165568b94
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "rrInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json
new file mode 100644
index 000000000000..746bec8842e5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "networkType": "VmNetworkAsInput",
+ "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "skipTestFailoverCleanup": "false",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Cleanup test failover pending",
+ "activeLocation": "Primary",
+ "testFailoverState": "WaitingForCompletion",
+ "testFailoverStateDescription": "Waiting for user input",
+ "allowedOperations": [
+ "TestFailoverCleanup"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "TestFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2838f9b4-2609-4f76-a7e9-07e6387c5e98",
+ "startTime": "2017-04-25T09:57:57.0357829Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/0689d0d0-3518-4793-8c98-c26bf94526f6",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json
new file mode 100644
index 000000000000..7944066d0f73
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "cleanupInput": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json
new file mode 100644
index 000000000000..4ddf509a3c5b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "sourceSiteOperations": "NotRequired",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
+ "protectionStateDescription": "Failover completed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b2c7b208-0999-40a4-804f-8ee1019c8f76",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json
new file mode 100644
index 000000000000..b6e8b63b1887
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "updateProtectionInput": {
+ "properties": {
+ "recoveryAzureVMName": "vm1",
+ "recoveryAzureVMSize": "Basic_A0",
+ "selectedRecoveryAzureNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "vmNics": [
+ {
+ "nicId": "TWljcm9zb2Z0OkY4NDkxRTRGLTgxN0EtNDBERC1BOTBDLUFGNzczOTc4Qzc1Qlw3NjAwMzMxRS03NDk4LTQ0QTQtQjdDNy0xQjY1NkJDREQ1MkQ=",
+ "recoveryVMSubnetName": "Subnet1",
+ "selectionType": "SelectedByUser"
+ }
+ ],
+ "licenseType": "WindowsServer",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json
new file mode 100644
index 000000000000..feb8f5e7909b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicationProtectedItemName": "79dd20ab-2b40-11e7-9791-0050568f387e",
+ "protectionContainerName": "cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0",
+ "fabricName": "WIN-JKKJ31QI8U2",
+ "resourceName": "WCUSVault",
+ "resourceGroupName": "wcusValidations",
+ "subscriptionId": "b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c",
+ "updateMobilityServiceRequest": {
+ "properties": {
+ "runAsAccountId": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "79dd20ab-2b40-11e7-9791-0050568f387e",
+ "id": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectedItems/79dd20ab-2b40-11e7-9791-0050568f387e",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "MMR-LIN-V2A-3",
+ "protectedItemType": "",
+ "protectableItemId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectableItems/79dd20ab-2b40-11e7-9791-0050568f387e",
+ "recoveryServicesProviderId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationRecoveryServicesProviders/c6780228-83bd-4f3e-a70e-cb46b7da33a0",
+ "primaryFabricFriendlyName": "WIN-JKKJ31QI8U2",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "WIN-JKKJ31QI8U2",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationPolicies/MadhaviPolicyNew",
+ "policyFriendlyName": "MadhaviPolicyNew",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "InMageAzureV2"
+ },
+ "recoveryContainerId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Create.json
new file mode 100644
index 000000000000..cf205dad4080
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Create.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "creationInput": {
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "PolicyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "providerSpecificInput": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Delete.json
new file mode 100644
index 000000000000..c2619e182a1b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "removalInput": {
+ "properties": {
+ "providerSpecificInput": {}
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Get.json
new file mode 100644
index 000000000000..6ae7990cae43
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_List.json
new file mode 100644
index 000000000000..08922ab0723a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..821fe30caf0b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Purge.json
new file mode 100644
index 000000000000..84350a519127
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Purge.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Create.json
new file mode 100644
index 000000000000..16edf4a5150a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Create.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "creationInput": {
+ "properties": {
+ "providerSpecificInput": [
+ {
+ "instanceType": "ReplicationProviderSpecificContainerCreationInput"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Delete.json
new file mode 100644
index 000000000000..d770870e8e2e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
new file mode 100644
index 000000000000..366ee0d91f9c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectionContainerName": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "fabricName": "V2A-W2K12-660",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "discoverProtectableItemRequest": {
+ "properties": {
+ "friendlyName": "Test",
+ "ipAddress": "10.150.2.3",
+ "osType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationProtectionContainers/cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "name": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "V2A-W2K12-660",
+ "friendlyName": "V2A-W2K12-660",
+ "fabricType": "VMware",
+ "protectedItemCount": 2,
+ "pairingStatus": "Paired",
+ "role": "Primary"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Get.json
new file mode 100644
index 000000000000..b86b116262da
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_List.json
new file mode 100644
index 000000000000..8a86ca9c002f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..4a8388db1deb
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_SwitchProtection.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_SwitchProtection.json
new file mode 100644
index 000000000000..410964935533
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_SwitchProtection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "protectionContainerName": "CentralUSCancloud",
+ "fabricName": "CentralUSCanSite",
+ "resourceName": "priyanponeboxvault",
+ "resourceGroupName": "priyanprg",
+ "subscriptionId": "42195872-7e70-4f8a-837f-84b28ecbb78b",
+ "switchInput": {
+ "properties": {
+ "replicationProtectedItemName": "a2aSwapOsVm",
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationFabrics/EUSCanSite/replicationProtectionContainers/euscancloud",
+ "name": "euscancloud",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "East US 2 EUAP",
+ "friendlyName": "euscancloud",
+ "fabricType": "Azure",
+ "protectedItemCount": 0,
+ "pairingStatus": "Paired",
+ "role": "Primary"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Create.json
new file mode 100644
index 000000000000..e76737b870ef
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Create.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "groups": [
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Delete.json
new file mode 100644
index 000000000000..1ab55bc98cd7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_FailoverCommit.json
new file mode 100644
index 000000000000..f4dbbb281c14
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_FailoverCommit.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "CommitFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b",
+ "startTime": "2017-04-27T08:52:42.1587592Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Get.json
new file mode 100644
index 000000000000..98a2d57ab5ce
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Get.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_List.json
new file mode 100644
index 000000000000..2bf31c7d5996
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_PlannedFailover.json
new file mode 100644
index 000000000000..e6033946270f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_PlannedFailover.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover",
+ "Commit"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "PlannedFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d4821a53-90da-4fcb-bc11-a280d13e3350",
+ "startTime": "2017-04-27T07:34:02.6176524Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Reprotect.json
new file mode 100644
index 000000000000..3bdffbb10379
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Reprotect.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "ReverseReplication",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/edf01dfb-b649-4802-91e4-3d55ce3bebf0",
+ "startTime": "2017-04-27T09:52:16.9818841Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailover.json
new file mode 100644
index 000000000000..2f9202a0bf83
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailover.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "networkType": "VmNetworkAsInput",
+ "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "TestFailoverCleanup"
+ ],
+ "currentScenario": {
+ "scenarioName": "TestFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d40bfb40-aaaa-4c0d-87d3-41b15439a84b",
+ "startTime": "2017-04-27T07:00:58.8191916Z"
+ },
+ "currentScenarioStatus": "Suspended",
+ "currentScenarioStatusDescription": "WaitingForStopTestFailover",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
new file mode 100644
index 000000000000..55655b019f2d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "TestFailoverCleanup",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/4ae8eaa8-a384-42cb-9768-152cb5b8a1ff",
+ "startTime": "2017-04-27T07:10:52.8424747Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json
new file mode 100644
index 000000000000..be38a77acd84
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "sourceSiteOperations": "Required",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover",
+ "Commit"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "UnplannedFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/60b84068-9adb-4867-a49d-88be40bff14b",
+ "startTime": "2017-04-27T10:03:03.2206946Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Update.json
new file mode 100644
index 000000000000..f459cc6cea87
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Update.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Delete.json
new file mode 100644
index 000000000000..4954000a8b36
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Get.json
new file mode 100644
index 000000000000..8a2c5feb849e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:16:04.9405768Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_List.json
new file mode 100644
index 000000000000..a1b5117bf57a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_List.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..cb9319f79158
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Purge.json
new file mode 100644
index 000000000000..4954000a8b36
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Purge.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
new file mode 100644
index 000000000000..ce1f0629f280
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:48:36.6528303Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Create.json
new file mode 100644
index 000000000000..38bae67d650c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Create.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "pairingInput": {
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Delete.json
new file mode 100644
index 000000000000..ab824363846e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Get.json
new file mode 100644
index 000000000000..9f530c62ea76
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_List.json
new file mode 100644
index 000000000000..1c02bc7383f7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
new file mode 100644
index 000000000000..799a7fc0036d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_Get.json
new file mode 100644
index 000000000000..fac7b9b134b8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_List.json
new file mode 100644
index 000000000000..aad8ae300e22
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..07705abc9c1c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Get.json
new file mode 100644
index 000000000000..0724af543630
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default",
+ "properties": {
+ "vaultErrors": [],
+ "protectedItemsHealth": {
+ "resourceCount": 6,
+ "issues": [{
+ "summaryCode": "10008",
+ "category": "Replication",
+ "severity": "Error",
+ "summaryMessage": "RPO Throttled",
+ "affectedResourceType": "replicationProtectedItems",
+ "affectedResourceSubtype": "",
+ "affectedResourceCorrelationIds": [
+ "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "c183865e-6077-46f2-a3b1-ceb0a4c3751e"
+ ]
+ }]
+ },
+ "fabricsHealth": {
+ "resourceCount": 1,
+ "issues": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Refresh.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Refresh.json
new file mode 100644
index 000000000000..cc81a60ee9e2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Refresh.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default",
+ "properties": {
+ "vaultErrors": [ ],
+ "protectedItemsHealth": {
+ "resourceCount": 2,
+ "issues": [ ]
+ },
+ "fabricsHealth": {
+ "resourceCount": 1,
+ "issues": [ ]
+ }
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Create.json
new file mode 100644
index 000000000000..623c8d36fe9d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Create.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-01-10",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "addVCenterRequest": {
+ "properties": {
+ "friendlyName": "esx-78",
+ "ipAddress": "inmtest78",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "port": "443",
+ "runAsAccountId": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Delete.json
new file mode 100644
index 000000000000..b55cfd915a0d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-01-10",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Get.json
new file mode 100644
index 000000000000..b79e38005106
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-01-10",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_List.json
new file mode 100644
index 000000000000..8a70a9cf1426
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..f3312a0e2880
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_ListByReplicationFabrics.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-01-10",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Update.json
new file mode 100644
index 000000000000..9a4567ef28d0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Update.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-01-10",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "updateVCenterRequest": {
+ "properties": {
+ "ipAddress": "10.150.109.25"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "10.150.109.25",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..58a98bb1008b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2018-01-10",
+ "replicatedProtectedItemName": "468c912d-b1ab-4ea2-97eb-4b5095155db2",
+ "protectionContainerName": "asr-a2a-default-centraluseuap-container",
+ "fabricName": "asr-a2a-default-centraluseuap",
+ "resourceName": "avraiMgDiskVault",
+ "resourceGroupName": "avraiMgDiskVaultRG",
+ "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Basic_A0",
+ "name": "Basic_A0",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes",
+ "properties": {
+ "name": "Basic_A0",
+ "friendlyName": "Basic_A0",
+ "cpuCoresCount": 1,
+ "memoryInGB": 0.75,
+ "maxDataDiskCount": 1,
+ "maxNicsCount": 2,
+ "errors": null,
+ "highIopsSupported": "NotSupported"
+ }
+ },
+ {
+ "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Standard_A0",
+ "name": "Standard_A0",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes",
+ "properties": {
+ "name": "Standard_A0",
+ "friendlyName": "Standard_A0",
+ "cpuCoresCount": 1,
+ "memoryInGB": 0.75,
+ "maxDataDiskCount": 1,
+ "maxNicsCount": 2,
+ "errors": null,
+ "highIopsSupported": "NotSupported"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json
new file mode 100644
index 000000000000..74b110ed3d45
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json
@@ -0,0 +1,14614 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-10",
+ "title": "SiteRecoveryManagementClient",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Returns the list of available operations.",
+ "description": "Operation to return the list of available operations.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsDiscoveryCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Returns the list of available operations.": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": {
+ "get": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Gets the list of configured email notification(alert) configurations.",
+ "description": "Gets the list of email notification(alert) configurations for the vault.",
+ "operationId": "ReplicationAlertSettings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AlertCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of configured email notification(alert) configurations.": {
+ "$ref": "./examples/ReplicationAlertSettings_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": {
+ "get": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Gets an email notification(alert) configuration.",
+ "description": "Gets the details of the specified email notification(alert) configuration.",
+ "operationId": "ReplicationAlertSettings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "alertSettingName",
+ "in": "path",
+ "description": "The name of the email notification configuration.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets an email notification(alert) configuration.": {
+ "$ref": "./examples/ReplicationAlertSettings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Configures email notifications for this vault.",
+ "description": "Create or update an email notification(alert) configuration.",
+ "operationId": "ReplicationAlertSettings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "alertSettingName",
+ "in": "path",
+ "description": "The name of the email notification(alert) configuration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "The input to configure the email notification(alert).",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigureAlertRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configures email notifications for this vault.": {
+ "$ref": "./examples/ReplicationAlertSettings_Create.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": {
+ "get": {
+ "tags": [
+ "ReplicationEvents"
+ ],
+ "summary": "Gets the list of Azure Site Recovery events.",
+ "description": "Gets the list of Azure Site Recovery events for the vault.",
+ "operationId": "ReplicationEvents_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/EventQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of Azure Site Recovery events.": {
+ "$ref": "./examples/ReplicationEvents_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": {
+ "get": {
+ "tags": [
+ "ReplicationEvents"
+ ],
+ "summary": "Get the details of an Azure Site recovery event.",
+ "description": "The operation to get the details of an Azure Site recovery event.",
+ "operationId": "ReplicationEvents_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "eventName",
+ "in": "path",
+ "description": "The name of the Azure Site Recovery event.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get the details of an Azure Site recovery event.": {
+ "$ref": "./examples/ReplicationEvents_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": {
+ "get": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Gets the list of ASR fabrics",
+ "description": "Gets a list of the Azure Site Recovery fabrics in the vault.",
+ "operationId": "ReplicationFabrics_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FabricCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of ASR fabrics": {
+ "$ref": "./examples/ReplicationFabrics_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": {
+ "get": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Gets the details of an ASR fabric.",
+ "description": "Gets the details of an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of an ASR fabric.": {
+ "$ref": "./examples/ReplicationFabrics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Creates an Azure Site Recovery fabric.",
+ "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)",
+ "operationId": "ReplicationFabrics_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the ASR fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Fabric creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FabricCreationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates an Azure Site Recovery fabric.": {
+ "$ref": "./examples/ReplicationFabrics_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Purges the site.",
+ "description": "The operation to purge(force delete) an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Purge",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to purge.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges the site.": {
+ "$ref": "./examples/ReplicationFabrics_Purge.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Checks the consistency of the ASR fabric.",
+ "description": "The operation to perform a consistency check on the fabric.",
+ "operationId": "ReplicationFabrics_CheckConsistency",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Checks the consistency of the ASR fabric.": {
+ "$ref": "./examples/ReplicationFabrics_CheckConsistency.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Migrates the site to AAD.",
+ "description": "The operation to migrate an Azure Site Recovery fabric to AAD.",
+ "operationId": "ReplicationFabrics_MigrateToAad",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to migrate.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Migrates the site to AAD.": {
+ "$ref": "./examples/ReplicationFabrics_MigrateToAad.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Perform failover of the process server.",
+ "description": "The operation to move replications from a process server to another process server.",
+ "operationId": "ReplicationFabrics_ReassociateGateway",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric containing the process server.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverProcessServerRequest",
+ "in": "body",
+ "description": "The input to the failover process server operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverProcessServerRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Perform failover of the process server.": {
+ "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Deletes the site.",
+ "description": "The operation to delete or remove an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to delete",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes the site.": {
+ "$ref": "./examples/ReplicationFabrics_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Renews certificate for the fabric.",
+ "description": "Renews the connection certificate for the ASR replication fabric.",
+ "operationId": "ReplicationFabrics_RenewCertificate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "fabric name to renew certs for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "renewCertificate",
+ "in": "body",
+ "description": "Renew certificate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RenewCertificateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Renews certificate for the fabric.": {
+ "$ref": "./examples/ReplicationFabrics_RenewCertificate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationLogicalNetworks"
+ ],
+ "summary": "Gets the list of logical networks under a fabric.",
+ "description": "Lists all the logical networks of the Azure Site Recovery fabric",
+ "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of logical networks under a fabric.": {
+ "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": {
+ "get": {
+ "tags": [
+ "ReplicationLogicalNetworks"
+ ],
+ "summary": "Gets a logical network with specified server id and logical network name.",
+ "description": "Gets the details of a logical network.",
+ "operationId": "ReplicationLogicalNetworks_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "logicalNetworkName",
+ "in": "path",
+ "description": "Logical network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetwork"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a logical network with specified server id and logical network name.": {
+ "$ref": "./examples/ReplicationLogicalNetworks_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets the list of networks under a fabric.",
+ "description": "Lists the networks available for a fabric.",
+ "operationId": "ReplicationNetworks_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of networks under a fabric.": {
+ "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets a network with specified server id and network name.",
+ "description": "Gets the details of a network.",
+ "operationId": "ReplicationNetworks_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Network"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a network with specified server id and network name.": {
+ "$ref": "./examples/ReplicationNetworks_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets all the network mappings under a network.",
+ "description": "Lists all ASR network mappings for the specified network.",
+ "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all the network mappings under a network.": {
+ "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets network mapping by name.",
+ "description": "Gets the details of an ASR network mapping",
+ "operationId": "ReplicationNetworkMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets network mapping by name.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Creates network mapping.",
+ "description": "The operation to create an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create network mapping input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateNetworkMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Delete network mapping.",
+ "description": "The operation to delete a network mapping.",
+ "operationId": "ReplicationNetworkMappings_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "ARM Resource Name for network mapping.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Updates network mapping.",
+ "description": "The operation to update an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update network mapping input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateNetworkMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Update.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the list of protection container for a fabric.",
+ "description": "Lists the protection containers in the specified fabric.",
+ "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of protection container for a fabric.": {
+ "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the protection container details.",
+ "description": "Gets the details of a protection container.",
+ "operationId": "ReplicationProtectionContainers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the protection container details.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Create a protection container.",
+ "description": "Operation to create a protection container.",
+ "operationId": "ReplicationProtectionContainers_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Unique protection container ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "creationInput",
+ "in": "body",
+ "description": "Creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionContainerInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Create.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Adds a protectable item to the replication protection container.",
+ "description": "The operation to a add a protectable item to a protection container(Add physical server.)",
+ "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the protection container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "discoverProtectableItemRequest",
+ "in": "body",
+ "description": "The request object to add a protectable item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiscoverProtectableItemRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Adds a protectable item to the replication protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Removes a protection container.",
+ "description": "Operation to remove a protection container.",
+ "operationId": "ReplicationProtectionContainers_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Unique protection container ARM name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Removes a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectableItems"
+ ],
+ "summary": "Gets the list of protectable items.",
+ "description": "Lists the protectable items in a protection container.",
+ "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of protectable items.": {
+ "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectableItems"
+ ],
+ "summary": "Gets the details of a protectable item.",
+ "description": "The operation to get the details of a protectable item.",
+ "operationId": "ReplicationProtectableItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectableItemName",
+ "in": "path",
+ "description": "Protectable item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a protectable item.": {
+ "$ref": "./examples/ReplicationProtectableItems_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the list of Replication protected items.",
+ "description": "Gets the list of ASR replication protected items in the protection container.",
+ "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of Replication protected items.": {
+ "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the details of a Replication protected item.",
+ "description": "Gets the details of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a Replication protected item.": {
+ "$ref": "./examples/ReplicationProtectedItems_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Enables protection.",
+ "description": "The operation to create an ASR replication protected item (Enable replication).",
+ "operationId": "ReplicationProtectedItems_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "A name for the replication protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Enable Protection Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnableProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Enables protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Purges protection.",
+ "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.",
+ "operationId": "ReplicationProtectedItems_Purge",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Purge.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Updates protection.",
+ "description": "The operation to update the recovery settings of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateProtectionInput",
+ "in": "body",
+ "description": "Update protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Update.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Change or apply recovery point.",
+ "description": "The operation to change the recovery point of a failed over replication protected item.",
+ "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The ARM fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replicated protected item's name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "applyRecoveryPointInput",
+ "in": "body",
+ "description": "The ApplyRecoveryPointInput.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplyRecoveryPointInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Change or apply recovery point.": {
+ "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute commit failover",
+ "description": "Operation to commit the failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_FailoverCommit",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute commit failover": {
+ "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute planned failover",
+ "description": "Operation to initiate a planned failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_PlannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Disable protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PlannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute planned failover": {
+ "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "summary": "Get recovery points for a replication protected item.",
+ "description": "Lists the available recovery points for a replication protected item.",
+ "operationId": "RecoveryPoints_ListByReplicationProtectedItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replication protected item's name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get recovery points for a replication protected item.": {
+ "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "summary": "Get a recovery point.",
+ "description": "Get the details of specified recovery point.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replication protected item's name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointName",
+ "in": "path",
+ "description": "The recovery point name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a recovery point.": {
+ "$ref": "./examples/RecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Disables protection.",
+ "description": "The operation to disable replication on a replication protected item. This will also remove the item.",
+ "operationId": "ReplicationProtectedItems_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "disableProtectionInput",
+ "in": "body",
+ "description": "Disable protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DisableProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Disables protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Resynchronize or repair replication.",
+ "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.",
+ "operationId": "ReplicationProtectedItems_RepairReplication",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The name of the replication protected item.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resynchronize or repair replication.": {
+ "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute Reverse Replication\\Reprotect",
+ "description": "Operation to reprotect or reverse replicate a failed over replication protected item.",
+ "operationId": "ReplicationProtectedItems_Reprotect",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "rrInput",
+ "in": "body",
+ "description": "Disable protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReverseReplicationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute Reverse Replication\\Reprotect": {
+ "$ref": "./examples/ReplicationProtectedItems_Reprotect.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": {
+ "get": {
+ "tags": [
+ "TargetComputeSizes"
+ ],
+ "summary": "Gets the list of target compute sizes for the replication protected item.",
+ "description": "Lists the available target compute sizes for a replication protected item.",
+ "operationId": "TargetComputeSizes_ListByReplicationProtectedItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TargetComputeSizeCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of target compute sizes for the replication protected item.": {
+ "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute test failover",
+ "description": "Operation to perform a test failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_TestFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Test failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover": {
+ "$ref": "./examples/ReplicationProtectedItems_TestFailover.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute test failover cleanup.",
+ "description": "Operation to clean up the test failover of a replication protected item.",
+ "operationId": "ReplicationProtectedItems_TestFailoverCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "cleanupInput",
+ "in": "body",
+ "description": "Test failover cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestFailoverCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover cleanup.": {
+ "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute unplanned failover",
+ "description": "Operation to initiate a failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_UnplannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Disable protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnplannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute unplanned failover": {
+ "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Update the mobility service on a protected item.",
+ "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.",
+ "operationId": "ReplicationProtectedItems_UpdateMobilityService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric containing the protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the container containing the protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicationProtectedItemName",
+ "in": "path",
+ "description": "The name of the protected item on which the agent is to be updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateMobilityServiceRequest",
+ "in": "body",
+ "description": "Request to update the mobility service on the protected item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateMobilityServiceRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update the mobility service on a protected item.": {
+ "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets the list of protection container mappings for a protection container.",
+ "description": "Lists the protection container mappings for a protection container.",
+ "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of protection container mappings for a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets a protection container mapping/",
+ "description": "Gets the details of a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection Container mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a protection container mapping/": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Create protection container mapping.",
+ "description": "The operation to create a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "creationInput",
+ "in": "body",
+ "description": "Mapping creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Purge protection container mapping.",
+ "description": "The operation to purge(force delete) a protection container mapping",
+ "operationId": "ReplicationProtectionContainerMappings_Purge",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purge protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Remove protection container mapping.",
+ "description": "The operation to delete or remove a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "removalInput",
+ "in": "body",
+ "description": "Removal input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RemoveProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Remove protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Switches protection from one container to another or one replication provider to another.",
+ "description": "Operation to switch protection from one container to another or one replication provider to another.",
+ "operationId": "ReplicationProtectionContainers_SwitchProtection",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "switchInput",
+ "in": "body",
+ "description": "Switch protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SwitchProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Switches protection from one container to another or one replication provider to another.": {
+ "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the list of registered recovery services providers for the fabric.",
+ "description": "Lists the registered recovery services providers for the specified fabric.",
+ "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProviderCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of registered recovery services providers for the fabric.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the details of a recovery services provider.",
+ "description": "Gets the details of registered recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Purges recovery service provider from fabric",
+ "description": "The operation to purge(force delete) a recovery services provider from the vault.",
+ "operationId": "ReplicationRecoveryServicesProviders_Purge",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges recovery service provider from fabric": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Refresh details from the recovery services provider.",
+ "description": "The operation to refresh the information from the recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Refresh details from the recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).",
+ "description": "The operation to removes/delete(unregister) a recovery services provider from the vault",
+ "operationId": "ReplicationRecoveryServicesProviders_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the list of storage classification objects under a fabric.",
+ "description": "Lists the storage classifications available in the specified fabric.",
+ "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Site name of interest.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification objects under a fabric.": {
+ "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the details of a storage classification.",
+ "description": "Gets the details of the specified storage classification.",
+ "operationId": "ReplicationStorageClassifications_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassification"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a storage classification.": {
+ "$ref": "./examples/ReplicationStorageClassifications_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the list of storage classification mappings objects under a storage.",
+ "description": "Lists the storage classification mappings for the fabric.",
+ "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classfication name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification mappings objects under a storage.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the details of a storage classification mapping.",
+ "description": "Gets the details of the specified storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Create storage classification mapping.",
+ "description": "The operation to create a storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "pairingInput",
+ "in": "body",
+ "description": "Pairing input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Delete a storage classification mapping.",
+ "description": "The operation to delete a storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the list of vCenter registered under a fabric.",
+ "description": "Lists the vCenter servers registered in a fabric.",
+ "operationId": "ReplicationvCenters_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenterCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vCenter registered under a fabric.": {
+ "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the details of a vCenter.",
+ "description": "Gets the details of a registered vCenter server(Add vCenter server.)",
+ "operationId": "ReplicationvCenters_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vCenterName",
+ "in": "path",
+ "description": "vCenter name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a vCenter.": {
+ "$ref": "./examples/ReplicationvCenters_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Add vCenter.",
+ "description": "The operation to create a vCenter object..",
+ "operationId": "ReplicationvCenters_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vCenterName",
+ "in": "path",
+ "description": "vCenter name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addVCenterRequest",
+ "in": "body",
+ "description": "The input to the add vCenter operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddVCenterRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Add vCenter.": {
+ "$ref": "./examples/ReplicationvCenters_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Remove vCenter operation.",
+ "description": "The operation to remove(unregister) a registered vCenter server from the vault.",
+ "operationId": "ReplicationvCenters_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vCenterName",
+ "in": "path",
+ "description": "vCenter name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Remove vCenter operation.": {
+ "$ref": "./examples/ReplicationvCenters_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Update vCenter operation.",
+ "description": "The operation to update a registered vCenter.",
+ "operationId": "ReplicationvCenters_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vCenterName",
+ "in": "path",
+ "description": "vCeneter name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateVCenterRequest",
+ "in": "body",
+ "description": "The input to the update vCenter operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateVCenterRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update vCenter operation.": {
+ "$ref": "./examples/ReplicationvCenters_Update.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": {
+ "get": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Gets the list of jobs.",
+ "description": "Gets the list of Azure Site Recovery Jobs for the vault.",
+ "operationId": "ReplicationJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/JobQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of jobs.": {
+ "$ref": "./examples/ReplicationJobs_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": {
+ "get": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Gets the job details.",
+ "description": "Get the details of an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the job details.": {
+ "$ref": "./examples/ReplicationJobs_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Cancels the specified job.",
+ "description": "The operation to cancel an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Cancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job indentifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Cancels the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Cancel.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Restarts the specified job.",
+ "description": "The operation to restart an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Restart",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restarts the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Restart.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Resumes the specified job.",
+ "description": "The operation to resume an Azure Site Recovery job",
+ "operationId": "ReplicationJobs_Resume",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resumeJobParams",
+ "in": "body",
+ "description": "Resume rob comments.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResumeJobParams"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resumes the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Resume.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Exports the details of the Azure Site Recovery jobs of the vault.",
+ "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.",
+ "operationId": "ReplicationJobs_Export",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobQueryParameter",
+ "in": "body",
+ "description": "job query filter.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobQueryParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Exports the details of the Azure Site Recovery jobs of the vault.": {
+ "$ref": "./examples/ReplicationJobs_Export.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets all the network mappings under a vault.",
+ "description": "Lists all ASR network mappings in the vault.",
+ "operationId": "ReplicationNetworkMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all the network mappings under a vault.": {
+ "$ref": "./examples/ReplicationNetworkMappings_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets the list of networks. View-only API.",
+ "description": "Lists the networks available in a vault",
+ "operationId": "ReplicationNetworks_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of networks. View-only API.": {
+ "$ref": "./examples/ReplicationNetworks_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": {
+ "get": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Gets the list of replication policies",
+ "description": "Lists the replication policies for a vault.",
+ "operationId": "ReplicationPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PolicyCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of replication policies": {
+ "$ref": "./examples/ReplicationPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Gets the requested policy.",
+ "description": "Gets the details of a replication policy.",
+ "operationId": "ReplicationPolicies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the requested policy.": {
+ "$ref": "./examples/ReplicationPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Creates the policy.",
+ "description": "The operation to create a replication policy",
+ "operationId": "ReplicationPolicies_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create policy input",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreatePolicyInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Delete the policy.",
+ "description": "The operation to delete a replication policy.",
+ "operationId": "ReplicationPolicies_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Updates the policy.",
+ "description": "The operation to update a replication policy.",
+ "operationId": "ReplicationPolicies_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Policy Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update Policy Input",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdatePolicyInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Update.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the list of replication protected items.",
+ "description": "Gets the list of ASR replication protected items in the vault.",
+ "operationId": "ReplicationProtectedItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of replication protected items.": {
+ "$ref": "./examples/ReplicationProtectedItems_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets the list of all protection container mappings in a vault.",
+ "description": "Lists the protection container mappings in the vault.",
+ "operationId": "ReplicationProtectionContainerMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of all protection container mappings in a vault.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the list of all protection containers in a vault.",
+ "description": "Lists the protection containers in a vault.",
+ "operationId": "ReplicationProtectionContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of all protection containers in a vault.": {
+ "$ref": "./examples/ReplicationProtectionContainers_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Gets the list of recovery plans.",
+ "description": "Lists the recovery plans in the vault.",
+ "operationId": "ReplicationRecoveryPlans_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of recovery plans.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Gets the requested recovery plan.",
+ "description": "Gets the details of the recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Name of the recovery plan.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the requested recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Creates a recovery plan with the given details.",
+ "description": "The operation to create a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery Plan creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateRecoveryPlanInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates a recovery plan with the given details.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Deletes the specified recovery plan.",
+ "description": "Delete a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes the specified recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Updates the given recovery plan.",
+ "description": "The operation to update a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update recovery plan input",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateRecoveryPlanInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the given recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Update.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute commit failover of the recovery plan.",
+ "description": "The operation to commit the fail over of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_FailoverCommit",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute commit failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute planned failover of the recovery plan.",
+ "description": "The operation to start the planned failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_PlannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute planned failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute reprotect of the recovery plan.",
+ "description": "The operation to reprotect(reverse replicate) a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Reprotect",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute reprotect of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute test failover of the recovery plan.",
+ "description": "The operation to start the test failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_TestFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute test failover cleanup of the recovery plan.",
+ "description": "The operation to cleanup test failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Test failover cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover cleanup of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute unplanned failover of the recovery plan.",
+ "description": "The operation to start the failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_UnplannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute unplanned failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.",
+ "description": "Lists the registered recovery services providers in the vault",
+ "operationId": "ReplicationRecoveryServicesProviders_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProviderCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of registered recovery services providers in the vault. This is a view only api.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the list of storage classification mappings objects under a vault.",
+ "description": "Lists the storage classification mappings in the vault.",
+ "operationId": "ReplicationStorageClassificationMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification mappings objects under a vault.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the list of storage classification objects under a vault.",
+ "description": "Lists the storage classifications in the vault.",
+ "operationId": "ReplicationStorageClassifications_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification objects under a vault.": {
+ "$ref": "./examples/ReplicationStorageClassifications_List.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": {
+ "get": {
+ "tags": [
+ "ReplicationVaultHealth"
+ ],
+ "summary": "Gets the health summary for the vault.",
+ "description": "Gets the health details of the vault.",
+ "operationId": "ReplicationVaultHealth_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultHealthDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the health summary for the vault.": {
+ "$ref": "./examples/ReplicationVaultHealth_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": {
+ "post": {
+ "tags": [
+ "ReplicationVaultHealth"
+ ],
+ "summary": "Refreshes health summary of the vault.",
+ "operationId": "ReplicationVaultHealth_Refresh",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultHealthDetails"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Refreshes health summary of the vault.": {
+ "$ref": "./examples/ReplicationVaultHealth_Refresh.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the list of vCenter registered under the vault.",
+ "description": "Lists the vCenter servers registered in the vault.",
+ "operationId": "ReplicationvCenters_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenterCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vCenter registered under the vault.": {
+ "$ref": "./examples/ReplicationvCenters_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "A2AApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to A2A provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AContainerCreationInput": {
+ "description": "A2A cloud creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AEnableProtectionInput": {
+ "description": "A2A enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AEventDetails": {
+ "description": "Model class for event details of a A2A event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemName": {
+ "description": "The protected item arm name.",
+ "type": "string"
+ },
+ "fabricObjectId": {
+ "description": "The azure vm arm id.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Fabric arm name.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "Remote fabric arm name.",
+ "type": "string"
+ },
+ "remoteFabricLocation": {
+ "description": "Remote fabric location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AFailoverProviderInput": {
+ "description": "A2A provider specific input for failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for TFO or not.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2APolicyCreationInput": {
+ "description": "A2A Policy creation input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2APolicyDetails": {
+ "description": "A2A specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AProtectedDiskDetails": {
+ "description": "A2A protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountId": {
+ "description": "The recovery disk storage account.",
+ "type": "string"
+ },
+ "primaryDiskAzureStorageAccountId": {
+ "description": "The primary disk storage account.",
+ "type": "string"
+ },
+ "recoveryDiskUri": {
+ "description": "Recovery disk uri.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The type of disk.",
+ "type": "string"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "boolean"
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "dataPendingInStagingStorageAccountInMB": {
+ "format": "double",
+ "description": "The data pending for replication in MB at staging account.",
+ "type": "number"
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source virtual machine in MB.",
+ "type": "number"
+ }
+ }
+ },
+ "A2AProtectedManagedDiskDetails": {
+ "description": "A2A protected managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The managed disk Arm id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery disk resource group Arm Id.",
+ "type": "string"
+ },
+ "recoveryTargetDiskId": {
+ "description": "Recovery target disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskId": {
+ "description": "Recovery replica disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The type of disk.",
+ "type": "string"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "boolean"
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "dataPendingInStagingStorageAccountInMB": {
+ "format": "double",
+ "description": "The data pending for replication in MB at staging account.",
+ "type": "number"
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source virtual machine in MB.",
+ "type": "number"
+ }
+ }
+ },
+ "A2ARecoveryPointDetails": {
+ "description": "A2A provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointSyncType": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "enum": [
+ "MultiVmSyncRecoveryPoint",
+ "PerVmRecoveryPoint"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointSyncType",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReplicationDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupCreateOption": {
+ "description": "Whether Multi VM group is auto created or specified by user.",
+ "enum": [
+ "AutoCreated",
+ "UserSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmGroupCreateOption",
+ "modelAsString": false
+ }
+ },
+ "managementId": {
+ "description": "The management Id.",
+ "type": "string"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedDiskDetails"
+ }
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedManagedDiskDetails"
+ }
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The recovery boot diagnostic storage account Arm Id.",
+ "type": "string"
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of operating system.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The size of recovery virtual machine.",
+ "type": "string"
+ },
+ "recoveryAzureVMName": {
+ "description": "The name of recovery virtual machine.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The recovery resource group.",
+ "type": "string"
+ },
+ "recoveryCloudService": {
+ "description": "The recovery cloud service.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySet": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The recovery virtual network.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The virtual machine nic details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmSyncedConfigDetails": {
+ "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails",
+ "description": "The synced configuration details."
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "isReplicationAgentUpdateRequired": {
+ "description": "A value indicating whether replication agent update is required.",
+ "type": "boolean"
+ },
+ "recoveryFabricObjectId": {
+ "description": "The recovery fabric object Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "lifecycleId": {
+ "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.",
+ "type": "string"
+ },
+ "testFailoverRecoveryFabricObjectId": {
+ "description": "The test failover fabric object Id.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The last RPO value in seconds.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReprotectInput": {
+ "description": "Azure specific reprotect input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ASwitchProtectionInput": {
+ "description": "A2A specific switch protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SwitchProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUpdateReplicationProtectedItemInput": {
+ "description": "InMage Azure V2 input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryCloudServiceId": {
+ "description": "The target cloud service ARM Id (for V1).",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The target resource group ARM Id (for V2).",
+ "type": "string"
+ },
+ "managedDiskUpdateDetails": {
+ "description": "Managed disk update details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails"
+ }
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AVmDiskInputDetails": {
+ "description": "Azure VM disk input details.",
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk Uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountId": {
+ "description": "The recovery VHD storage account Id.",
+ "type": "string"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account Id.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AVmManagedDiskInputDetails": {
+ "description": "Azure VM managed disk input details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account Arm Id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The target resource group Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AVmManagedDiskUpdateDetails": {
+ "description": "Azure VM managed disk update input details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type before failover.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type before failover.",
+ "type": "string"
+ }
+ }
+ },
+ "AddVCenterRequest": {
+ "description": "Input required to add vCenter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddVCenterRequestProperties",
+ "description": "The properties of an add vCenter request."
+ }
+ }
+ },
+ "AddVCenterRequestProperties": {
+ "description": "The properties of an add vCenter request.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the vCenter.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter to be discovered.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id from where the discovery is orchestrated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The account Id which has privileges to discover the vCenter.",
+ "type": "string"
+ }
+ }
+ },
+ "Alert": {
+ "description": "Implements the Alert class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Alert related data."
+ }
+ }
+ },
+ "AlertCollection": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of alerts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "The proprties of an alert.",
+ "type": "object",
+ "properties": {
+ "sendToOwners": {
+ "description": "A value indicating whether to send email to subscription administrator.",
+ "type": "string"
+ },
+ "customEmailAddresses": {
+ "description": "The custom email address for sending emails.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "locale": {
+ "description": "The locale for the email notification.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplyRecoveryPointInput": {
+ "description": "Input to apply recovery point.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApplyRecoveryPointInputProperties",
+ "description": "The input properties to apply recovery point."
+ }
+ }
+ },
+ "ApplyRecoveryPointInputProperties": {
+ "description": "Input properties to apply recovery point.",
+ "type": "object",
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput",
+ "description": "Provider specific input for applying recovery point."
+ }
+ }
+ },
+ "ApplyRecoveryPointProviderSpecificInput": {
+ "description": "Provider specific input for apply recovery point.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "AsrJobDetails": {
+ "description": "This class represents job details based on specific job type.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AsrJobDetails"
+ },
+ "ASRTask": {
+ "description": "Task of the Job.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The unique Task name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "allowedActions": {
+ "description": "The state/actions applicable on this task.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
+ "type": "string"
+ },
+ "stateDescription": {
+ "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
+ "type": "string"
+ },
+ "taskType": {
+ "description": "The type of task. Details in CustomDetails property depend on this type.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/TaskTypeDetails",
+ "description": "The custom task details based on the task type."
+ },
+ "groupTaskCustomDetails": {
+ "$ref": "#/definitions/GroupTaskDetails",
+ "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it."
+ },
+ "errors": {
+ "description": "The task error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ }
+ }
+ }
+ },
+ "AutomationRunbookTaskDetails": {
+ "description": "This class represents the task details for an automation runbook.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The recovery plan task name.",
+ "type": "string"
+ },
+ "cloudServiceName": {
+ "description": "The cloud service of the automation runbook account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription Id of the automation runbook account.",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The automation account name of the runbook.",
+ "type": "string"
+ },
+ "runbookId": {
+ "description": "The runbook Id.",
+ "type": "string"
+ },
+ "runbookName": {
+ "description": "The runbook name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "The job Id of the runbook execution.",
+ "type": "string"
+ },
+ "jobOutput": {
+ "description": "The execution output of the runbook.",
+ "type": "string"
+ },
+ "isPrimarySideScript": {
+ "description": "A value indicating whether it is a primary side script or not.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AutomationRunbookTaskDetails"
+ },
+ "AzureFabricCreationInput": {
+ "description": "Fabric provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The Location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Azure"
+ },
+ "AzureFabricSpecificDetails": {
+ "description": "Azure Fabric Specific Details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The Location for the Azure fabric.",
+ "type": "string"
+ },
+ "containerIds": {
+ "description": "The container Ids for the Azure fabric.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "Azure"
+ },
+ "AzureToAzureCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {
+ "primaryNetworkId": {
+ "description": "The primary azure vnet Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureNetworkMappingSettings": {
+ "description": "A2A Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {
+ "primaryFabricLocation": {
+ "description": "The primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureUpdateNetworkMappingInput": {
+ "description": "Updates network mappings input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {
+ "primaryNetworkId": {
+ "description": "The primary azure vnet Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureVmSyncedConfigDetails": {
+ "description": "Azure to Azure VM synced configuration details.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The Azure VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "roleAssignments": {
+ "description": "The Azure role assignments.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "inputEndpoints": {
+ "description": "The Azure VM input endpoints.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InputEndpoint"
+ }
+ }
+ }
+ },
+ "AzureVmDiskDetails": {
+ "description": "Disk details for E2A provider.",
+ "type": "object",
+ "properties": {
+ "vhdType": {
+ "description": "VHD type.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The VHD id.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "VHD name.",
+ "type": "string"
+ },
+ "maxSizeMB": {
+ "description": "Max side in MB.",
+ "type": "string"
+ },
+ "targetDiskLocation": {
+ "description": "Blob uri of the Azure disk.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target Azure disk name.",
+ "type": "string"
+ },
+ "lunId": {
+ "description": "Ordinal\\LunId of the disk for the Azure VM.",
+ "type": "string"
+ }
+ }
+ },
+ "ComputeSizeErrorDetails": {
+ "description": "Represents the error used to indicate why the target compute size is not applicable.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationSettings": {
+ "description": "Replication provider specific settings.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overriden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ConfigureAlertRequest": {
+ "description": "Request to configure alerts for the system.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigureAlertRequestProperties",
+ "description": "The properties of a configure alert request."
+ }
+ }
+ },
+ "ConfigureAlertRequestProperties": {
+ "description": "Properties of a configure alert request.",
+ "type": "object",
+ "properties": {
+ "sendToOwners": {
+ "description": "A value indicating whether to send email to subscription administrator.",
+ "type": "string"
+ },
+ "customEmailAddresses": {
+ "description": "The custom email address for sending emails.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "locale": {
+ "description": "The locale for the email notification.",
+ "type": "string"
+ }
+ }
+ },
+ "ConsistencyCheckTaskDetails": {
+ "description": "This class contains monitoring details of all the inconsistent Protected Entites in Vmm.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "vmDetails": {
+ "description": "The list of inconsistent Vm details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InconsistentVmDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ConsistencyCheckTaskDetails"
+ },
+ "CreateNetworkMappingInput": {
+ "description": "Create network mappings input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateNetworkMappingInputProperties",
+ "description": "Input properties for creating network mapping."
+ }
+ }
+ },
+ "CreateNetworkMappingInputProperties": {
+ "description": "Common input details for network mapping operation.",
+ "type": "object",
+ "properties": {
+ "recoveryFabricName": {
+ "description": "Recovery fabric Name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "Recovery network Id.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput",
+ "description": "Fabric specific input properties."
+ }
+ }
+ },
+ "CreatePolicyInput": {
+ "description": "Protection Policy input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreatePolicyInputProperties",
+ "description": "Policy creation properties."
+ }
+ }
+ },
+ "CreatePolicyInputProperties": {
+ "description": "Policy creation properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/PolicyProviderSpecificInput",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "CreateProtectionContainerInput": {
+ "description": "Create protection container input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionContainerInputProperties",
+ "description": "Create protection container input properties."
+ }
+ }
+ },
+ "CreateProtectionContainerInputProperties": {
+ "description": "Create protection container input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "description": "Provider specific inputs for container creation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ }
+ }
+ },
+ "CreateProtectionContainerMappingInput": {
+ "description": "Configure pairing input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties",
+ "description": "Configure protection input properties."
+ }
+ }
+ },
+ "CreateProtectionContainerMappingInputProperties": {
+ "description": "Configure pairing input properties.",
+ "type": "object",
+ "properties": {
+ "targetProtectionContainerId": {
+ "description": "The target unique protection container name.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "Applicable policy.",
+ "type": "string"
+ },
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput",
+ "description": "Provider specific input for pairing."
+ }
+ }
+ },
+ "CreateRecoveryPlanInput": {
+ "description": "Create recovery plan input class.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateRecoveryPlanInputProperties",
+ "description": "Recovery plan creation properties."
+ }
+ }
+ },
+ "CreateRecoveryPlanInputProperties": {
+ "description": "Recovery plan creation properties.",
+ "required": [
+ "primaryFabricId",
+ "recoveryFabricId",
+ "groups"
+ ],
+ "type": "object",
+ "properties": {
+ "primaryFabricId": {
+ "description": "The primary fabric Id.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The recovery fabric Id.",
+ "type": "string"
+ },
+ "failoverDeploymentModel": {
+ "description": "The failover deployment model.",
+ "enum": [
+ "NotApplicable",
+ "Classic",
+ "ResourceManager"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FailoverDeploymentModel",
+ "modelAsString": false
+ }
+ },
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ }
+ }
+ },
+ "CurrentScenarioDetails": {
+ "description": "Current scenario details of the protected entity.",
+ "type": "object",
+ "properties": {
+ "scenarioName": {
+ "description": "Scenario name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "ARM Id of the job being executed.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the workflow.",
+ "type": "string"
+ }
+ }
+ },
+ "DataStore": {
+ "description": "The datastore details of the MT.",
+ "type": "object",
+ "properties": {
+ "symbolicName": {
+ "description": "The symbolic name of data store.",
+ "type": "string"
+ },
+ "uuid": {
+ "description": "The uuid of data store.",
+ "type": "string"
+ },
+ "capacity": {
+ "description": "The capacity of data store in GBs.",
+ "type": "string"
+ },
+ "freeSpace": {
+ "description": "The free space of data store in GBs.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of data store.",
+ "type": "string"
+ }
+ }
+ },
+ "DisableProtectionInput": {
+ "description": "Disable protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DisableProtectionInputProperties",
+ "description": "Disable protection input properties."
+ }
+ }
+ },
+ "DisableProtectionInputProperties": {
+ "description": "Disable protection input properties.",
+ "type": "object",
+ "properties": {
+ "disableProtectionReason": {
+ "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.",
+ "enum": [
+ "NotSpecified",
+ "MigrationComplete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DisableProtectionReason",
+ "modelAsString": false
+ }
+ },
+ "replicationProviderInput": {
+ "$ref": "#/definitions/DisableProtectionProviderSpecificInput",
+ "description": "Replication provider specific input."
+ }
+ }
+ },
+ "DisableProtectionProviderSpecificInput": {
+ "description": "Disable protection provider specific input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "DiscoverProtectableItemRequest": {
+ "description": "Request to add a physical machine as a protectable item in a container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DiscoverProtectableItemRequestProperties",
+ "description": "The properties of a discover protectable item request."
+ }
+ }
+ },
+ "DiscoverProtectableItemRequestProperties": {
+ "description": "Discover protectable item properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the physical machine.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the physical machine to be discovered.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type on the physical machine.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskDetails": {
+ "description": "Onprem disk details data.",
+ "type": "object",
+ "properties": {
+ "maxSizeMB": {
+ "format": "int64",
+ "description": "The hard disk max size in MB.",
+ "type": "integer"
+ },
+ "vhdType": {
+ "description": "The type of the volume.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The VHD Id.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The VHD name.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskVolumeDetails": {
+ "description": "Volume details.",
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "The volume label.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The volume name.",
+ "type": "string"
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The provider. The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource. The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'",
+ "type": "string"
+ }
+ }
+ },
+ "EnableProtectionInput": {
+ "description": "Enable protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnableProtectionInputProperties",
+ "description": "Enable protection input properties."
+ }
+ }
+ },
+ "EnableProtectionInputProperties": {
+ "description": "Enable protection input properties.",
+ "type": "object",
+ "properties": {
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "protectableItemId": {
+ "description": "The protectable item Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput",
+ "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
+ }
+ }
+ },
+ "EnableProtectionProviderSpecificInput": {
+ "description": "Enable protection provider specific input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EncryptionDetails": {
+ "description": "Encryption details for the fabric.",
+ "type": "object",
+ "properties": {
+ "kekState": {
+ "description": "The key encryption key state for the Vmm.",
+ "type": "string"
+ },
+ "kekCertThumbprint": {
+ "description": "The key encryption key certificate thumbprint.",
+ "type": "string"
+ },
+ "kekCertExpiryDate": {
+ "format": "date-time",
+ "description": "The key encryption key certificate expiry date.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "Implements the Event class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventProperties",
+ "description": "Event related data."
+ }
+ }
+ },
+ "EventCollection": {
+ "description": "Collection of fabric details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of events.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "EventProperties": {
+ "description": "The properties of a monitoring event.",
+ "type": "object",
+ "properties": {
+ "eventCode": {
+ "description": "The Id of the monitoring event.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The event name.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.",
+ "type": "string"
+ },
+ "affectedObjectFriendlyName": {
+ "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the event.",
+ "type": "string"
+ },
+ "timeOfOccurrence": {
+ "format": "date-time",
+ "description": "The time of occurence of the event.",
+ "type": "string"
+ },
+ "fabricId": {
+ "description": "The ARM ID of the fabric.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EventProviderSpecificDetails",
+ "description": "The provider specific settings."
+ },
+ "eventSpecificDetails": {
+ "$ref": "#/definitions/EventSpecificDetails",
+ "description": "The event specific settings."
+ },
+ "healthErrors": {
+ "description": "The list of errors / warnings capturing details associated with the issue(s).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ }
+ },
+ "EventProviderSpecificDetails": {
+ "description": "Model class for provider specific details for an event.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overriden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EventQueryParameter": {
+ "description": "Implements the event query parameter.",
+ "type": "object",
+ "properties": {
+ "eventCode": {
+ "description": "The source id of the events to be queried.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the events to be queried.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the events to be queried.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The affected object server id of the events to be queried.",
+ "type": "string"
+ },
+ "affectedObjectFriendlyName": {
+ "description": "The affected object name of the events to be queried.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the time range within which the events are to be queried.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time of the time range within which the events are to be queried.",
+ "type": "string"
+ }
+ }
+ },
+ "EventSpecificDetails": {
+ "description": "Model class for event specific details for an event.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overriden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ExportJobDetails": {
+ "description": "This class represents details for export jobs workflow.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "blobUri": {
+ "description": "BlobUri of the exported jobs.",
+ "type": "string"
+ },
+ "sasToken": {
+ "description": "The sas token to access blob.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExportJobDetails"
+ },
+ "Fabric": {
+ "description": "Fabric definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FabricProperties",
+ "description": "Fabric related data."
+ }
+ }
+ },
+ "FabricCollection": {
+ "description": "Collection of fabric details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The fabric details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricCreationInput": {
+ "description": "Site details provided during the time of site creation",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FabricCreationInputProperties",
+ "description": "Fabric creation input."
+ }
+ }
+ },
+ "FabricCreationInputProperties": {
+ "description": "Properties of site details provided during the time of site creation",
+ "type": "object",
+ "properties": {
+ "customDetails": {
+ "$ref": "#/definitions/FabricSpecificCreationInput",
+ "description": "Fabric provider specific creation input."
+ }
+ }
+ },
+ "FabricProperties": {
+ "description": "Fabric properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fabric.",
+ "type": "string"
+ },
+ "encryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Encryption details for the fabric."
+ },
+ "rolloverEncryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Rollover encryption details for the fabric."
+ },
+ "internalIdentifier": {
+ "description": "Dra Registration Id.",
+ "type": "string"
+ },
+ "bcdrState": {
+ "description": "BCDR state of the fabric.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/FabricSpecificDetails",
+ "description": "Fabric specific settings."
+ },
+ "healthErrorDetails": {
+ "description": "Fabric health error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "health": {
+ "description": "Health of fabric.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricReplicationGroupTaskDetails": {
+ "description": "This class represents the fabric replication group task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "skippedReason": {
+ "description": "The skipped reason.",
+ "type": "string"
+ },
+ "skippedReasonString": {
+ "description": "The skipped reason string.",
+ "type": "string"
+ },
+ "jobTask": {
+ "$ref": "#/definitions/JobEntity",
+ "description": "The job entity."
+ }
+ },
+ "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails"
+ },
+ "FabricSpecificCreateNetworkMappingInput": {
+ "description": "Input details specific to fabrics during Network Mapping.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificCreationInput": {
+ "description": "Fabric provider specific settings.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificDetails": {
+ "description": "Fabric specific details.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificUpdateNetworkMappingInput": {
+ "description": "Input details specific to fabrics during Network Mapping.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FailoverJobDetails": {
+ "description": "This class represents the details for a failover job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "FailoverJobDetails"
+ },
+ "FailoverProcessServerRequest": {
+ "description": "Request to failover a process server.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FailoverProcessServerRequestProperties",
+ "description": "The properties of the PS Failover request."
+ }
+ }
+ },
+ "FailoverProcessServerRequestProperties": {
+ "description": "The properties of the Failover Process Server request.",
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "The container identifier.",
+ "type": "string"
+ },
+ "sourceProcessServerId": {
+ "description": "The source process server.",
+ "type": "string"
+ },
+ "targetProcessServerId": {
+ "description": "The new process server.",
+ "type": "string"
+ },
+ "vmsToMigrate": {
+ "description": "The VMS to migrate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "updateType": {
+ "description": "A value for failover type. It can be systemlevel/serverlevel",
+ "type": "string"
+ }
+ }
+ },
+ "FailoverReplicationProtectedItemDetails": {
+ "description": "Failover details for a replication protected item.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The friendly name.",
+ "type": "string"
+ },
+ "testVmName": {
+ "description": "The test Vm name.",
+ "type": "string"
+ },
+ "testVmFriendlyName": {
+ "description": "The test Vm friendly name.",
+ "type": "string"
+ },
+ "networkConnectionStatus": {
+ "description": "The network connection status.",
+ "type": "string"
+ },
+ "networkFriendlyName": {
+ "description": "The network friendly name.",
+ "type": "string"
+ },
+ "subnet": {
+ "description": "The network subnet.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string"
+ }
+ }
+ },
+ "GroupTaskDetails": {
+ "description": "This class represents the group task details when parent child relationship exists in the drill down.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The type of task details.",
+ "type": "string"
+ },
+ "childTasks": {
+ "description": "The child tasks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ASRTask"
+ }
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "HealthError": {
+ "description": "Health Error",
+ "type": "object",
+ "properties": {
+ "innerHealthErrors": {
+ "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerHealthError"
+ }
+ },
+ "errorSource": {
+ "description": "Source of error.",
+ "type": "string"
+ },
+ "errorType": {
+ "description": "Type of error.",
+ "type": "string"
+ },
+ "errorLevel": {
+ "description": "Level of error.",
+ "type": "string"
+ },
+ "errorCategory": {
+ "description": "Category of error.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "summaryMessage": {
+ "description": "Summary message of the entity.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "creationTimeUtc": {
+ "format": "date-time",
+ "description": "Error creation time (UTC)",
+ "type": "string"
+ },
+ "recoveryProviderErrorMessage": {
+ "description": "DRA error message.",
+ "type": "string"
+ },
+ "entityId": {
+ "description": "ID of the entity.",
+ "type": "string"
+ }
+ }
+ },
+ "HealthErrorSummary": {
+ "description": "class to define the summary of the health error details.",
+ "type": "object",
+ "properties": {
+ "summaryCode": {
+ "description": "The code of the health error.",
+ "type": "string"
+ },
+ "category": {
+ "description": "The category of the health error.",
+ "enum": [
+ "None",
+ "Replication",
+ "TestFailover",
+ "Configuration",
+ "FabricInfrastructure",
+ "VersionExpiry"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCategory",
+ "modelAsString": false
+ }
+ },
+ "severity": {
+ "description": "Severity of error.",
+ "enum": [
+ "NONE",
+ "Warning",
+ "Error",
+ "Info"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": false
+ }
+ },
+ "summaryMessage": {
+ "description": "The summary message of the health error.",
+ "type": "string"
+ },
+ "affectedResourceType": {
+ "description": "The type of affected ARM resource.",
+ "type": "string"
+ },
+ "affectedResourceSubtype": {
+ "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.",
+ "type": "string"
+ },
+ "affectedResourceCorrelationIds": {
+ "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "HyperVReplica2012EventDetails": {
+ "description": "Model class for event details of a HyperVReplica E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplica2012R2EventDetails": {
+ "description": "Model class for event details of a HyperVReplica blue E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaAzureApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vaultLocation": {
+ "description": "The vault location where the recovery Vm resides.",
+ "type": "string"
+ },
+ "primaryKekCertificatePfx": {
+ "description": "The primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "The secondary kek certificate pfx.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureEnableProtectionInput": {
+ "description": "Azure specific enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "hvHostVmId": {
+ "description": "The Hyper-V host Vm Id.",
+ "type": "string"
+ },
+ "vmName": {
+ "description": "The Vm Name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type associated with vm.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The OS disk VHD id associated with vm.",
+ "type": "string"
+ },
+ "targetStorageAccountId": {
+ "description": "The storage account name.",
+ "type": "string"
+ },
+ "targetAzureNetworkId": {
+ "description": "The selected target Azure network Id.",
+ "type": "string"
+ },
+ "targetAzureSubnetId": {
+ "description": "The selected target Azure subnet Id.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
+ "type": "string"
+ },
+ "targetAzureVmName": {
+ "description": "The target azure Vm Name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The list of VHD IDs of disks to be protected.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetAzureV1ResourceGroupId": {
+ "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "targetAzureV2ResourceGroupId": {
+ "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureEventDetails": {
+ "description": "Model class for event details of a HyperVReplica E2A event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureFailbackProviderInput": {
+ "description": "HvrA provider specific input for failback.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "dataSyncOption": {
+ "description": "Data sync option.",
+ "type": "string"
+ },
+ "recoveryVmCreationOption": {
+ "description": "ALR options to create alternate recovery.",
+ "type": "string"
+ },
+ "providerIdForAlternateRecovery": {
+ "description": "Provider ID for alternate location",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
+ },
+ "HyperVReplicaAzureFailoverProviderInput": {
+ "description": "HvrA provider specific input for failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "vaultLocation": {
+ "description": "Location of the vault.",
+ "type": "string"
+ },
+ "primaryKekCertificatePfx": {
+ "description": "Primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "Secondary kek certificate pfx.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzurePolicyDetails": {
+ "description": "Hyper-V Replica Azure specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryDurationInHours": {
+ "format": "int32",
+ "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
+ "type": "integer"
+ },
+ "replicationInterval": {
+ "format": "int32",
+ "description": "The replication interval.",
+ "type": "integer"
+ },
+ "onlineReplicationStartTime": {
+ "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
+ "type": "string"
+ },
+ "encryption": {
+ "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.",
+ "type": "string"
+ },
+ "activeStorageAccountId": {
+ "description": "The active storage account Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzurePolicyInput": {
+ "description": "Hyper-V Replica Azure specific input for creating a protection profile.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryDuration": {
+ "format": "int32",
+ "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
+ "type": "integer"
+ },
+ "replicationInterval": {
+ "format": "int32",
+ "description": "The replication interval.",
+ "type": "integer"
+ },
+ "onlineReplicationStartTime": {
+ "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
+ "type": "string"
+ },
+ "storageAccounts": {
+ "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureReplicationDetails": {
+ "description": "Hyper V Replica Azure provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "azureVmDiskDetails": {
+ "description": "Azure VM Disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureVmDiskDetails"
+ }
+ },
+ "recoveryAzureVmName": {
+ "description": "Recovery Azure given name.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The Recovery Azure VM size.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccount": {
+ "description": "The recovery Azure storage account.",
+ "type": "string"
+ },
+ "recoveryAzureLogStorageAccountId": {
+ "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
+ "type": "string"
+ },
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "Last RPO value.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The selected recovery azure network Id.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "encryption": {
+ "description": "The encryption info.",
+ "type": "string"
+ },
+ "oSDetails": {
+ "$ref": "#/definitions/OSDetails",
+ "description": "The operating system info."
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureReprotectInput": {
+ "description": "Azure specific reprotect input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "hvHostVmId": {
+ "description": "The Hyper-V host Vm Id.",
+ "type": "string"
+ },
+ "vmName": {
+ "description": "The Vm Name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type associated with vm.",
+ "type": "string"
+ },
+ "vHDId": {
+ "description": "The OS disk VHD id associated with vm.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureUpdateReplicationProtectedItemInput": {
+ "description": "HyperV replica Azure input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryAzureV1ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for classic deployment.",
+ "type": "string"
+ },
+ "recoveryAzureV2ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for resource manager deployment.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaBaseEventDetails": {
+ "description": "Abstract model class for event details of a HyperVReplica E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails"
+ },
+ "HyperVReplicaBasePolicyDetails": {
+ "description": "Base class for HyperVReplica policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails"
+ },
+ "HyperVReplicaBaseReplicationDetails": {
+ "description": "Hyper V replica provider specific settings base class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails"
+ },
+ "HyperVReplicaBluePolicyDetails": {
+ "description": "Hyper-V Replica Blue specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "replicationFrequencyInSeconds": {
+ "format": "int32",
+ "description": "A value indicating the replication interval.",
+ "type": "integer"
+ },
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaBluePolicyInput": {
+ "description": "HyperV Replica Blue policy input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "replicationFrequencyInSeconds": {
+ "format": "int32",
+ "description": "A value indicating the replication interval.",
+ "type": "integer"
+ },
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletion": {
+ "description": "A value indicating whether the VM has to be auto deleted.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaBlueReplicationDetails": {
+ "description": "HyperV replica 2012 R2 (Blue) replication details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaPolicyDetails": {
+ "description": "Hyper-V Replica Blue specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplicaPolicyInput": {
+ "description": "Hyper-V Replica specific policy Input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletion": {
+ "description": "A value indicating whether the VM has to be auto deleted.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplicaReplicationDetails": {
+ "description": "HyperV replica 2012 replication details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVSiteDetails": {
+ "description": "HyperVSite fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "HyperVSite"
+ },
+ "HyperVVirtualMachineDetails": {
+ "description": "Single Host fabric provider specific VM settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {
+ "sourceItemId": {
+ "description": "The source id of the object.",
+ "type": "string"
+ },
+ "generation": {
+ "description": "The id of the object in fabric.",
+ "type": "string"
+ },
+ "osDetails": {
+ "$ref": "#/definitions/OSDetails",
+ "description": "The Last replication time."
+ },
+ "diskDetails": {
+ "description": "The Last successful failover time.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ },
+ "hasPhysicalDisk": {
+ "description": "A value indicating whether the VM has a physical disk attached.",
+ "type": "boolean"
+ },
+ "hasFibreChannelAdapter": {
+ "description": "A value indicating whether the VM has a fibre channel adapter attached.",
+ "type": "boolean"
+ },
+ "hasSharedVhd": {
+ "description": "A value indicating whether the VM has a shared VHD attached.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVVirtualMachine"
+ },
+ "IdentityInformation": {
+ "description": "Identity details.",
+ "type": "object",
+ "properties": {
+ "identityProviderType": {
+ "description": "The identity provider type. Value is the ToString() of a IdentityProviderType value.",
+ "enum": [
+ "RecoveryServicesActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": false
+ }
+ },
+ "tenantId": {
+ "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "objectId": {
+ "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "aadAuthority": {
+ "description": "The base authority for Azure Active Directory authentication.",
+ "type": "string"
+ },
+ "certificateThumbprint": {
+ "description": "The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory.",
+ "type": "string"
+ }
+ }
+ },
+ "InconsistentVmDetails": {
+ "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.",
+ "type": "object",
+ "properties": {
+ "vmName": {
+ "description": "The Vm name.",
+ "type": "string"
+ },
+ "cloudName": {
+ "description": "The Cloud name.",
+ "type": "string"
+ },
+ "details": {
+ "description": "The list of details regarding state of the Protected Entity in SRS and On prem.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "errorIds": {
+ "description": "The list of error ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "InitialReplicationDetails": {
+ "description": "Initial replication details.",
+ "type": "object",
+ "properties": {
+ "initialReplicationType": {
+ "description": "Initial replication type.",
+ "type": "string"
+ },
+ "initialReplicationProgressPercentage": {
+ "description": "The initial replication progress percentage.",
+ "type": "string"
+ }
+ }
+ },
+ "InlineWorkflowTaskDetails": {
+ "description": "This class represents the inline workflow task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupTaskDetails"
+ }
+ ],
+ "properties": {
+ "workflowIds": {
+ "description": "The list of child workflow ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InlineWorkflowTaskDetails"
+ },
+ "InMageAgentDetails": {
+ "description": "The details of the InMage agent.",
+ "type": "object",
+ "properties": {
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentUpdateStatus": {
+ "description": "A value indicating whether installed agent needs to be updated.",
+ "type": "string"
+ },
+ "postUpdateRebootStatus": {
+ "description": "A value indicating whether reboot is required after update is applied.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAgentVersionDetails": {
+ "description": "InMage agent version details.",
+ "type": "object",
+ "properties": {
+ "postUpdateRebootStatus": {
+ "description": "A value indicating whether reboot is required after update is applied.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "expiryDate": {
+ "format": "date-time",
+ "description": "Version expiry date.",
+ "type": "string"
+ },
+ "status": {
+ "description": "A value indicating whether security update required.",
+ "enum": [
+ "Supported",
+ "NotSupported",
+ "Deprecated",
+ "UpdateRequired",
+ "SecurityUpdateRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentVersionStatus",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "InMageAzureV2ApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vaultLocation": {
+ "description": "The vault location where the recovery Vm resides.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2EnableProtectionInput": {
+ "description": "VMware Azure specific enable protection input.",
+ "required": [
+ "storageAccountId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account name.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetAzureNetworkId": {
+ "description": "The selected target Azure network Id.",
+ "type": "string"
+ },
+ "targetAzureSubnetId": {
+ "description": "The selected target Azure subnet Id.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
+ "type": "string"
+ },
+ "targetAzureVmName": {
+ "description": "The target azure Vm Name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "targetAzureV1ResourceGroupId": {
+ "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "targetAzureV2ResourceGroupId": {
+ "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2EventDetails": {
+ "description": "Model class for event details of a VMwareAzureV2 event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "eventType": {
+ "description": "InMage Event type. Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.",
+ "type": "string"
+ },
+ "category": {
+ "description": "InMage Event Category.",
+ "type": "string"
+ },
+ "component": {
+ "description": "InMage Event Component.",
+ "type": "string"
+ },
+ "correctiveAction": {
+ "description": "Corrective Action string for the event.",
+ "type": "string"
+ },
+ "details": {
+ "description": "InMage Event Details.",
+ "type": "string"
+ },
+ "summary": {
+ "description": "InMage Event Summary.",
+ "type": "string"
+ },
+ "siteName": {
+ "description": "VMware Site name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2FailoverProviderInput": {
+ "description": "InMageAzureV2 provider specific input for failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "vaultLocation": {
+ "description": "Location of the vault.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2PolicyDetails": {
+ "description": "InMage Azure v2 specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2PolicyInput": {
+ "description": "VMWare Azure specific policy Input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ProtectedDiskDetails": {
+ "description": "InMageAzureV2 protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "healthErrorCode": {
+ "description": "The health error code for the disk.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "resyncDurationInSeconds": {
+ "format": "int64",
+ "description": "The resync duration in seconds.",
+ "type": "integer"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "fileSystemCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk file system capacity in bytes.",
+ "type": "integer"
+ },
+ "sourceDataInMegaBytes": {
+ "format": "double",
+ "description": "The source data transit in MB.",
+ "type": "number"
+ },
+ "psDataInMegaBytes": {
+ "format": "double",
+ "description": "The PS data transit in MB.",
+ "type": "number"
+ },
+ "targetDataInMegaBytes": {
+ "format": "double",
+ "description": "The target data transit in MB.",
+ "type": "number"
+ },
+ "diskResized": {
+ "description": "A value indicating whether disk is resized.",
+ "type": "string"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2RecoveryPointDetails": {
+ "description": "InMage Azure V2 provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "isMultiVmSyncPoint": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ReplicationDetails": {
+ "description": "InMageAzureV2 provider specific settings",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "infrastructureVmId": {
+ "description": "The infrastructure VM Id.",
+ "type": "string"
+ },
+ "vCenterInfrastructureId": {
+ "description": "The vCenter infrastructure Id.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "compressedDataRateInMB": {
+ "format": "double",
+ "description": "The compressed data change rate in MB.",
+ "type": "number"
+ },
+ "uncompressedDataRateInMB": {
+ "format": "double",
+ "description": "The uncompressed data change rate in MB.",
+ "type": "number"
+ },
+ "ipAddress": {
+ "description": "The source IP address.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "isAgentUpdateRequired": {
+ "description": "A value indicating whether installed agent needs to be updated.",
+ "type": "string"
+ },
+ "isRebootAfterUpdateRequired": {
+ "description": "A value indicating whether the source server requires a restart after update.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi vm sync is enabled or disabled.",
+ "type": "string"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails"
+ }
+ },
+ "diskResized": {
+ "description": "A value indicating whether any disk is resized for this VM.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The master target Id.",
+ "type": "string"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The OS disk VHD name.",
+ "type": "string"
+ },
+ "osDiskId": {
+ "description": "The id of the disk containing the OS.",
+ "type": "string"
+ },
+ "azureVMDiskDetails": {
+ "description": "Azure VM Disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureVmDiskDetails"
+ }
+ },
+ "recoveryAzureVMName": {
+ "description": "Recovery Azure given name.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The Recovery Azure VM size.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccount": {
+ "description": "The recovery Azure storage account.",
+ "type": "string"
+ },
+ "recoveryAzureLogStorageAccountId": {
+ "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The selected recovery azure network Id.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
+ "type": "string"
+ },
+ "datastores": {
+ "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetVmId": {
+ "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "validationErrors": {
+ "description": "The validation errors of the on-premise machine Value can be list of validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "lastUpdateReceivedTime": {
+ "format": "date-time",
+ "description": "The last update time received from on-prem components.",
+ "type": "string"
+ },
+ "replicaId": {
+ "description": "The replica id of the protected item.",
+ "type": "string"
+ },
+ "osVersion": {
+ "description": "The OS Version of the protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ReprotectInput": {
+ "description": "InMageAzureV2 specific provider input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2UpdateReplicationProtectedItemInput": {
+ "description": "InMage Azure V2 input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryAzureV1ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for classic deployment.",
+ "type": "string"
+ },
+ "recoveryAzureV2ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for resource manager deployment.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageBasePolicyDetails": {
+ "description": "Base class for the policies of providers using InMage replication.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageBasePolicyDetails"
+ },
+ "InMageDisableProtectionProviderSpecificInput": {
+ "description": "InMage disable protection provider specific input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DisableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "replicaVmDeletionStatus": {
+ "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageDiskDetails": {
+ "description": "VMware/Physical specific Disk Details",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskSizeInMB": {
+ "description": "The disk size in MB.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "Whether disk is system disk or data disk.",
+ "type": "string"
+ },
+ "diskConfiguration": {
+ "description": "Whether disk is dynamic disk or basic disk.",
+ "type": "string"
+ },
+ "volumeList": {
+ "description": "Volumes of the disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskVolumeDetails"
+ }
+ }
+ }
+ },
+ "InMageDiskExclusionInput": {
+ "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "volumeOptions": {
+ "description": "The volume label based option for disk exclusion.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageVolumeExclusionOptions"
+ }
+ },
+ "diskSignatureOptions": {
+ "description": "The guest disk signature based option for disk exclusion.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageDiskSignatureExclusionOptions"
+ }
+ }
+ }
+ },
+ "InMageDiskSignatureExclusionOptions": {
+ "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "diskSignature": {
+ "description": "The guest signature of disk to be excluded from replication.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageEnableProtectionInput": {
+ "description": "VMware Azure specific enable protection input.",
+ "required": [
+ "masterTargetId",
+ "processServerId",
+ "retentionDrive",
+ "multiVmGroupId",
+ "multiVmGroupName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmFriendlyName": {
+ "description": "The Vm Name.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The Master Target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "retentionDrive": {
+ "description": "The retention drive to use on the MT.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "diskExclusionInput": {
+ "$ref": "#/definitions/InMageDiskExclusionInput",
+ "description": "The enable disk exclusion input."
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageFailoverProviderInput": {
+ "description": "Provider specific input for InMage failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointType",
+ "modelAsString": false
+ }
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMagePolicyDetails": {
+ "description": "InMage specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMagePolicyInput": {
+ "description": "VMWare Azure specific protection profile Input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageProtectedDiskDetails": {
+ "description": "InMage protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "healthErrorCode": {
+ "description": "The health error code for the disk.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "resyncDurationInSeconds": {
+ "format": "int64",
+ "description": "The resync duration in seconds.",
+ "type": "integer"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "fileSystemCapacityInBytes": {
+ "format": "int64",
+ "description": "The file system capacity in bytes.",
+ "type": "integer"
+ },
+ "sourceDataInMB": {
+ "format": "double",
+ "description": "The source data transit in MB.",
+ "type": "number"
+ },
+ "psDataInMB": {
+ "format": "double",
+ "description": "The PS data transit in MB.",
+ "type": "number"
+ },
+ "targetDataInMB": {
+ "format": "double",
+ "description": "The target data transit in MB.",
+ "type": "number"
+ },
+ "diskResized": {
+ "description": "A value indicating whether disk is resized.",
+ "type": "string"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageReplicationDetails": {
+ "description": "InMage provider specific settings",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "activeSiteType": {
+ "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.",
+ "type": "string"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "osDetails": {
+ "$ref": "#/definitions/OSDiskDetails",
+ "description": "The OS details."
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "resyncDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "The resync details of the machine"
+ },
+ "retentionWindowStart": {
+ "format": "date-time",
+ "description": "The retention window start time.",
+ "type": "string"
+ },
+ "retentionWindowEnd": {
+ "format": "date-time",
+ "description": "The retention window end time.",
+ "type": "string"
+ },
+ "compressedDataRateInMB": {
+ "format": "double",
+ "description": "The compressed data change rate in MB.",
+ "type": "number"
+ },
+ "uncompressedDataRateInMB": {
+ "format": "double",
+ "description": "The uncompressed data change rate in MB.",
+ "type": "number"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageProtectedDiskDetails"
+ }
+ },
+ "ipAddress": {
+ "description": "The source IP address.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The master target Id.",
+ "type": "string"
+ },
+ "consistencyPoints": {
+ "description": "The collection of Consistency points.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "diskResized": {
+ "description": "A value indicating whether any disk is resized for this VM.",
+ "type": "string"
+ },
+ "rebootAfterUpdateStatus": {
+ "description": "A value indicating whether the source server requires a restart after update.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id, if any.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name, if any.",
+ "type": "string"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether the multi vm sync is enabled or disabled.",
+ "type": "string"
+ },
+ "agentDetails": {
+ "$ref": "#/definitions/InMageAgentDetails",
+ "description": "The agent details."
+ },
+ "vCenterInfrastructureId": {
+ "description": "The vCenter infrastructure Id.",
+ "type": "string"
+ },
+ "infrastructureVmId": {
+ "description": "The infrastructure VM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine.",
+ "type": "string"
+ },
+ "azureStorageAccountId": {
+ "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.",
+ "type": "string"
+ },
+ "datastores": {
+ "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validationErrors": {
+ "description": "The validation errors of the on-premise machine Value can be list of validation errors",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "lastUpdateReceivedTime": {
+ "format": "date-time",
+ "description": "The last update time received from on-prem components.",
+ "type": "string"
+ },
+ "replicaId": {
+ "description": "The replica id of the protected item.",
+ "type": "string"
+ },
+ "osVersion": {
+ "description": "The OS Version of the protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageReprotectInput": {
+ "description": "InMageAzureV2 specific provider input.",
+ "required": [
+ "masterTargetId",
+ "processServerId",
+ "retentionDrive",
+ "profileId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master Target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "retentionDrive": {
+ "description": "The retention drive to use on the MT.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "diskExclusionInput": {
+ "$ref": "#/definitions/InMageDiskExclusionInput",
+ "description": "The enable disk exclusion input."
+ },
+ "profileId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageVolumeExclusionOptions": {
+ "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "volumeLabel": {
+ "description": "The volume label. The disk having any volume with this label will be excluded from replication.",
+ "type": "string"
+ },
+ "onlyExcludeIfSingleVolume": {
+ "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.",
+ "type": "string"
+ }
+ }
+ },
+ "InnerHealthError": {
+ "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
+ "type": "object",
+ "properties": {
+ "errorSource": {
+ "description": "Source of error.",
+ "type": "string"
+ },
+ "errorType": {
+ "description": "Type of error.",
+ "type": "string"
+ },
+ "errorLevel": {
+ "description": "Level of error.",
+ "type": "string"
+ },
+ "errorCategory": {
+ "description": "Category of error.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "summaryMessage": {
+ "description": "Summary message of the entity.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "creationTimeUtc": {
+ "format": "date-time",
+ "description": "Error creation time (UTC)",
+ "type": "string"
+ },
+ "recoveryProviderErrorMessage": {
+ "description": "DRA error message.",
+ "type": "string"
+ },
+ "entityId": {
+ "description": "ID of the entity.",
+ "type": "string"
+ }
+ }
+ },
+ "InputEndpoint": {
+ "description": "Azure VM input endpoint details.",
+ "type": "object",
+ "properties": {
+ "endpointName": {
+ "description": "The input endpoint name.",
+ "type": "string"
+ },
+ "privatePort": {
+ "format": "int32",
+ "description": "The input endpoint private port.",
+ "type": "integer"
+ },
+ "publicPort": {
+ "format": "int32",
+ "description": "The input endpoint public port.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The input endpoint protocol.",
+ "type": "string"
+ }
+ }
+ },
+ "Job": {
+ "description": "Job details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "JobCollection": {
+ "description": "Collection of jobs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of jobs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "JobDetails": {
+ "description": "Job details based on specific job type.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).",
+ "type": "string",
+ "readOnly": true
+ },
+ "affectedObjectDetails": {
+ "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "JobEntity": {
+ "description": "This class contains the minimal job details required to navigate to the desired drill down.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job id.",
+ "type": "string"
+ },
+ "jobFriendlyName": {
+ "description": "The job display name.",
+ "type": "string"
+ },
+ "targetObjectId": {
+ "description": "The object id.",
+ "type": "string"
+ },
+ "targetObjectName": {
+ "description": "The object name.",
+ "type": "string"
+ },
+ "targetInstanceType": {
+ "description": "The workflow affected object type.",
+ "type": "string"
+ },
+ "jobScenarioName": {
+ "description": "The job name. Enum type ScenarioName.",
+ "type": "string"
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "This class contains the error details per object.",
+ "type": "object",
+ "properties": {
+ "serviceErrorDetails": {
+ "$ref": "#/definitions/ServiceError",
+ "description": "The Service error details."
+ },
+ "providerErrorDetails": {
+ "$ref": "#/definitions/ProviderError",
+ "description": "The Provider error details."
+ },
+ "errorLevel": {
+ "description": "Error level of error.",
+ "type": "string"
+ },
+ "creationTime": {
+ "format": "date-time",
+ "description": "The creation time of job error.",
+ "type": "string"
+ },
+ "taskId": {
+ "description": "The Id of the task.",
+ "type": "string"
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "Job custom data details.",
+ "type": "object",
+ "properties": {
+ "activityId": {
+ "description": "The activity id.",
+ "type": "string"
+ },
+ "scenarioName": {
+ "description": "The ScenarioName.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The DisplayName.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
+ "type": "string"
+ },
+ "stateDescription": {
+ "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
+ "type": "string"
+ },
+ "tasks": {
+ "description": "The tasks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ASRTask"
+ }
+ },
+ "errors": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "allowedActions": {
+ "description": "The Allowed action the job.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetObjectId": {
+ "description": "The affected Object Id.",
+ "type": "string"
+ },
+ "targetObjectName": {
+ "description": "The name of the affected object.",
+ "type": "string"
+ },
+ "targetInstanceType": {
+ "description": "The type of the affected object which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/JobDetails",
+ "description": "The custom job details like test failover job details."
+ }
+ }
+ },
+ "JobQueryParameter": {
+ "description": "Query parameter to enumerate jobs.",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "Date time to get jobs from.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "Date time to get jobs upto.",
+ "type": "string"
+ },
+ "fabricId": {
+ "description": "The Id of the fabric to search jobs under.",
+ "type": "string"
+ },
+ "affectedObjectTypes": {
+ "description": "The type of objects.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "jobStatus": {
+ "description": "The states of the job to be filtered can be in.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "JobStatusEventDetails": {
+ "description": "Model class for event details of a job status event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSpecificDetails"
+ }
+ ],
+ "properties": {
+ "jobId": {
+ "description": "Job arm id for the event.",
+ "type": "string"
+ },
+ "jobFriendlyName": {
+ "description": "JobName for the Event.",
+ "type": "string"
+ },
+ "jobStatus": {
+ "description": "JobStatus for the Event.",
+ "type": "string"
+ },
+ "affectedObjectType": {
+ "description": "AffectedObjectType for the event.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "JobStatus"
+ },
+ "JobTaskDetails": {
+ "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "jobTask": {
+ "$ref": "#/definitions/JobEntity",
+ "description": "The job entity."
+ }
+ },
+ "x-ms-discriminator-value": "JobTaskDetails"
+ },
+ "LogicalNetwork": {
+ "description": "Logical network data model.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LogicalNetworkProperties",
+ "description": "The Logical Network Properties."
+ }
+ }
+ },
+ "LogicalNetworkCollection": {
+ "description": "List of logical networks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Logical Networks list details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogicalNetwork"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "LogicalNetworkProperties": {
+ "description": "Logical Network Properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The Friendly Name.",
+ "type": "string"
+ },
+ "networkVirtualizationStatus": {
+ "description": "A value indicating whether Network Virtualization is enabled for the logical network.",
+ "type": "string"
+ },
+ "logicalNetworkUsage": {
+ "description": "A value indicating whether logical network is used as private test network by test failover.",
+ "type": "string"
+ },
+ "logicalNetworkDefinitionsStatus": {
+ "description": "A value indicating whether logical network definitions are isolated.",
+ "type": "string"
+ }
+ }
+ },
+ "ManualActionTaskDetails": {
+ "description": "This class represents the manual action task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "instructions": {
+ "description": "The instructions.",
+ "type": "string"
+ },
+ "observation": {
+ "description": "The observation.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManualActionTaskDetails"
+ },
+ "MasterTargetServer": {
+ "description": "Details of a Master Target Server.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the server.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The server name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type of the server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The version of the scout component on the server.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status",
+ "type": "string"
+ },
+ "retentionVolumes": {
+ "description": "The retention volumes of Master target Server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RetentionVolume"
+ }
+ },
+ "dataStores": {
+ "description": "The list of data stores in the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ "validationErrors": {
+ "description": "Validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "diskCount": {
+ "format": "int32",
+ "description": "Disk count of the master target.",
+ "type": "integer"
+ },
+ "osVersion": {
+ "description": "OS Version of the master target.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "marsAgentVersion": {
+ "description": "MARS agent version.",
+ "type": "string"
+ },
+ "marsAgentExpiryDate": {
+ "format": "date-time",
+ "description": "MARS agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "Agent version details."
+ },
+ "marsAgentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "Mars agent version details."
+ }
+ }
+ },
+ "MobilityServiceUpdate": {
+ "description": "The Mobility Service update details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version of the latest update.",
+ "type": "string"
+ },
+ "rebootStatus": {
+ "description": "The reboot status of the update - whether it is required or not.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type.",
+ "type": "string"
+ }
+ }
+ },
+ "Network": {
+ "description": "Network model.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkProperties",
+ "description": "The Network Properties."
+ }
+ }
+ },
+ "NetworkCollection": {
+ "description": "List of networks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Networks list details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Network"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkMapping": {
+ "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate exensions in subsequent versions.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkMappingProperties",
+ "description": "The Network Mapping Properties."
+ }
+ }
+ },
+ "NetworkMappingCollection": {
+ "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Network Mappings list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkMappingFabricSpecificSettings": {
+ "description": "Network Mapping fabric specific settings.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "NetworkMappingProperties": {
+ "description": "Network Mapping Properties.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "The pairing state for network mapping.",
+ "type": "string"
+ },
+ "primaryNetworkFriendlyName": {
+ "description": "The primary network friendly name.",
+ "type": "string"
+ },
+ "primaryNetworkId": {
+ "description": "The primary network id for network mapping.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The primary fabric friendly name.",
+ "type": "string"
+ },
+ "recoveryNetworkFriendlyName": {
+ "description": "The recovery network friendly name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "The recovery network id for network mapping.",
+ "type": "string"
+ },
+ "recoveryFabricArmId": {
+ "description": "The recovery fabric ARM id.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The recovery fabric friendly name.",
+ "type": "string"
+ },
+ "fabricSpecificSettings": {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings",
+ "description": "The fabric specific settings."
+ }
+ }
+ },
+ "NetworkProperties": {
+ "description": "Network Properties",
+ "type": "object",
+ "properties": {
+ "fabricType": {
+ "description": "The Fabric Type.",
+ "type": "string"
+ },
+ "subnets": {
+ "description": "The List of subnets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ }
+ },
+ "friendlyName": {
+ "description": "The Friendly Name.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "The Network Type.",
+ "type": "string"
+ }
+ }
+ },
+ "Object": {
+ "description": "Base of all objects.",
+ "type": "object",
+ "properties": {}
+ },
+ "OperationsDiscovery": {
+ "description": "Operations discovery class.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Object type"
+ },
+ "origin": {
+ "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\"",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationsDiscoveryProperties",
+ "description": "Properties. Reserved for future use."
+ }
+ }
+ },
+ "OperationsDiscoveryCollection": {
+ "description": "Collection of ClientDiscovery details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The ClientDiscovery details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationsDiscovery"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationsDiscoveryProperties": {
+ "description": "ClientDiscovery properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "OSDetails": {
+ "description": "Disk Details.",
+ "type": "object",
+ "properties": {
+ "osType": {
+ "description": "VM Disk details.",
+ "type": "string"
+ },
+ "productType": {
+ "description": "Product type.",
+ "type": "string"
+ },
+ "osEdition": {
+ "description": "The OSEdition.",
+ "type": "string"
+ },
+ "oSVersion": {
+ "description": "The OS Version.",
+ "type": "string"
+ },
+ "oSMajorVersion": {
+ "description": "The OS Major Version.",
+ "type": "string"
+ },
+ "oSMinorVersion": {
+ "description": "The OS Minor Version.",
+ "type": "string"
+ }
+ }
+ },
+ "OSDiskDetails": {
+ "description": "Details of the OS Disk.",
+ "type": "object",
+ "properties": {
+ "osVhdId": {
+ "description": "The id of the disk containing the OS.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The OS disk VHD name.",
+ "type": "string"
+ }
+ }
+ },
+ "PlannedFailoverInput": {
+ "description": "Input definition for planned failover.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PlannedFailoverInputProperties",
+ "description": "Planned failover input properties"
+ }
+ }
+ },
+ "PlannedFailoverInputProperties": {
+ "description": "Input definition for planned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput",
+ "description": "Provider specific settings"
+ }
+ }
+ },
+ "Policy": {
+ "description": "Protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PolicyProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "PolicyCollection": {
+ "description": "Protection Profile Collection details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The policy details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "PolicyProperties": {
+ "description": "Protection profile custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The FriendlyName.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails",
+ "description": "The ReplicationChannelSetting."
+ }
+ }
+ },
+ "PolicyProviderSpecificDetails": {
+ "description": "Base class for Provider specific details for policies.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "PolicyProviderSpecificInput": {
+ "description": "Base class for provider specific input",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ProcessServer": {
+ "description": "Details of the Process Server.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The Process Server's friendly name.",
+ "type": "string"
+ },
+ "id": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the server.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type of the server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The version of the scout component on the server.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status",
+ "type": "string"
+ },
+ "mobilityServiceUpdates": {
+ "description": "The list of the mobility service updates available on the Process Server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MobilityServiceUpdate"
+ }
+ },
+ "hostId": {
+ "description": "The agent generated Id.",
+ "type": "string"
+ },
+ "machineCount": {
+ "description": "The servers configured with this PS.",
+ "type": "string"
+ },
+ "replicationPairCount": {
+ "description": "The number of replication pairs configured in this PS.",
+ "type": "string"
+ },
+ "systemLoad": {
+ "description": "The percentage of the system load.",
+ "type": "string"
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "type": "string"
+ },
+ "cpuLoad": {
+ "description": "The percentage of the CPU load.",
+ "type": "string"
+ },
+ "cpuLoadStatus": {
+ "description": "The CPU load status.",
+ "type": "string"
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer"
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer"
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "type": "string"
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total space.",
+ "type": "integer"
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available space.",
+ "type": "integer"
+ },
+ "spaceUsageStatus": {
+ "description": "The space usage status.",
+ "type": "string"
+ },
+ "psServiceStatus": {
+ "description": "The PS service status.",
+ "type": "string"
+ },
+ "sslCertExpiryDate": {
+ "format": "date-time",
+ "description": "The PS SSL cert expiry date.",
+ "type": "string"
+ },
+ "sslCertExpiryRemainingDays": {
+ "format": "int32",
+ "description": "CS SSL cert expiry date.",
+ "type": "integer"
+ },
+ "osVersion": {
+ "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The agent version details."
+ }
+ }
+ },
+ "ProtectableItem": {
+ "description": "Replication protected item",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectableItemProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectableItemCollection": {
+ "description": "Protectable item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Protectable item details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectableItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectableItemProperties": {
+ "description": "Replication protected item custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "The protection status.",
+ "type": "string"
+ },
+ "replicationProtectedItemId": {
+ "description": "The ARM resource of protected items.",
+ "type": "string"
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery provider ARM Id.",
+ "type": "string"
+ },
+ "protectionReadinessErrors": {
+ "description": "The Current protection readiness errors.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "supportedReplicationProviders": {
+ "description": "The list of replication providers supported for the protectable item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "customDetails": {
+ "$ref": "#/definitions/ConfigurationSettings",
+ "description": "The Replication provider custom settings."
+ }
+ }
+ },
+ "ProtectedItemsQueryParameter": {
+ "description": "Query parameter to enumerate protected items.",
+ "type": "object",
+ "properties": {
+ "sourceFabricName": {
+ "description": "The source fabric name filter.",
+ "type": "string"
+ },
+ "recoveryPlanName": {
+ "description": "The recovery plan filter.",
+ "type": "string"
+ },
+ "vCenterName": {
+ "description": "The vCenter name filter.",
+ "type": "string"
+ },
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ },
+ "multiVmGroupCreateOption": {
+ "description": "Whether Multi VM group is auto created or specified by user.",
+ "enum": [
+ "AutoCreated",
+ "UserSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmGroupCreateOption",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "ProtectionContainer": {
+ "description": "Protection container details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainerProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectionContainerCollection": {
+ "description": "Protection Container collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Protection Container details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerFabricSpecificDetails": {
+ "description": "Base class for fabric specific details of container.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overriden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProtectionContainerMapping": {
+ "description": "Protection container mapping object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainerMappingProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectionContainerMappingCollection": {
+ "description": "Protection container mapping collection class.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of container mappings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "nextLink": {
+ "description": "Link to fetch rest of the data.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerMappingProperties": {
+ "description": "Protection container mapping properties.",
+ "type": "object",
+ "properties": {
+ "targetProtectionContainerId": {
+ "description": "Paired protection container ARM ID.",
+ "type": "string"
+ },
+ "targetProtectionContainerFriendlyName": {
+ "description": "Friendly name of paired container.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails",
+ "description": "Provider specific provider details."
+ },
+ "health": {
+ "description": "Health of pairing.",
+ "type": "string"
+ },
+ "healthErrorDetails": {
+ "description": "Health error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "policyId": {
+ "description": "Policy ARM Id.",
+ "type": "string"
+ },
+ "state": {
+ "description": "Association Status",
+ "type": "string"
+ },
+ "sourceProtectionContainerFriendlyName": {
+ "description": "Friendly name of source protection container.",
+ "type": "string"
+ },
+ "sourceFabricFriendlyName": {
+ "description": "Friendly name of source fabric.",
+ "type": "string"
+ },
+ "targetFabricFriendlyName": {
+ "description": "Friendly name of target fabric.",
+ "type": "string"
+ },
+ "policyFriendlyName": {
+ "description": "Friendly name of replication policy.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerMappingProviderSpecificDetails": {
+ "description": "Container mapping provider specific details.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overriden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProtectionContainerProperties": {
+ "description": "Protection profile custom data details.",
+ "type": "object",
+ "properties": {
+ "fabricFriendlyName": {
+ "description": "Fabric friendly name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "fabricType": {
+ "description": "The fabric type.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "Number of protected PEs",
+ "type": "integer"
+ },
+ "pairingStatus": {
+ "description": "The pairing status of this cloud.",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of this cloud.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails",
+ "description": "Fabric specific details."
+ }
+ }
+ },
+ "ProviderError": {
+ "description": "This class contains the error details per object.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "The Error code.",
+ "type": "integer"
+ },
+ "errorMessage": {
+ "description": "The Error message.",
+ "type": "string"
+ },
+ "errorId": {
+ "description": "The Provider error Id.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "The possible causes for the error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "The recommended action to resolve the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ProviderSpecificFailoverInput": {
+ "description": "Provider specific failover input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ProviderSpecificRecoveryPointDetails": {
+ "description": "Replication provider specific recovery point details.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the provider type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RcmAzureMigrationPolicyDetails": {
+ "description": "RCM based Azure migration specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmSyncStatus",
+ "modelAsString": false
+ }
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "RcmAzureMigration"
+ },
+ "RecoveryPlan": {
+ "description": "Recovery plan details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanProperties",
+ "description": "The custom details."
+ }
+ }
+ },
+ "RecoveryPlanA2AFailoverInput": {
+ "description": "Recovery plan A2A failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "A2ARpRecoveryPointType",
+ "modelAsString": false
+ }
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for TFO or not.",
+ "type": "string"
+ },
+ "multiVmSyncPointOption": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "enum": [
+ "UseMultiVmSyncRecoveryPoint",
+ "UsePerVmRecoveryPoint"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmSyncPointOption",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "RecoveryPlanAction": {
+ "description": "Recovery plan action details.",
+ "required": [
+ "actionName",
+ "failoverTypes",
+ "failoverDirections",
+ "customDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "actionName": {
+ "description": "The action name.",
+ "type": "string"
+ },
+ "failoverTypes": {
+ "description": "The list of failover types.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "ReverseReplicate",
+ "Commit",
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover",
+ "TestFailoverCleanup",
+ "Failback",
+ "FinalizeFailback",
+ "ChangePit",
+ "RepairReplication",
+ "SwitchProtection",
+ "CompleteMigration"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ReplicationProtectedItemOperation",
+ "modelAsString": false
+ }
+ }
+ },
+ "failoverDirections": {
+ "description": "The list of failover directions.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": false
+ }
+ }
+ },
+ "customDetails": {
+ "$ref": "#/definitions/RecoveryPlanActionDetails",
+ "description": "The custom details."
+ }
+ }
+ },
+ "RecoveryPlanActionDetails": {
+ "description": "Recovery plan action custom details.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanAutomationRunbookActionDetails": {
+ "description": "Recovery plan Automation runbook action details.",
+ "required": [
+ "fabricLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "runbookId": {
+ "description": "The runbook ARM Id.",
+ "type": "string"
+ },
+ "timeout": {
+ "description": "The runbook timeout.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "enum": [
+ "Primary",
+ "Recovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanActionLocation",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AutomationRunbookActionDetails"
+ },
+ "RecoveryPlanCollection": {
+ "description": "Recovery plan collection details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of recovery plans.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanGroup": {
+ "description": "Recovery plan group details.",
+ "required": [
+ "groupType"
+ ],
+ "type": "object",
+ "properties": {
+ "groupType": {
+ "description": "The group type.",
+ "enum": [
+ "Shutdown",
+ "Boot",
+ "Failover"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanGroupType",
+ "modelAsString": false
+ }
+ },
+ "replicationProtectedItems": {
+ "description": "The list of protected items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProtectedItem"
+ }
+ },
+ "startGroupActions": {
+ "description": "The start group actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanAction"
+ }
+ },
+ "endGroupActions": {
+ "description": "The end group actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanAction"
+ }
+ }
+ }
+ },
+ "RecoveryPlanGroupTaskDetails": {
+ "description": "This class represents the recovery plan group task.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupTaskDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "groupId": {
+ "description": "The group identifier.",
+ "type": "string"
+ },
+ "rpGroupType": {
+ "description": "The group type.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails"
+ },
+ "RecoveryPlanHyperVReplicaAzureFailbackInput": {
+ "description": "Recovery plan HVR Azure failback input.",
+ "required": [
+ "dataSyncOption",
+ "recoveryVmCreationOption"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "dataSyncOption": {
+ "description": "The data sync option.",
+ "enum": [
+ "ForDownTime",
+ "ForSynchronization"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSyncStatus",
+ "modelAsString": false
+ }
+ },
+ "recoveryVmCreationOption": {
+ "description": "The ALR option.",
+ "enum": [
+ "CreateVmIfNotFound",
+ "NoAction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AlternateLocationRecoveryOption",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
+ },
+ "RecoveryPlanHyperVReplicaAzureFailoverInput": {
+ "description": "Recovery plan HVR Azure failover input.",
+ "required": [
+ "vaultLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "vaultLocation": {
+ "description": "The vault location.",
+ "type": "string"
+ },
+ "primaryKekCertificatePfx": {
+ "description": "The primary KEK certificate PFX.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "The secondary KEK certificate PFX.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HyperVReplicaAzureRpRecoveryPointType",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "RecoveryPlanInMageAzureV2FailoverInput": {
+ "description": "Recovery plan InMageAzureV2 failover input.",
+ "required": [
+ "vaultLocation",
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "vaultLocation": {
+ "description": "The vault location.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InMageV2RpRecoveryPointType",
+ "modelAsString": false
+ }
+ },
+ "useMultiVmSyncPoint": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "RecoveryPlanInMageFailoverInput": {
+ "description": "Recovery plan InMage failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RpInMageRecoveryPointType",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "RecoveryPlanManualActionDetails": {
+ "description": "Recovery plan manual action details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "description": {
+ "description": "The manual action description.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManualActionDetails"
+ },
+ "RecoveryPlanPlannedFailoverInput": {
+ "description": "Recovery plan planned failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties",
+ "description": "The recovery plan planned failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanPlannedFailoverInputProperties": {
+ "description": "Recovery plan planned failover input properties.",
+ "required": [
+ "failoverDirection"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": false
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPlanProperties": {
+ "description": "Recovery plan custom details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name.",
+ "type": "string"
+ },
+ "primaryFabricId": {
+ "description": "The primary fabric Id.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The primary fabric friendly name.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The recovery fabric Id.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The recovery fabric friendly name.",
+ "type": "string"
+ },
+ "failoverDeploymentModel": {
+ "description": "The failover deployment model.",
+ "type": "string"
+ },
+ "replicationProviders": {
+ "description": "The list of replication providers.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedOperations": {
+ "description": "The list of allowed operations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "lastPlannedFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last planned failover.",
+ "type": "string"
+ },
+ "lastUnplannedFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last unplanned failover.",
+ "type": "string"
+ },
+ "lastTestFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last test failover.",
+ "type": "string"
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario details."
+ },
+ "currentScenarioStatus": {
+ "description": "The recovery plan status.",
+ "type": "string"
+ },
+ "currentScenarioStatusDescription": {
+ "description": "The recovery plan status description.",
+ "type": "string"
+ },
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ }
+ }
+ },
+ "RecoveryPlanProtectedItem": {
+ "description": "Recovery plan protected item.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM Id of the recovery plan protected item.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanProviderSpecificFailoverInput": {
+ "description": "Recovery plan provider specific failover input base class.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanScriptActionDetails": {
+ "description": "Recovery plan script action details.",
+ "required": [
+ "path",
+ "fabricLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "path": {
+ "description": "The script path.",
+ "type": "string"
+ },
+ "timeout": {
+ "description": "The script timeout.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "enum": [
+ "Primary",
+ "Recovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanActionLocation",
+ "modelAsString": false
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ScriptActionDetails"
+ },
+ "RecoveryPlanShutdownGroupTaskDetails": {
+ "description": "This class represents the recovery plan shutdown group task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupTaskDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "groupId": {
+ "description": "The group identifier.",
+ "type": "string"
+ },
+ "rpGroupType": {
+ "description": "The group type.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails"
+ },
+ "RecoveryPlanTestFailoverCleanupInput": {
+ "description": "Recovery plan test failover cleanup input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties",
+ "description": "The recovery plan test failover cleanup input properties."
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverCleanupInputProperties": {
+ "description": "Recovery plan test failover cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "The test failover cleanup comments.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverInput": {
+ "description": "Recovery plan test failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties",
+ "description": "The recovery plan test failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverInputProperties": {
+ "description": "Recovery plan test failover input properties.",
+ "required": [
+ "failoverDirection",
+ "networkType"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": false
+ }
+ },
+ "networkType": {
+ "description": "The network type to be used for test failover.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The Id of the network to be used for test failover.",
+ "type": "string"
+ },
+ "skipTestFailoverCleanup": {
+ "description": "A value indicating whether the test failover cleanup is to be skipped.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPlanUnplannedFailoverInput": {
+ "description": "Recovery plan unplanned failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties",
+ "description": "The recovery plan unplanned failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanUnplannedFailoverInputProperties": {
+ "description": "Recovery plan unplanned failover input properties.",
+ "required": [
+ "failoverDirection",
+ "sourceSiteOperations"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": false
+ }
+ },
+ "sourceSiteOperations": {
+ "description": "A value indicating whether source site operations are required.",
+ "enum": [
+ "Required",
+ "NotRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SourceSiteOperations",
+ "modelAsString": false
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPoint": {
+ "description": "Base class representing a recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPointProperties",
+ "description": "Recovery point related data."
+ }
+ }
+ },
+ "RecoveryPointCollection": {
+ "description": "Collection of recovery point details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The recovery point details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPointProperties": {
+ "description": "Recovery point properties.",
+ "type": "object",
+ "properties": {
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type: ApplicationConsistent, CrashConsistent.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails",
+ "description": "The provider specific details for the recovery point."
+ }
+ }
+ },
+ "RecoveryServicesProvider": {
+ "description": "Provider details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryServicesProviderProperties",
+ "description": "Provider properties."
+ }
+ }
+ },
+ "RecoveryServicesProviderCollection": {
+ "description": "Collection of providers.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Servers details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryServicesProviderProperties": {
+ "description": "Recovery services provider properties.",
+ "type": "object",
+ "properties": {
+ "fabricType": {
+ "description": "Type of the site.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the DRA.",
+ "type": "string"
+ },
+ "providerVersion": {
+ "description": "The provider version.",
+ "type": "string"
+ },
+ "serverVersion": {
+ "description": "The fabric provider.",
+ "type": "string"
+ },
+ "providerVersionState": {
+ "description": "DRA version status.",
+ "type": "string"
+ },
+ "providerVersionExpiryDate": {
+ "format": "date-time",
+ "description": "Expiry date of the version.",
+ "type": "string"
+ },
+ "fabricFriendlyName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "lastHeartBeat": {
+ "format": "date-time",
+ "description": "Time when last heartbeat was sent by the DRA.",
+ "type": "string"
+ },
+ "connectionStatus": {
+ "description": "A value indicating whether DRA is responsive.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "Number of protected VMs currently managed by the DRA.",
+ "type": "integer"
+ },
+ "allowedScenarios": {
+ "description": "The scenarios allowed on this provider.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "healthErrorDetails": {
+ "description": "The recovery services provider health error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "draIdentifier": {
+ "description": "The DRA Id.",
+ "type": "string"
+ },
+ "identityDetails": {
+ "$ref": "#/definitions/IdentityInformation",
+ "description": "The identity details."
+ },
+ "providerVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The provider version details."
+ }
+ }
+ },
+ "RemoveProtectionContainerMappingInput": {
+ "description": "Container unpairing input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties",
+ "description": "Configure protection input properties."
+ }
+ }
+ },
+ "RemoveProtectionContainerMappingInputProperties": {
+ "description": "Unpairing input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput",
+ "description": "Provider specific input for unpairing."
+ }
+ }
+ },
+ "RenewCertificateInput": {
+ "description": "Certificate renewal input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RenewCertificateInputProperties",
+ "description": "Renew certificate input properties."
+ }
+ }
+ },
+ "RenewCertificateInputProperties": {
+ "description": "Renew Certificate input properties.",
+ "type": "object",
+ "properties": {
+ "renewCertificateType": {
+ "description": "Renew certificate type.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationGroupDetails": {
+ "description": "Replication group details. This will be used in case of San and Wvr.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ReplicationGroupDetails"
+ },
+ "ReplicationProtectedItem": {
+ "description": "Replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProtectedItemProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ReplicationProtectedItemCollection": {
+ "description": "Replication protected item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Replication protected item details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectedItemProperties": {
+ "description": "Replication protected item custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "protectedItemType": {
+ "description": "The type of protected item type.",
+ "type": "string"
+ },
+ "protectableItemId": {
+ "description": "The protected item ARM Id.",
+ "type": "string"
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery provider ARM Id.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The friendly name of the primary fabric.",
+ "type": "string"
+ },
+ "primaryFabricProvider": {
+ "description": "The fabric provider of the primary fabric.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The friendly name of recovery fabric.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The Arm Id of recovery fabric.",
+ "type": "string"
+ },
+ "primaryProtectionContainerFriendlyName": {
+ "description": "The name of primary protection container friendly name.",
+ "type": "string"
+ },
+ "recoveryProtectionContainerFriendlyName": {
+ "description": "The name of recovery container friendly name.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "The protection status.",
+ "type": "string"
+ },
+ "protectionStateDescription": {
+ "description": "The protection state description.",
+ "type": "string"
+ },
+ "activeLocation": {
+ "description": "The Current active location of the PE.",
+ "type": "string"
+ },
+ "testFailoverState": {
+ "description": "The Test failover state.",
+ "type": "string"
+ },
+ "testFailoverStateDescription": {
+ "description": "The Test failover state description.",
+ "type": "string"
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the Replication protected item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "replicationHealth": {
+ "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.",
+ "type": "string"
+ },
+ "failoverHealth": {
+ "description": "The consolidated failover health for the VM.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "List of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "policyId": {
+ "description": "The ID of Policy governing this PE.",
+ "type": "string"
+ },
+ "policyFriendlyName": {
+ "description": "The name of Policy governing this PE.",
+ "type": "string"
+ },
+ "lastSuccessfulFailoverTime": {
+ "format": "date-time",
+ "description": "The Last successful failover time.",
+ "type": "string"
+ },
+ "lastSuccessfulTestFailoverTime": {
+ "format": "date-time",
+ "description": "The Last successful test failover time.",
+ "type": "string"
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario."
+ },
+ "failoverRecoveryPointId": {
+ "description": "The recovery point ARM Id to which the Vm was failed over.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings",
+ "description": "The Replication provider custom settings."
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProviderContainerUnmappingInput": {
+ "description": "Provider specific input for unpairing operations.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProviderSpecificContainerCreationInput": {
+ "description": "Provider specific input for container creation operation.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificContainerMappingInput": {
+ "description": "Provider specific input for pairing operations.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProviderSpecificSettings": {
+ "description": "Replication provider specific settings.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "Resource": {
+ "description": "Azure resource.",
+ "properties": {
+ "id": {
+ "description": "Resource Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource Name",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource Type",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource Location",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceHealthSummary": {
+ "description": "Base class to define the health summary of the resources contained under an Arm resource.",
+ "type": "object",
+ "properties": {
+ "resourceCount": {
+ "format": "int32",
+ "description": "The count of total resources umder the container.",
+ "type": "integer"
+ },
+ "issues": {
+ "description": "The list of summary of health errors across the resources under the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthErrorSummary"
+ }
+ }
+ }
+ },
+ "ResumeJobParams": {
+ "description": "Resume job params.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResumeJobParamsProperties",
+ "description": "Resume job properties."
+ }
+ }
+ },
+ "ResumeJobParamsProperties": {
+ "description": "Resume job properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Resume job comments.",
+ "type": "string"
+ }
+ }
+ },
+ "RetentionVolume": {
+ "description": "The retention details of the MT.",
+ "type": "object",
+ "properties": {
+ "volumeName": {
+ "description": "The volume name.",
+ "type": "string"
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The volume capacity.",
+ "type": "integer"
+ },
+ "freeSpaceInBytes": {
+ "format": "int64",
+ "description": "The free space available in this volume.",
+ "type": "integer"
+ },
+ "thresholdPercentage": {
+ "format": "int32",
+ "description": "The threshold percentage.",
+ "type": "integer"
+ }
+ }
+ },
+ "ReverseReplicationInput": {
+ "description": "Reverse replication input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReverseReplicationInputProperties",
+ "description": "Reverse replication properties"
+ }
+ }
+ },
+ "ReverseReplicationInputProperties": {
+ "description": "Reverse replication input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput",
+ "description": "Provider specific reverse replication input."
+ }
+ }
+ },
+ "ReverseReplicationProviderSpecificInput": {
+ "description": "Provider specific reverse replication input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RoleAssignment": {
+ "description": "Azure role assignment details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM Id of the role assignment.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the role assignment.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Role assignment scope.",
+ "type": "string"
+ },
+ "principalId": {
+ "description": "Principal Id.",
+ "type": "string"
+ },
+ "roleDefinitionId": {
+ "description": "Role definition id.",
+ "type": "string"
+ }
+ }
+ },
+ "RunAsAccount": {
+ "description": "CS Accounts Details.",
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "description": "The CS RunAs account Id.",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The CS RunAs account name.",
+ "type": "string"
+ }
+ }
+ },
+ "SanEnableProtectionInput": {
+ "description": "San enable protection provider specific input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "San"
+ },
+ "ScriptActionTaskDetails": {
+ "description": "This class represents the script action task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path.",
+ "type": "string"
+ },
+ "output": {
+ "description": "The output.",
+ "type": "string"
+ },
+ "isPrimarySideScript": {
+ "description": "A value indicating whether it is a primary side script or not.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "ScriptActionTaskDetails"
+ },
+ "ServiceError": {
+ "description": "ASR error model",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "activityId": {
+ "description": "Activity Id.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassification": {
+ "description": "Storage object definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageClassificationProperties",
+ "description": "Proprties of the storage object."
+ }
+ }
+ },
+ "StorageClassificationCollection": {
+ "description": "Collection of storage details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The storage details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageClassification"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationMapping": {
+ "description": "Storage mapping object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageClassificationMappingProperties",
+ "description": "Proprties of the storage mappping object."
+ }
+ }
+ },
+ "StorageClassificationMappingCollection": {
+ "description": "Collection of storage mapping details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The storage details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationMappingInput": {
+ "description": "Storage mapping input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageMappingInputProperties",
+ "description": "Storage mapping input properties."
+ }
+ }
+ },
+ "StorageClassificationMappingProperties": {
+ "description": "Storage mapping properties.",
+ "type": "object",
+ "properties": {
+ "targetStorageClassificationId": {
+ "description": "Target storage object Id.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationProperties": {
+ "description": "Storage object properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the Storage classification.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageMappingInputProperties": {
+ "description": "Storage mapping input properties.",
+ "type": "object",
+ "properties": {
+ "targetStorageClassificationId": {
+ "description": "The ID of the storage object.",
+ "type": "string"
+ }
+ }
+ },
+ "Subnet": {
+ "description": "Subnets of the network.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The subnet name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The subnet friendly name.",
+ "type": "string"
+ },
+ "addressList": {
+ "description": "The list of addresses for the subnet.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SwitchProtectionInput": {
+ "description": "Switch protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SwitchProtectionInputProperties",
+ "description": "Switch protection properties"
+ }
+ }
+ },
+ "SwitchProtectionInputProperties": {
+ "description": "Switch protection input properties.",
+ "type": "object",
+ "properties": {
+ "replicationProtectedItemName": {
+ "description": "The unique replication protected item name.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/SwitchProtectionProviderSpecificInput",
+ "description": "Provider specific switch protection input."
+ }
+ }
+ },
+ "SwitchProtectionJobDetails": {
+ "description": "This class represents details for switch protection job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "newReplicationProtectedItemId": {
+ "description": "ARM Id of the new replication protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "SwitchProtectionJobDetails"
+ },
+ "SwitchProtectionProviderSpecificInput": {
+ "description": "Provider specific switch protection input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TargetComputeSize": {
+ "description": "Represents applicable recovery vm sizes.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The Type of the object.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/TargetComputeSizeProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "TargetComputeSizeCollection": {
+ "description": "Target compute size collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of target compute sizes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TargetComputeSize"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "TargetComputeSizeProperties": {
+ "description": "Represents applicable recovery vm sizes properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Target compute size name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Target compute size display name.",
+ "type": "string"
+ },
+ "cpuCoresCount": {
+ "format": "int32",
+ "description": "The maximum cpu cores count supported by target compute size.",
+ "type": "integer"
+ },
+ "memoryInGB": {
+ "format": "double",
+ "description": "The maximum memory in GB supported by target compute size.",
+ "type": "number"
+ },
+ "maxDataDiskCount": {
+ "format": "int32",
+ "description": "The maximum data disks count supported by target compute size.",
+ "type": "integer"
+ },
+ "maxNicsCount": {
+ "format": "int32",
+ "description": "The maximum Nics count supported by target compute size.",
+ "type": "integer"
+ },
+ "errors": {
+ "description": "The reasons why the target compute size is not applicable for the protected item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComputeSizeErrorDetails"
+ }
+ },
+ "highIopsSupported": {
+ "description": "The value indicating whether the target compute size supports high Iops.",
+ "type": "string"
+ }
+ }
+ },
+ "TaskTypeDetails": {
+ "description": "Task details based on specific task type.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The type of task details.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TestFailoverCleanupInput": {
+ "description": "Input definition for test failover cleanup.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestFailoverCleanupInputProperties",
+ "description": "Test failover cleanup input properties."
+ }
+ }
+ },
+ "TestFailoverCleanupInputProperties": {
+ "description": "Input definition for test failover cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Test failover cleanup comments.",
+ "type": "string"
+ }
+ }
+ },
+ "TestFailoverInput": {
+ "description": "Input definition for planned failover.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestFailoverInputProperties",
+ "description": "Planned failover input properties"
+ }
+ }
+ },
+ "TestFailoverInputProperties": {
+ "description": "Input definition for planned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "Network type to be used for test failover.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The id of the network to be used for test failover",
+ "type": "string"
+ },
+ "skipTestFailoverCleanup": {
+ "description": "A value indicating whether the test failover cleanup is to be skipped.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput",
+ "description": "Provider specific settings"
+ }
+ }
+ },
+ "TestFailoverJobDetails": {
+ "description": "This class represents the details for a test failover job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "testFailoverStatus": {
+ "description": "The test failover status.",
+ "type": "string"
+ },
+ "comments": {
+ "description": "The test failover comments.",
+ "type": "string"
+ },
+ "networkName": {
+ "description": "The test network name.",
+ "type": "string"
+ },
+ "networkFriendlyName": {
+ "description": "The test network friendly name.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "The test network type (see TestFailoverInput enum for possible values).",
+ "type": "string"
+ },
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "TestFailoverJobDetails"
+ },
+ "UnplannedFailoverInput": {
+ "description": "Input definition for planned failover.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UnplannedFailoverInputProperties",
+ "description": "Planned failover input properties"
+ }
+ }
+ },
+ "UnplannedFailoverInputProperties": {
+ "description": "Input definition for planned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "sourceSiteOperations": {
+ "description": "Source site operations status",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProviderSpecificFailoverInput",
+ "description": "Provider specific settings"
+ }
+ }
+ },
+ "UpdateMobilityServiceRequest": {
+ "description": "Request to update the mobility service on a protected item.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateMobilityServiceRequestProperties",
+ "description": "The properties of the update mobility service request."
+ }
+ }
+ },
+ "UpdateMobilityServiceRequestProperties": {
+ "description": "The properties of an update mobility service request.",
+ "type": "object",
+ "properties": {
+ "runAsAccountId": {
+ "description": "The CS run as account Id.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateNetworkMappingInput": {
+ "description": "Update network mapping input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateNetworkMappingInputProperties",
+ "description": "The input properties needed to update network mapping."
+ }
+ }
+ },
+ "UpdateNetworkMappingInputProperties": {
+ "description": "Common input details for network mapping operation.",
+ "type": "object",
+ "properties": {
+ "recoveryFabricName": {
+ "description": "Recovery fabric name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "Recovery network Id.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput",
+ "description": "Fabrics specific input network Id."
+ }
+ }
+ },
+ "UpdatePolicyInput": {
+ "description": "Update policy input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdatePolicyInputProperties",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "UpdatePolicyInputProperties": {
+ "description": "Policy update properties.",
+ "type": "object",
+ "properties": {
+ "replicationProviderSettings": {
+ "$ref": "#/definitions/PolicyProviderSpecificInput",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInput": {
+ "description": "Update recovery plan input class.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateRecoveryPlanInputProperties",
+ "description": "Recovery plan update properties."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInputProperties": {
+ "description": "Recovery plan updation properties.",
+ "type": "object",
+ "properties": {
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemInput": {
+ "description": "Update replication protected item input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties",
+ "description": "Update replication protected item properties."
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemInputProperties": {
+ "description": "Update protected item input properties.",
+ "type": "object",
+ "properties": {
+ "recoveryAzureVMName": {
+ "description": "Target azure VM name given by the user.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "Target Azure Vm size.",
+ "type": "string"
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "Target Azure Network Id.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of vm nic details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicInputDetails"
+ }
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": false
+ }
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The target availability set id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput",
+ "description": "The provider specific input to update replication protected item."
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemProviderInput": {
+ "description": "Update replication protected item provider specific input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateVCenterRequest": {
+ "description": "Input required to update vCenter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateVCenterRequestProperties",
+ "description": "The update VCenter Request Properties."
+ }
+ }
+ },
+ "UpdateVCenterRequestProperties": {
+ "description": "The properties of an update vCenter request.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the vCenter.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter to be discovered.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id from where the update can be orchestrated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id which has priviliges to update the vCenter.",
+ "type": "string"
+ }
+ }
+ },
+ "VaultHealthDetails": {
+ "description": "Vault health details definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultHealthProperties",
+ "description": "The vault health related data."
+ }
+ }
+ },
+ "VaultHealthProperties": {
+ "description": "class to define the health summary of the Vault.",
+ "type": "object",
+ "properties": {
+ "vaultErrors": {
+ "description": "The list of errors on the vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "protectedItemsHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the protected items in the vault."
+ },
+ "fabricsHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the fabrics in the vault."
+ }
+ }
+ },
+ "VCenter": {
+ "description": "vCenter definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VCenterProperties",
+ "description": "VCenter related data."
+ }
+ }
+ },
+ "VCenterCollection": {
+ "description": "Collection of vCenter details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The vCenter details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "VCenterProperties": {
+ "description": "vCenter properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the vCenter.",
+ "type": "string"
+ },
+ "internalId": {
+ "description": "VCenter internal ID.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The time when the last heartbeat was reveived by vCenter.",
+ "type": "string"
+ },
+ "discoveryStatus": {
+ "description": "The VCenter discovery status.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter.",
+ "type": "string"
+ },
+ "infrastructureId": {
+ "description": "The infrastructure Id of vCenter.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The account Id which has privileges to discover the vCenter.",
+ "type": "string"
+ },
+ "fabricArmResourceName": {
+ "description": "The ARM resource name of the fabric containing this VCenter.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "The health errors for this VCenter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ }
+ },
+ "VersionDetails": {
+ "description": "Version related deatils.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "expiryDate": {
+ "format": "date-time",
+ "description": "Version expiry date.",
+ "type": "string"
+ },
+ "status": {
+ "description": "A value indicating whether security update required.",
+ "enum": [
+ "Supported",
+ "NotSupported",
+ "Deprecated",
+ "UpdateRequired",
+ "SecurityUpdateRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentVersionStatus",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "VirtualMachineTaskDetails": {
+ "description": "This class represents the virtual machine task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "skippedReason": {
+ "description": "The skipped reason.",
+ "type": "string"
+ },
+ "skippedReasonString": {
+ "description": "The skipped reason string.",
+ "type": "string"
+ },
+ "jobTask": {
+ "$ref": "#/definitions/JobEntity",
+ "description": "The job entity."
+ }
+ },
+ "x-ms-discriminator-value": "VirtualMachineTaskDetails"
+ },
+ "VmmDetails": {
+ "description": "VMM fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VMM"
+ },
+ "VmmToAzureCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToAzureNetworkMappingSettings": {
+ "description": "E2A Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToAzureUpdateNetworkMappingInput": {
+ "description": "Update network mappings input properties/behaviour specific to vmm to azure.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToVmmCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmToVmmNetworkMappingSettings": {
+ "description": "E2E Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmToVmmUpdateNetworkMappingInput": {
+ "description": "Update network mappings input properties/behaviour specific to vmm to vmm.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmVirtualMachineDetails": {
+ "description": "VMM fabric provider specific VM settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {
+ "sourceItemId": {
+ "description": "The source id of the object.",
+ "type": "string"
+ },
+ "generation": {
+ "description": "The id of the object in fabric.",
+ "type": "string"
+ },
+ "osDetails": {
+ "$ref": "#/definitions/OSDetails",
+ "description": "The Last replication time."
+ },
+ "diskDetails": {
+ "description": "The Last successful failover time.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ },
+ "hasPhysicalDisk": {
+ "description": "A value indicating whether the VM has a physical disk attached.",
+ "type": "boolean"
+ },
+ "hasFibreChannelAdapter": {
+ "description": "A value indicating whether the VM has a fibre channel adapter attached.",
+ "type": "boolean"
+ },
+ "hasSharedVhd": {
+ "description": "A value indicating whether the VM has a shared VHD attached.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "VmmVirtualMachine"
+ },
+ "VMNicDetails": {
+ "description": "Hyper V VM network details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The nic Id.",
+ "type": "string"
+ },
+ "replicaNicId": {
+ "description": "The replica nic Id.",
+ "type": "string"
+ },
+ "sourceNicArmId": {
+ "description": "The source nic ARM Id.",
+ "type": "string"
+ },
+ "vMSubnetName": {
+ "description": "VM subnet name.",
+ "type": "string"
+ },
+ "vMNetworkName": {
+ "description": "VM network name.",
+ "type": "string"
+ },
+ "recoveryVMNetworkId": {
+ "description": "Recovery VM network Id.",
+ "type": "string"
+ },
+ "recoveryVMSubnetName": {
+ "description": "Recovery VM subnet name.",
+ "type": "string"
+ },
+ "ipAddressType": {
+ "description": "Ip address type.",
+ "type": "string"
+ },
+ "primaryNicStaticIPAddress": {
+ "description": "Primary nic static IP address.",
+ "type": "string"
+ },
+ "replicaNicStaticIPAddress": {
+ "description": "Replica nic static IP address.",
+ "type": "string"
+ },
+ "selectionType": {
+ "description": "Selection type for failover.",
+ "type": "string"
+ },
+ "recoveryNicIpAddressType": {
+ "description": "IP allocation type for recovery VM.",
+ "type": "string"
+ }
+ }
+ },
+ "VMNicInputDetails": {
+ "description": "Hyper V VM network input details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The nic Id.",
+ "type": "string"
+ },
+ "recoveryVMSubnetName": {
+ "description": "Recovery VM subnet name.",
+ "type": "string"
+ },
+ "replicaNicStaticIPAddress": {
+ "description": "Replica nic static IP address.",
+ "type": "string"
+ },
+ "selectionType": {
+ "description": "Selection type for failover.",
+ "type": "string"
+ }
+ }
+ },
+ "VmNicUpdatesTaskDetails": {
+ "description": "This class represents the vm NicUpdates task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "vmId": {
+ "description": "Virtual machine Id.",
+ "type": "string"
+ },
+ "nicId": {
+ "description": "Nic Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the Nic.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VmNicUpdatesTaskDetails"
+ },
+ "VMwareCbtPolicyCreationInput": {
+ "description": "VMware Cbt Policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VmwareCbtPolicyDetails": {
+ "description": "VMware Cbt specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareDetails": {
+ "description": "Store the fabric details specific to the VMware fabric.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "processServers": {
+ "description": "The list of Process Servers associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcessServer"
+ }
+ },
+ "masterTargetServers": {
+ "description": "The list of Master Target servers associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MasterTargetServer"
+ }
+ },
+ "runAsAccounts": {
+ "description": "The list of run as accounts created on the server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunAsAccount"
+ }
+ },
+ "replicationPairCount": {
+ "description": "The number of replication pairs configured in this CS.",
+ "type": "string"
+ },
+ "processServerCount": {
+ "description": "The number of process servers.",
+ "type": "string"
+ },
+ "agentCount": {
+ "description": "The number of source and target servers configured to talk to this CS.",
+ "type": "string"
+ },
+ "protectedServers": {
+ "description": "The number of protected servers.",
+ "type": "string"
+ },
+ "systemLoad": {
+ "description": "The percentage of the system load.",
+ "type": "string"
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "type": "string"
+ },
+ "cpuLoad": {
+ "description": "The percentage of the CPU load.",
+ "type": "string"
+ },
+ "cpuLoadStatus": {
+ "description": "The CPU load status.",
+ "type": "string"
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer"
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer"
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "type": "string"
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total space.",
+ "type": "integer"
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available space.",
+ "type": "integer"
+ },
+ "spaceUsageStatus": {
+ "description": "The space usage status.",
+ "type": "string"
+ },
+ "webLoad": {
+ "description": "The web load.",
+ "type": "string"
+ },
+ "webLoadStatus": {
+ "description": "The web load status.",
+ "type": "string"
+ },
+ "databaseServerLoad": {
+ "description": "The database server load.",
+ "type": "string"
+ },
+ "databaseServerLoadStatus": {
+ "description": "The database server load status.",
+ "type": "string"
+ },
+ "csServiceStatus": {
+ "description": "The CS service status.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent Version.",
+ "type": "string"
+ },
+ "hostName": {
+ "description": "The host name.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from CS server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status",
+ "type": "string"
+ },
+ "sslCertExpiryDate": {
+ "format": "date-time",
+ "description": "CS SSL cert expiry date.",
+ "type": "string"
+ },
+ "sslCertExpiryRemainingDays": {
+ "format": "int32",
+ "description": "CS SSL cert expiry date.",
+ "type": "integer"
+ },
+ "psTemplateVersion": {
+ "description": "PS template version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The agent version details."
+ }
+ },
+ "x-ms-discriminator-value": "VMware"
+ },
+ "VMwareV2FabricCreationInput": {
+ "description": "Fabric provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "keyVaultUrl": {
+ "description": "The Key Vault URL.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The Key Vault ARM Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareV2"
+ },
+ "VMwareV2FabricSpecificDetails": {
+ "description": "VMwareV2 fabric Specific Details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "srsServiceEndpoint": {
+ "description": "The endpoint for making requests to the SRS Service.",
+ "type": "string"
+ },
+ "rcmServiceEndpoint": {
+ "description": "The endpoint for making requests to the RCM Service.",
+ "type": "string"
+ },
+ "keyVaultUrl": {
+ "description": "The Key Vault URL.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The Key Vault ARM Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareV2"
+ },
+ "VMwareVirtualMachineDetails": {
+ "description": "VMware provider specific settings",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {
+ "agentGeneratedId": {
+ "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.",
+ "type": "string"
+ },
+ "agentInstalled": {
+ "description": "The value indicating if InMage scout agent is installed on guest.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OsType installed on VM.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address.",
+ "type": "string"
+ },
+ "poweredOn": {
+ "description": "The value indicating whether VM is powered on.",
+ "type": "string"
+ },
+ "vCenterInfrastructureId": {
+ "description": "The VCenter infrastructure Id.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "A value inidicating the discovery type of the machine. Value can be vCenter or physical.",
+ "type": "string"
+ },
+ "diskDetails": {
+ "description": "The disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageDiskDetails"
+ }
+ },
+ "validationErrors": {
+ "description": "The validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareVirtualMachine"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "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/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md
index 0eb6f49452c0..5630798dc06b 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/readme.md
+++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md
@@ -26,9 +26,17 @@ These are the global settings for the RecoveryServicesSiteRecovery API.
``` yaml
openapi-type: arm
-tag: package-2016-08
+tag: package-2018-01
```
+### Tag: package-2016-08
+
+These settings apply only when `--tag=package-2018-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-01'
+input-file:
+- Microsoft.RecoveryServices/stable/2018-01-10/service.json
+```
### Tag: package-2016-08
@@ -42,6 +50,20 @@ input-file:
---
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -55,4 +77,57 @@ csharp:
namespace: Microsoft.Azure.Management.RecoveryServices.SiteRecovery
output-folder: $(csharp-sdks-folder)/RecoveryServices.SiteRecovery/Management.RecoveryServices.SiteRecovery/Generated
clear-output-folder: true
-```
\ No newline at end of file
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: siterecovery
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-01
+ - tag: package-2016-08
+```
+
+### Tag: package-2018-01 and go
+
+These settings apply only when `--tag=package-2018-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2018-01' && $(go)
+output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2018-01-10/siterecovery
+```
+
+### Tag: package-2016-08 and go
+
+These settings apply only when `--tag=package-2016-08 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2016-08' && $(go)
+output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2016-08-10/siterecovery
+```
+
+
+## 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.recoveryservicessiterecovery
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-recoveryservicessiterecovery
+```
diff --git a/specification/redis/resource-manager/readme.md b/specification/redis/resource-manager/readme.md
index 5724363ca2e0..a6968fd69909 100644
--- a/specification/redis/resource-manager/readme.md
+++ b/specification/redis/resource-manager/readme.md
@@ -72,6 +72,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -101,6 +114,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.redis
package-name: azure-mgmt-redis
+ package-version: 5.0.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
@@ -126,13 +140,23 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-10
+ - tag: package-2017-02
+ - tag: package-2016-04
+ - tag: package-2015-08
+```
+
### Tag: package-2017-10 and go
These settings apply only when `--tag=package-2017-10 --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2017-10' && $(go)
-output-folder: $(go-sdk-folder)/services/redis/mgmt/2017-10-01/cache
+output-folder: $(go-sdk-folder)/services/redis/mgmt/2017-10-01/redis
```
@@ -163,6 +187,22 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.redis
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-redis
+```
+
# Validation
## Suppression
diff --git a/specification/relay/resource-manager/readme.md b/specification/relay/resource-manager/readme.md
index 4fccca2393e4..15c9fdb529f5 100644
--- a/specification/relay/resource-manager/readme.md
+++ b/specification/relay/resource-manager/readme.md
@@ -54,6 +54,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -107,6 +120,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-04
+ - tag: package-2016-07
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
@@ -123,4 +144,20 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.relay
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-relay
```
\ No newline at end of file
diff --git a/specification/reservations/resource-manager/readme.md b/specification/reservations/resource-manager/readme.md
index ff5f59dcad35..2bc47e5fe759 100644
--- a/specification/reservations/resource-manager/readme.md
+++ b/specification/reservations/resource-manager/readme.md
@@ -36,14 +36,25 @@ These settings apply only when `--tag=package-2017-11` is specified on the comma
``` yaml $(tag) == 'package-2017-11'
input-file:
-- Microsoft.Capacity/stable/2017-11-01/reservation.json
+- Microsoft.Capacity/stable/2017-11-01/reservations.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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -57,3 +68,74 @@ csharp:
output-folder: $(csharp-sdks-folder)/Reservations/Management.Reservations/Generated
clear-output-folder: true
```
+
+## 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.reservations
+ package-name: azure-mgmt-reservations
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-reservations/azure/mgmt/reservations
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-reservations
+```
+
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: reservations
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-11
+```
+
+### Tag: package-2017-11 and go
+
+These settings apply only when `--tag=package-2017-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2017-11' && $(go)
+output-folder: $(go-sdk-folder)/services/reservations/mgmt/2017-11-01/reservations
+```
+
+
+## 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.reservations
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-reservations
+```
diff --git a/specification/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md
index 654e8f1f18d8..f61312151b98 100644
--- a/specification/resourcehealth/resource-manager/readme.md
+++ b/specification/resourcehealth/resource-manager/readme.md
@@ -54,6 +54,17 @@ input-file:
# 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-go
+```
+
+
## Go
These settings apply only when `--go` is specified on the command line.
@@ -65,6 +76,14 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-07
+ - tag: package-2015-01
+```
+
### Tag: package-2017-07 and go
These settings apply only when `--tag=package-2017-07 --go` is specified on the command line.
@@ -82,3 +101,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.resourcehealth
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-resourcehealth
+```
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json
index 0f50eb88ab07..e9b09bbf1734 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/resources.json
@@ -2763,7 +2763,6 @@
"description": "Gets or sets operation status code."
},
"statusMessage": {
- "type": "object",
"description": "Gets or sets operation status message."
},
"targetResource": {
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json
index 98276006dd35..4d907244cfe9 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-02-01/resources.json
@@ -2402,7 +2402,6 @@
"description": "Operation status code."
},
"statusMessage": {
- "type": "object",
"description": "Operation status message."
},
"targetResource": {
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json
index e04e4030ede3..7e4869faa6cb 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-07-01/resources.json
@@ -2411,7 +2411,6 @@
"description": "Operation status code."
},
"statusMessage": {
- "type": "object",
"description": "Operation status message."
},
"targetResource": {
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json
index 8a24b062eb61..b992eed72b4e 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/resources.json
@@ -2664,7 +2664,6 @@
},
"statusMessage": {
"readOnly": true,
- "type": "object",
"description": "Operation status message."
},
"targetResource": {
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json
index 1a4508d47fed..8c1b015d75d7 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2017-05-10/resources.json
@@ -2421,6 +2421,10 @@
"promotionCode": {
"type": "string",
"description": "The promotion code."
+ },
+ "version": {
+ "type": "string",
+ "description": "The plan's version."
}
},
"description": "Plan for the resource."
@@ -2514,7 +2518,7 @@
},
"location": {
"type": "string",
- "description": "The location of the resource group. It cannot be changed after the resource group has been created. It muct be one of the supported Azure locations."
+ "description": "The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations."
},
"managedBy": {
"type": "string",
@@ -2739,7 +2743,6 @@
},
"statusMessage": {
"readOnly": true,
- "type": "object",
"description": "Operation status message."
},
"targetResource": {
diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md
index 31ff248aa1b0..8d342000696b 100644
--- a/specification/resources/resource-manager/readme.md
+++ b/specification/resources/resource-manager/readme.md
@@ -56,10 +56,6 @@ tag: package-links-2016-09
tag: package-managedapplications-2016-09
```
-``` yaml $(package-management)
-tag: package-management-2017-08
-```
-
### Tag: package-features-2015-12
These settings apply only when `--tag=package-features-2015-12` is specified on the command line.
@@ -207,18 +203,30 @@ input-file:
- Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json
```
-### Tag: package-management-2017-08
-These settings apply only when `--tag=package-management-2017-08` is specified on the command line.
-
-``` yaml $(tag) == 'package-management-2017-08'
-input-file:
-- Microsoft.Management/preview/2017-08-31-preview/management.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
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#features
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#locks
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#policy
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#resources
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#subscriptions
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#links
+ - repo: azure-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -238,7 +246,6 @@ batch:
- package-resources: true
- package-subscriptions: true
- package-links: true
- - package-management: true
# - package-managedapplications: true
```
@@ -253,6 +260,28 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-features-2015-12
+ - tag: package-locks-2016-09
+ - tag: package-locks-2015-01
+ - tag: package-policy-2017-06
+ - tag: package-policy-2016-12
+ - tag: package-policy-2016-04
+ - tag: package-policy-2015-10
+ - tag: package-resources-2017-05
+ - tag: package-resources-2016-09
+ - tag: package-resources-2016-07
+ - tag: package-resources-2016-02
+ - tag: package-resources-2015-11
+ - tag: package-subscriptions-2016-06
+ - tag: package-subscriptions-2015-11
+ - tag: package-links-2016-09
+ - tag: package-managedapplications-2016-09
+```
+
### Tag: package-features-2015-12 and go
These settings apply only when `--tag=package-features-2015-12 --go` is specified on the command line.
@@ -413,16 +442,6 @@ namespace: managedapplications
output-folder: $(go-sdk-folder)/services/resources/mgmt/2016-09-01-preview/managedapplications
```
-### Tag: package-management-2017-08 and go
-
-These settings apply only when `--tag=package-management-2017-08 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-management-2017-08' && $(go)
-namespace: management
-output-folder: $(go-sdk-folder)/services/resources/mgmt/2017-08-31-preview/management
-```
-
## Python
These settings apply only when `--python` is specified on the command line.
@@ -435,6 +454,8 @@ python:
payload-flattening-threshold: 2
clear-output-folder: true
no-namespace-folders: true
+ verbose: true
+ debug: true
```
### Python multi-api
@@ -448,7 +469,6 @@ batch:
- tag: package-locks-2016-09
- tag: package-locks-2015-01
- tag: package-managedapplications-2017-09
- - tag: package-compute-2015-06
- tag: package-policy-2017-06
- tag: package-policy-2016-12
- tag: package-policy-2016-04
@@ -499,8 +519,8 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.resources
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-resources
+```
# Validation
@@ -617,5 +649,4 @@ batch:
- package-subscriptions: true
- package-links: true
- package-managedapplications: true
- - package-management: true
-```
+```
\ No newline at end of file
diff --git a/specification/scheduler/resource-manager/readme.md b/specification/scheduler/resource-manager/readme.md
index 8bab47e64388..417f8ff0e478 100644
--- a/specification/scheduler/resource-manager/readme.md
+++ b/specification/scheduler/resource-manager/readme.md
@@ -62,6 +62,19 @@ input-file:
# 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-libraries-for-java
+ - repo: azure-sdk-for-go
+```
+
+
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -116,6 +129,15 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2016-03
+ - tag: package-2016-01
+ - tag: package-2014-08-preview
+```
+
### Tag: package-2016-03 and go
These settings apply only when `--tag=package-2016-03 --go` is specified on the command line.
@@ -142,3 +164,19 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.scheduler
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-scheduler
+```
diff --git a/specification/search/data-plane/Microsoft.Search/preview/2015-02-28-preview/searchindex.json b/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2015-02-28-preview/searchindex.json
similarity index 100%
rename from specification/search/data-plane/Microsoft.Search/preview/2015-02-28-preview/searchindex.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2015-02-28-preview/searchindex.json
diff --git a/specification/search/data-plane/Microsoft.Search/preview/2015-02-28/searchindex.json b/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2015-02-28/searchindex.json
similarity index 100%
rename from specification/search/data-plane/Microsoft.Search/preview/2015-02-28/searchindex.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2015-02-28/searchindex.json
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01-preview/examples/SearchIndexCountDocuments.json b/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01-preview/examples/SearchIndexCountDocuments.json
new file mode 100644
index 000000000000..009da13e2fab
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01-preview/examples/SearchIndexCountDocuments.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": 427
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01-preview/searchindex.json b/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01-preview/searchindex.json
new file mode 100644
index 000000000000..32cfa4ac61f2
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01-preview/searchindex.json
@@ -0,0 +1,337 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SearchIndexClient",
+ "description": "Client that can be used to query an Azure Search index and upload, merge, or delete documents.",
+ "version": "2016-09-01-Preview",
+ "x-ms-code-generation-settings": {
+ "useDateTimeOffset": true,
+ "syncMethods": "None"
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "https://{searchServiceName}.{searchDnsSuffix}/indexes('{indexName}')",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchDnsSuffixParameter"
+ },
+ {
+ "$ref": "#/parameters/IndexNameParameter"
+ }
+ ]
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/docs/$count": {
+ "get": {
+ "tags": [
+ "DocumentsProxy"
+ ],
+ "operationId": "DocumentsProxy_Count",
+ "x-ms-examples": {
+ "SearchIndexCountDocuments": { "$ref": "./examples/SearchIndexCountDocuments.json" }
+ },
+ "description": "Queries the number of documents in the Azure Search index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Count-Documents"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "IndexingResult": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The key of a document that was in the indexing request."
+ },
+ "errorMessage": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error message explaining why the indexing operation failed for the document identified by the key; null if indexing succeeded."
+ },
+ "status": {
+ "x-ms-client-name": "Succeeded",
+ "type": "boolean",
+ "x-nullable": false,
+ "readOnly": true,
+ "description": "A value indicating whether the indexing operation succeeded for the document identified by the key."
+ },
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false,
+ "readOnly": true,
+ "description": "The status code of the indexing operation. Possible values include: 200 for a successful update or delete, 201 for successful document creation, 400 for a malformed input document, 404 for document not found, 409 for a version conflict, 422 when the index is temporarily unavailable, or 503 for when the service is too busy."
+ }
+ },
+ "description": "Status of an indexing operation for a single document."
+ },
+ "DocumentIndexResult": {
+ "properties": {
+ "value": {
+ "x-ms-client-name": "Results",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/IndexingResult"
+ },
+ "description": "The list of status information for each document in the indexing request."
+ }
+ },
+ "description": "Response containing the status of operations for all documents in the indexing request."
+ },
+ "IndexActionType": {
+ "type": "string",
+ "enum": [
+ "upload",
+ "merge",
+ "mergeOrUpload",
+ "delete"
+ ],
+ "x-ms-enum": { "name": "IndexActionType" },
+ "description": "Specifies the operation to perform on a document in an indexing batch."
+ },
+ "SearchMode": {
+ "type": "string",
+ "enum": [
+ "any",
+ "all"
+ ],
+ "x-ms-enum": { "name": "SearchMode" },
+ "description": "Specifies whether any or all of the search terms must be matched in order to count the document as a match."
+ },
+ "QueryType": {
+ "type": "string",
+ "enum": [
+ "simple",
+ "full"
+ ],
+ "x-ms-enum": { "name": "QueryType" },
+ "description": "Specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax."
+ },
+ "SearchParametersPayload": {
+ "properties": {
+ "count": {
+ "type": "boolean",
+ "description": "A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation."
+ },
+ "facets": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents"
+ },
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs."
+ },
+ "filter": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search"
+ },
+ "type": "string",
+ "description": "The OData $filter expression to apply to the search query."
+ },
+ "highlight": {
+ "type": "string",
+ "description": "The comma-separated list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting."
+ },
+ "highlightPostTag": {
+ "type": "string",
+ "description": "A string tag that is appended to hit highlights. Must be set with HighlightPreTag. Default is </em>."
+ },
+ "highlightPreTag": {
+ "type": "string",
+ "description": "A string tag that is prepended to hit highlights. Must be set with HighlightPostTag. Default is <em>."
+ },
+ "minimumCoverage": {
+ "type": "number",
+ "format": "double",
+ "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100."
+ },
+ "orderby": {
+ "x-ms-client-name": "OrderBy",
+ "type": "string",
+ "description": "The comma-separated list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to the geo.distance() function. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no OrderBy is specified, the default sort order is descending by document match score. There can be at most 32 Orderby clauses."
+ },
+ "queryType": {
+ "$ref": "#/definitions/QueryType",
+ "description": "Gets or sets a value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax."
+ },
+ "scoringParameters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name:value. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be \"mylocation:-122.2,44.8\"(without the quotes)."
+ },
+ "scoringProfile": {
+ "type": "string",
+ "description": "The name of a scoring profile to evaluate match scores for matching documents in order to sort the results."
+ },
+ "search": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Simple-query-syntax-in-Azure-Search"
+ },
+ "type": "string",
+ "description": "A full-text search query expression; Use null or \"*\" to match all documents."
+ },
+ "searchFields": {
+ "type": "string",
+ "description": "The comma-separated list of field names to include in the full-text search."
+ },
+ "searchMode": {
+ "$ref": "#/definitions/SearchMode",
+ "description": "A value that specifies whether any or all of the search terms must be matched in order to count the document as a match."
+ },
+ "select": {
+ "type": "string",
+ "description": "The comma-separated list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included."
+ },
+ "skip": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use Skip due to this limitation, consider using OrderBy on a totally-ordered key and Filter with a range query instead."
+ },
+ "top": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents"
+ },
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of search results to retrieve. This can be used in conjunction with Skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be passed to ContinueSearch to retrieve the next page of results. See DocumentSearchResponse.ContinuationToken for more information."
+ }
+ },
+ "description": "Parameters for filtering, sorting, faceting, paging, and other search query behaviors."
+ },
+ "SuggestParametersPayload": {
+ "properties": {
+ "filter": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search"
+ },
+ "type": "string",
+ "description": "The OData $filter expression to apply to the suggestions query."
+ },
+ "fuzzy": {
+ "type": "boolean",
+ "description": "A value indicating whether to use fuzzy matching for the suggestion query. Default is false. when set to true, the query will find suggestions even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios it comes at a performance cost as fuzzy suggestion searches are slower and consume more resources."
+ },
+ "highlightPostTag": {
+ "type": "string",
+ "description": "A string tag that is appended to hit highlights. Must be set with HighlightPreTag. If omitted, hit highlighting of suggestions is disabled."
+ },
+ "highlightPreTag": {
+ "type": "string",
+ "description": "A string tag that is prepended to hit highlights. Must be set with HighlightPostTag. If omitted, hit highlighting of suggestions is disabled."
+ },
+ "minimumCoverage": {
+ "type": "number",
+ "format": "double",
+ "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestion query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80."
+ },
+ "orderby": {
+ "x-ms-client-name": "OrderBy",
+ "type": "string",
+ "description": "The comma-separated list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to the geo.distance() function. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no OrderBy is specified, the default sort order is descending by document match score. There can be at most 32 Orderby clauses."
+ },
+ "search": {
+ "type": "string",
+ "description": "The search text on which to base suggestions."
+ },
+ "searchFields": {
+ "type": "string",
+ "description": "The comma-separated list of field names to consider when querying for suggestions."
+ },
+ "select": {
+ "type": "string",
+ "description": "The comma-separated list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included."
+ },
+ "suggesterName": {
+ "type": "string",
+ "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition."
+ },
+ "top": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of suggestions to retrieve. This must be a value between 1 and 100. The default is to 5."
+ }
+ },
+ "description": "Parameters for filtering, sorting, fuzzy matching, and other suggestions query behaviors."
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ClientRequestIdParameter": {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "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-location": "method"
+ },
+ "SearchServiceNameParameter": {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "description": "The name of the Azure Search service."
+ },
+ "SearchDnsSuffixParameter": {
+ "name": "searchDnsSuffix",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "default": "search.windows.net",
+ "x-ms-skip-url-encoding": true,
+ "description": "The DNS suffix of the Azure Search service. The default is search.windows.net."
+ },
+ "IndexNameParameter": {
+ "name": "indexName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": false,
+ "description": "The name of the Azure Search index."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Search/preview/2016-09-01/searchindex.json b/specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01/searchindex.json
similarity index 100%
rename from specification/search/data-plane/Microsoft.Search/preview/2016-09-01/searchindex.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Index/preview/2016-09-01/searchindex.json
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Index/readme.md b/specification/search/data-plane/Microsoft.Azure.Search.Index/readme.md
new file mode 100644
index 000000000000..5bbb2d36beda
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Index/readme.md
@@ -0,0 +1,86 @@
+# SearchIndexClient
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for SearchIndexClient.
+
+
+---
+## Getting Started
+
+To build the SDK for SearchIndexClient, 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 SearchIndexClient.
+
+``` yaml
+openapi-type: data-plane
+tag: package-2016-09-preview
+```
+
+### Tag: package-2016-09-preview
+
+These settings apply only when `--tag=package-2016-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-09-preview'
+input-file:
+- preview/2016-09-01-preview/searchindex.json
+```
+
+### Tag: package-2016-09
+
+These settings apply only when `--tag=package-2016-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-09'
+input-file:
+- preview/2016-09-01/searchindex.json
+```
+
+### Tag: package-2015-02-preview
+
+These settings apply only when `--tag=package-2015-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-02-preview'
+input-file:
+- preview/2015-02-28-preview/searchindex.json
+```
+
+### Tag: package-2015-02
+
+These settings apply only when `--tag=package-2015-02` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-02'
+input-file:
+- preview/2015-02-28/searchindex.json
+```
+
+---
+# Code Generation
+
+!!! READ THIS !!!
+This swagger is not yet ready for languages other than C#.
+!!! READ THIS !!!
+
+
+## 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.Search
+ clear-output-folder: true
+ output-folder: $(csharp-sdks-folder)/Search/DataPlane/Microsoft.Azure.Search/GeneratedSearchIndex
+```
diff --git a/specification/search/data-plane/Microsoft.Search/preview/2015-02-28-preview/searchservice.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2015-02-28-preview/searchservice.json
similarity index 100%
rename from specification/search/data-plane/Microsoft.Search/preview/2015-02-28-preview/searchservice.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2015-02-28-preview/searchservice.json
diff --git a/specification/search/data-plane/Microsoft.Search/preview/2015-02-28/searchservice.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2015-02-28/searchservice.json
similarity index 100%
rename from specification/search/data-plane/Microsoft.Search/preview/2015-02-28/searchservice.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2015-02-28/searchservice.json
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateDataSource.json
new file mode 100644
index 000000000000..1f6c32eb119d
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateDataSource.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview",
+ "dataSource": {
+ "name": "mydocdbdatasource",
+ "description": "My Cosmos DB data source.",
+ "type": "documentdb",
+ "credentials": {
+ "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId"
+ },
+ "container": {
+ "name": "myDocDbCollectionId",
+ "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
+ },
+ "dataChangeDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "highWaterMarkColumnName": "_ts"
+ },
+ "dataDeletionDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "softDeleteColumnName": "isDeleted",
+ "softDeleteMarkerValue": "true"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "mydocdbdatasource",
+ "description": "My Cosmos DB data source.",
+ "type": "documentdb",
+ "credentials": {
+ "connectionString": null
+ },
+ "container": {
+ "name": "myDocDbCollectionId",
+ "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
+ },
+ "dataChangeDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "highWaterMarkColumnName": "_ts"
+ },
+ "dataDeletionDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "softDeleteColumnName": "isDeleted",
+ "softDeleteMarkerValue": "true"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateIndex.json
new file mode 100644
index 000000000000..3765524d5676
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateIndex.json
@@ -0,0 +1,344 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview",
+ "index": {
+ "name": "hotels",
+ "fields": [
+ {
+ "name": "hotelId",
+ "type": "Edm.String",
+ "key": true,
+ "searchable": false
+ },
+ {
+ "name": "baseRate",
+ "type": "Edm.Double"
+ },
+ {
+ "name": "description",
+ "type": "Edm.String",
+ "filterable": false,
+ "sortable": false,
+ "facetable": false
+ },
+ {
+ "name": "description_fr",
+ "type": "Edm.String",
+ "filterable": false,
+ "sortable": false,
+ "facetable": false,
+ "analyzer": "fr.lucene"
+ },
+ {
+ "name": "hotelName",
+ "type": "Edm.String"
+ },
+ {
+ "name": "category",
+ "type": "Edm.String"
+ },
+ {
+ "name": "tags",
+ "type": "Collection(Edm.String)",
+ "analyzer": "tagsAnalyzer"
+ },
+ {
+ "name": "parkingIncluded",
+ "type": "Edm.Boolean"
+ },
+ {
+ "name": "smokingAllowed",
+ "type": "Edm.Boolean"
+ },
+ {
+ "name": "lastRenovationDate",
+ "type": "Edm.DateTimeOffset"
+ },
+ {
+ "name": "rating",
+ "type": "Edm.Int32"
+ },
+ {
+ "name": "location",
+ "type": "Edm.GeographyPoint"
+ }
+ ],
+ "scoringProfiles": [
+ {
+ "name": "geo",
+ "text": {
+ "weights": {
+ "hotelName": 5
+ }
+ },
+ "functions": [
+ {
+ "type": "distance",
+ "boost": 5,
+ "fieldName": "location",
+ "interpolation": "logarithmic",
+ "distance": {
+ "referencePointParameter": "currentLocation",
+ "boostingDistance": 10
+ }
+ }
+ ]
+ }
+ ],
+ "defaultScoringProfile": "geo",
+ "suggesters": [
+ {
+ "name": "sg",
+ "searchMode": "analyzingInfixMatching",
+ "sourceFields": [
+ "hotelName"
+ ]
+ }
+ ],
+ "analyzers": [
+ {
+ "name": "tagsAnalyzer",
+ "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "charFilters": [
+ "html_strip"
+ ],
+ "tokenizer": "standard_v2"
+ }
+ ],
+ "corsOptions": {
+ "allowedOrigins": [
+ "tempuri.org"
+ ],
+ "maxAgeInSeconds": 60
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "hotels",
+ "fields": [
+ {
+ "name": "hotelId",
+ "type": "Edm.String",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": true,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "baseRate",
+ "type": "Edm.Double",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description_fr",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "fr.lucene",
+ "synonymMaps": []
+ },
+ {
+ "name": "hotelName",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "category",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "tags",
+ "type": "Collection(Edm.String)",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "tagsAnalyzer",
+ "synonymMaps": []
+ },
+ {
+ "name": "parkingIncluded",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "smokingAllowed",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "lastRenovationDate",
+ "type": "Edm.DateTimeOffset",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "rating",
+ "type": "Edm.Int32",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "location",
+ "type": "Edm.GeographyPoint",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ }
+ ],
+ "scoringProfiles": [
+ {
+ "name": "geo",
+ "text": {
+ "weights": {
+ "hotelName": 5
+ }
+ },
+ "functions": [
+ {
+ "type": "distance",
+ "boost": 5,
+ "fieldName": "location",
+ "interpolation": "logarithmic",
+ "distance": {
+ "referencePointParameter": "currentLocation",
+ "boostingDistance": 10
+ }
+ }
+ ]
+ }
+ ],
+ "defaultScoringProfile": "geo",
+ "suggesters": [
+ {
+ "name": "sg",
+ "searchMode": "analyzingInfixMatching",
+ "sourceFields": [
+ "hotelName"
+ ]
+ }
+ ],
+ "analyzers": [
+ {
+ "name": "tagsAnalyzer",
+ "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "charFilters": [
+ "html_strip"
+ ],
+ "tokenizer": "standard_v2"
+ }
+ ],
+ "tokenizers": [],
+ "tokenFilters": [],
+ "charFilters": [],
+ "corsOptions": {
+ "allowedOrigins": [
+ "tempuri.org"
+ ],
+ "maxAgeInSeconds": 60
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateIndexer.json
new file mode 100644
index 000000000000..f151c3e3e384
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateIndexer.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview",
+ "indexer": {
+ "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",
+ "schedule": {
+ "interval": "PT1H",
+ "startTime": "2015-01-01T00:00:00Z"
+ },
+ "parameters": {
+ "maxFailedItems": 10,
+ "maxFailedItemsPerBatch": 5
+ },
+ "fieldMappings": [],
+ "disabled": false
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateDataSource.json
new file mode 100644
index 000000000000..078853f89e82
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateDataSource.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "dataSourceName": "mydatasource",
+ "api-version": "2016-09-01-Preview",
+ "dataSource": {
+ "name": "mydocdbdatasource",
+ "description": "My Cosmos DB data source.",
+ "type": "documentdb",
+ "credentials": {
+ "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId"
+ },
+ "container": {
+ "name": "myDocDbCollectionId",
+ "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
+ },
+ "dataChangeDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "highWaterMarkColumnName": "_ts"
+ },
+ "dataDeletionDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "softDeleteColumnName": "isDeleted",
+ "softDeleteMarkerValue": "true"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "mydocdbdatasource",
+ "description": "My Cosmos DB data source.",
+ "type": "documentdb",
+ "credentials": {
+ "connectionString": null
+ },
+ "container": {
+ "name": "myDocDbCollectionId",
+ "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
+ },
+ "dataChangeDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "highWaterMarkColumnName": "_ts"
+ },
+ "dataDeletionDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "softDeleteColumnName": "isDeleted",
+ "softDeleteMarkerValue": "true"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "mydocdbdatasource",
+ "description": "My Cosmos DB data source.",
+ "type": "documentdb",
+ "credentials": {
+ "connectionString": null
+ },
+ "container": {
+ "name": "myDocDbCollectionId",
+ "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
+ },
+ "dataChangeDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "highWaterMarkColumnName": "_ts"
+ },
+ "dataDeletionDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "softDeleteColumnName": "isDeleted",
+ "softDeleteMarkerValue": "true"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateIndex.json
new file mode 100644
index 000000000000..290b4b462bcb
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateIndex.json
@@ -0,0 +1,572 @@
+{
+ "parameters": {
+ "indexName": "hotels",
+ "allowIndexDowntime": false,
+ "api-version": "2016-09-01-Preview",
+ "index": {
+ "name": "hotels",
+ "fields": [
+ {
+ "name": "hotelId",
+ "type": "Edm.String",
+ "key": true,
+ "searchable": false
+ },
+ {
+ "name": "baseRate",
+ "type": "Edm.Double"
+ },
+ {
+ "name": "description",
+ "type": "Edm.String",
+ "filterable": false,
+ "sortable": false,
+ "facetable": false
+ },
+ {
+ "name": "description_fr",
+ "type": "Edm.String",
+ "filterable": false,
+ "sortable": false,
+ "facetable": false,
+ "analyzer": "fr.lucene"
+ },
+ {
+ "name": "hotelName",
+ "type": "Edm.String"
+ },
+ {
+ "name": "category",
+ "type": "Edm.String"
+ },
+ {
+ "name": "tags",
+ "type": "Collection(Edm.String)",
+ "analyzer": "tagsAnalyzer"
+ },
+ {
+ "name": "parkingIncluded",
+ "type": "Edm.Boolean"
+ },
+ {
+ "name": "smokingAllowed",
+ "type": "Edm.Boolean"
+ },
+ {
+ "name": "lastRenovationDate",
+ "type": "Edm.DateTimeOffset"
+ },
+ {
+ "name": "rating",
+ "type": "Edm.Int32"
+ },
+ {
+ "name": "location",
+ "type": "Edm.GeographyPoint"
+ }
+ ],
+ "scoringProfiles": [
+ {
+ "name": "geo",
+ "text": {
+ "weights": {
+ "hotelName": 5
+ }
+ },
+ "functions": [
+ {
+ "type": "distance",
+ "boost": 5,
+ "fieldName": "location",
+ "interpolation": "logarithmic",
+ "distance": {
+ "referencePointParameter": "currentLocation",
+ "boostingDistance": 10
+ }
+ }
+ ]
+ }
+ ],
+ "defaultScoringProfile": "geo",
+ "suggesters": [
+ {
+ "name": "sg",
+ "searchMode": "analyzingInfixMatching",
+ "sourceFields": [
+ "hotelName"
+ ]
+ }
+ ],
+ "analyzers": [
+ {
+ "name": "tagsAnalyzer",
+ "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "charFilters": [
+ "html_strip"
+ ],
+ "tokenizer": "standard_v2"
+ }
+ ],
+ "corsOptions": {
+ "allowedOrigins": [
+ "tempuri.org"
+ ],
+ "maxAgeInSeconds": 60
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hotels",
+ "fields": [
+ {
+ "name": "hotelId",
+ "type": "Edm.String",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": true,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "baseRate",
+ "type": "Edm.Double",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description_fr",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "fr.lucene",
+ "synonymMaps": []
+ },
+ {
+ "name": "hotelName",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "category",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "tags",
+ "type": "Collection(Edm.String)",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "tagsAnalyzer",
+ "synonymMaps": []
+ },
+ {
+ "name": "parkingIncluded",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "smokingAllowed",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "lastRenovationDate",
+ "type": "Edm.DateTimeOffset",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "rating",
+ "type": "Edm.Int32",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "location",
+ "type": "Edm.GeographyPoint",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ }
+ ],
+ "scoringProfiles": [
+ {
+ "name": "geo",
+ "text": {
+ "weights": {
+ "hotelName": 5
+ }
+ },
+ "functions": [
+ {
+ "type": "distance",
+ "boost": 5,
+ "fieldName": "location",
+ "interpolation": "logarithmic",
+ "distance": {
+ "referencePointParameter": "currentLocation",
+ "boostingDistance": 10
+ }
+ }
+ ]
+ }
+ ],
+ "defaultScoringProfile": "geo",
+ "suggesters": [
+ {
+ "name": "sg",
+ "searchMode": "analyzingInfixMatching",
+ "sourceFields": [
+ "hotelName"
+ ]
+ }
+ ],
+ "analyzers": [
+ {
+ "name": "tagsAnalyzer",
+ "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "charFilters": [
+ "html_strip"
+ ],
+ "tokenizer": "standard_v2"
+ }
+ ],
+ "tokenizers": [],
+ "tokenFilters": [],
+ "charFilters": [],
+ "corsOptions": {
+ "allowedOrigins": [
+ "tempuri.org"
+ ],
+ "maxAgeInSeconds": 60
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hotels",
+ "fields": [
+ {
+ "name": "hotelId",
+ "type": "Edm.String",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": true,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "baseRate",
+ "type": "Edm.Double",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description_fr",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "fr.lucene",
+ "synonymMaps": []
+ },
+ {
+ "name": "hotelName",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "category",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "tags",
+ "type": "Collection(Edm.String)",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "tagsAnalyzer",
+ "synonymMaps": []
+ },
+ {
+ "name": "parkingIncluded",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "smokingAllowed",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "lastRenovationDate",
+ "type": "Edm.DateTimeOffset",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "rating",
+ "type": "Edm.Int32",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "location",
+ "type": "Edm.GeographyPoint",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ }
+ ],
+ "scoringProfiles": [
+ {
+ "name": "geo",
+ "text": {
+ "weights": {
+ "hotelName": 5
+ }
+ },
+ "functions": [
+ {
+ "type": "distance",
+ "boost": 5,
+ "fieldName": "location",
+ "interpolation": "logarithmic",
+ "distance": {
+ "referencePointParameter": "currentLocation",
+ "boostingDistance": 10
+ }
+ }
+ ]
+ }
+ ],
+ "defaultScoringProfile": "geo",
+ "suggesters": [
+ {
+ "name": "sg",
+ "searchMode": "analyzingInfixMatching",
+ "sourceFields": [
+ "hotelName"
+ ]
+ }
+ ],
+ "analyzers": [
+ {
+ "name": "tagsAnalyzer",
+ "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "charFilters": [
+ "html_strip"
+ ],
+ "tokenizer": "standard_v2"
+ }
+ ],
+ "tokenizers": [],
+ "tokenFilters": [],
+ "charFilters": [],
+ "corsOptions": {
+ "allowedOrigins": [
+ "tempuri.org"
+ ],
+ "maxAgeInSeconds": 60
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateIndexer.json
new file mode 100644
index 000000000000..6b8268375d74
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateIndexer.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "indexerName": "myindexer",
+ "api-version": "2016-09-01-Preview",
+ "indexer": {
+ "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",
+ "schedule": {
+ "interval": "PT1H",
+ "startTime": "2015-01-01T00:00:00Z"
+ },
+ "parameters": {
+ "maxFailedItems": 10,
+ "maxFailedItemsPerBatch": 5
+ },
+ "fieldMappings": [],
+ "disabled": false
+ }
+ },
+ "201": {
+ "body": {
+ "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
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json
new file mode 100644
index 000000000000..11c658a6694b
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "synonymMapName": "mysynonymmap",
+ "api-version": "2016-09-01-Preview",
+ "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"
+ }
+ },
+ "201": {
+ "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/2016-09-01-preview/examples/SearchServiceCreateSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateSynonymMap.json
new file mode 100644
index 000000000000..bf86b614c508
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceCreateSynonymMap.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview",
+ "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"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteDataSource.json
new file mode 100644
index 000000000000..74daaf6d1eb1
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteDataSource.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "dataSourceName": "mydatasource",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "204": { },
+ "404": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteIndex.json
new file mode 100644
index 000000000000..bcb83e863ceb
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteIndex.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "indexName": "myindex",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "204": { },
+ "404": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteIndexer.json
new file mode 100644
index 000000000000..775455c002f8
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteIndexer.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "indexerName": "myindexer",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "204": { },
+ "404": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteSynonymMap.json
new file mode 100644
index 000000000000..8aec6481e1ad
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceDeleteSynonymMap.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "synonymMapName": "mysynonymmap",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "204": { },
+ "404": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetDataSource.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetDataSource.json
new file mode 100644
index 000000000000..d08b27e92781
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetDataSource.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "dataSourceName": "mydatasource",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "mydocdbdatasource",
+ "description": "My Cosmos DB data source.",
+ "type": "documentdb",
+ "credentials": {
+ "connectionString": null
+ },
+ "container": {
+ "name": "myDocDbCollectionId",
+ "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
+ },
+ "dataChangeDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "highWaterMarkColumnName": "_ts"
+ },
+ "dataDeletionDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "softDeleteColumnName": "isDeleted",
+ "softDeleteMarkerValue": "true"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndex.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndex.json
new file mode 100644
index 000000000000..dd38a787121e
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndex.json
@@ -0,0 +1,234 @@
+{
+ "parameters": {
+ "indexName": "hotels",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hotels",
+ "fields": [
+ {
+ "name": "hotelId",
+ "type": "Edm.String",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": true,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "baseRate",
+ "type": "Edm.Double",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description_fr",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "fr.lucene",
+ "synonymMaps": []
+ },
+ {
+ "name": "hotelName",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "category",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "tags",
+ "type": "Collection(Edm.String)",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "tagsAnalyzer",
+ "synonymMaps": []
+ },
+ {
+ "name": "parkingIncluded",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "smokingAllowed",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "lastRenovationDate",
+ "type": "Edm.DateTimeOffset",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "rating",
+ "type": "Edm.Int32",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "location",
+ "type": "Edm.GeographyPoint",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ }
+ ],
+ "scoringProfiles": [
+ {
+ "name": "geo",
+ "text": {
+ "weights": {
+ "hotelName": 5
+ }
+ },
+ "functions": [
+ {
+ "type": "distance",
+ "boost": 5,
+ "fieldName": "location",
+ "interpolation": "logarithmic",
+ "distance": {
+ "referencePointParameter": "currentLocation",
+ "boostingDistance": 10
+ }
+ }
+ ]
+ }
+ ],
+ "defaultScoringProfile": "geo",
+ "suggesters": [
+ {
+ "name": "sg",
+ "searchMode": "analyzingInfixMatching",
+ "sourceFields": [
+ "hotelName"
+ ]
+ }
+ ],
+ "analyzers": [
+ {
+ "name": "tagsAnalyzer",
+ "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "charFilters": [
+ "html_strip"
+ ],
+ "tokenizer": "standard_v2"
+ }
+ ],
+ "tokenizers": [],
+ "tokenFilters": [],
+ "charFilters": [],
+ "corsOptions": {
+ "allowedOrigins": [
+ "tempuri.org"
+ ],
+ "maxAgeInSeconds": 60
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexStatistics.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexStatistics.json
new file mode 100644
index 000000000000..81eb211690c3
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexStatistics.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "indexName": "hotels",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "documentCount": 239572,
+ "storageSize": 72375920
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexer.json
new file mode 100644
index 000000000000..180d183c55d7
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexer.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "indexerName": "myindexer",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexerStatus.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexerStatus.json
new file mode 100644
index 000000000000..fb7d944edb3c
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetIndexerStatus.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "indexerName": "myindexer",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "lastResult": {
+ "status": "success",
+ "errorMessage": null,
+ "startTime": "2014-11-26T03:37:18.853Z",
+ "endTime": "2014-11-26T03:37:19.012Z",
+ "errors": [],
+ "warnings": [],
+ "itemsProcessed": 11,
+ "itemsFailed": 0,
+ "initialTrackingState": null,
+ "finalTrackingState": null
+ },
+ "executionHistory": [
+ {
+ "status": "success",
+ "errorMessage": null,
+ "startTime": "2014-11-26T03:37:18.853Z",
+ "endTime": "2014-11-26T03:37:19.012Z",
+ "errors": [],
+ "warnings": [],
+ "itemsProcessed": 11,
+ "itemsFailed": 0,
+ "initialTrackingState": null,
+ "finalTrackingState": null
+ },
+ {
+ "status": "transientFailure",
+ "errorMessage": null,
+ "startTime": "2014-11-26T03:28:10.125Z",
+ "endTime": "2014-11-26T03:28:12.007Z",
+ "errors": [
+ {
+ "key": "",
+ "status": false,
+ "errorMessage": "Document key cannot be missing or empty.",
+ "statusCode": 400
+ }
+ ],
+ "warnings": [
+ {
+ "key": "document id",
+ "message": "A warning doesn't stop indexing, and is intended to inform you of certain interesting situations, like when a blob indexer truncates the amount of text extracted from a blob."
+ }
+ ],
+ "itemsProcessed": 1,
+ "itemsFailed": 1,
+ "initialTrackingState": null,
+ "finalTrackingState": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetSynonymMap.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetSynonymMap.json
new file mode 100644
index 000000000000..a89edb3de6ac
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceGetSynonymMap.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "synonymMapName": "mysynonymmap",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "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/2016-09-01-preview/examples/SearchServiceIndexAnalyze.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceIndexAnalyze.json
new file mode 100644
index 000000000000..8fbf5ccaff05
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceIndexAnalyze.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "indexName": "hotels",
+ "api-version": "2016-09-01-Preview",
+ "request": {
+ "text": "Text to analyze",
+ "analyzer": "standard"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tokens": [
+ {
+ "token": "text",
+ "startOffset": 0,
+ "endOffset": 4,
+ "position": 0
+ },
+ {
+ "token": "to",
+ "startOffset": 5,
+ "endOffset": 7,
+ "position": 1
+ },
+ {
+ "token": "analyze",
+ "startOffset": 8,
+ "endOffset": 15,
+ "position": 2
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListDataSources.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListDataSources.json
new file mode 100644
index 000000000000..69972b209817
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListDataSources.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "mydocdbdatasource",
+ "description": "My Cosmos DB data source.",
+ "type": "documentdb",
+ "credentials": {
+ "connectionString": null
+ },
+ "container": {
+ "name": "myDocDbCollectionId",
+ "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
+ },
+ "dataChangeDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "highWaterMarkColumnName": "_ts"
+ },
+ "dataDeletionDetectionPolicy": {
+ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "softDeleteColumnName": "isDeleted",
+ "softDeleteMarkerValue": "true"
+ }
+ },
+ {
+ "name": "myblobdatasource",
+ "description": "My Azure Blob data source.",
+ "type": "azureblob",
+ "credentials": {
+ "connectionString": null
+ },
+ "container": {
+ "name": "mycontainer"
+ },
+ "dataChangeDetectionPolicy": null,
+ "dataDeletionDetectionPolicy": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListIndexers.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListIndexers.json
new file mode 100644
index 000000000000..bc31ac723e8b
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListIndexers.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "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
+ },
+ {
+ "name": "myotherindexer",
+ "description": "another cool indexer",
+ "dataSourceName": "myblobdatasource",
+ "targetIndexName": "orders",
+ "schedule": { },
+ "parameters": {
+ "maxFailedItems": 10,
+ "maxFailedItemsPerBatch": 5,
+ "batchSize": 15
+ },
+ "fieldMappings": [
+ {
+ "sourceFieldName": "PersonName",
+ "targetFieldName": "FirstName",
+ "mappingFunction": {
+ "name": "extractTokenAtPosition",
+ "parameters": {
+ "delimiter": " ",
+ "position": 0
+ }
+ }
+ },
+ {
+ "sourceFieldName": "PersonName",
+ "targetFieldName": "LastName",
+ "mappingFunction": {
+ "name": "extractTokenAtPosition",
+ "parameters": {
+ "delimiter": " ",
+ "position": 1
+ }
+ }
+ }
+ ],
+ "disabled": false
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListIndexes.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListIndexes.json
new file mode 100644
index 000000000000..c1432312240d
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListIndexes.json
@@ -0,0 +1,279 @@
+{
+ "parameters": {
+ "$select": "name",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hotels",
+ "fields": [
+ {
+ "name": "hotelId",
+ "type": "Edm.String",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": true,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "baseRate",
+ "type": "Edm.Double",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "description_fr",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "fr.lucene",
+ "synonymMaps": []
+ },
+ {
+ "name": "hotelName",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "category",
+ "type": "Edm.String",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "tags",
+ "type": "Collection(Edm.String)",
+ "searchable": true,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": "tagsAnalyzer",
+ "synonymMaps": []
+ },
+ {
+ "name": "parkingIncluded",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "smokingAllowed",
+ "type": "Edm.Boolean",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "lastRenovationDate",
+ "type": "Edm.DateTimeOffset",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "rating",
+ "type": "Edm.Int32",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": true,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "location",
+ "type": "Edm.GeographyPoint",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": true,
+ "sortable": true,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ }
+ ],
+ "scoringProfiles": [
+ {
+ "name": "geo",
+ "text": {
+ "weights": {
+ "hotelName": 5
+ }
+ },
+ "functions": [
+ {
+ "type": "distance",
+ "boost": 5,
+ "fieldName": "location",
+ "interpolation": "logarithmic",
+ "distance": {
+ "referencePointParameter": "currentLocation",
+ "boostingDistance": 10
+ }
+ }
+ ]
+ }
+ ],
+ "defaultScoringProfile": "geo",
+ "suggesters": [
+ {
+ "name": "sg",
+ "searchMode": "analyzingInfixMatching",
+ "sourceFields": [
+ "hotelName"
+ ]
+ }
+ ],
+ "analyzers": [
+ {
+ "name": "tagsAnalyzer",
+ "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "charFilters": [
+ "html_strip"
+ ],
+ "tokenizer": "standard_v2"
+ }
+ ],
+ "tokenizers": [],
+ "tokenFilters": [],
+ "charFilters": [],
+ "corsOptions": {
+ "allowedOrigins": [
+ "tempuri.org"
+ ],
+ "maxAgeInSeconds": 60
+ }
+ },
+ {
+ "name": "testindex",
+ "fields": [
+ {
+ "name": "id",
+ "type": "Edm.String",
+ "searchable": false,
+ "filterable": false,
+ "retrievable": true,
+ "sortable": false,
+ "facetable": false,
+ "key": true,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ },
+ {
+ "name": "hidden",
+ "type": "Edm.Double",
+ "searchable": false,
+ "filterable": true,
+ "retrievable": false,
+ "sortable": true,
+ "facetable": false,
+ "key": false,
+ "indexAnalyzer": null,
+ "searchAnalyzer": null,
+ "analyzer": null,
+ "synonymMaps": []
+ }
+ ],
+ "scoringProfiles": [],
+ "defaultScoringProfile": null,
+ "suggesters": [],
+ "analyzers": [],
+ "tokenizers": [],
+ "tokenFilters": [],
+ "charFilters": [],
+ "corsOptions": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListSynonymMaps.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListSynonymMaps.json
new file mode 100644
index 000000000000..72ee2adaf504
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceListSynonymMaps.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "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"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceResetIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceResetIndexer.json
new file mode 100644
index 000000000000..26b67d16d949
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceResetIndexer.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "indexerName": "myindexer",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceRunIndexer.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceRunIndexer.json
new file mode 100644
index 000000000000..67aa7af454fc
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/examples/SearchServiceRunIndexer.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "indexerName": "myindexer",
+ "api-version": "2016-09-01-Preview"
+ },
+ "responses": {
+ "202": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/searchservice.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/searchservice.json
new file mode 100644
index 000000000000..38615954a0d3
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01-preview/searchservice.json
@@ -0,0 +1,4028 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SearchServiceClient",
+ "description": "Client that can be used to manage and query indexes and documents, as well as manage other resources, on an Azure Search service.",
+ "version": "2016-09-01-Preview",
+ "x-ms-code-generation-settings": {
+ "useDateTimeOffset": true
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "https://{searchServiceName}.{searchDnsSuffix}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchDnsSuffixParameter"
+ }
+ ]
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/datasources('{dataSourceName}')": {
+ "put": {
+ "tags": [
+ "DataSources"
+ ],
+ "operationId": "DataSources_CreateOrUpdate",
+ "x-ms-examples": {
+ "SearchServiceCreateOrUpdateDataSource": { "$ref": "./examples/SearchServiceCreateOrUpdateDataSource.json" }
+ },
+ "description": "Creates a new Azure Search datasource or updates a datasource if it already exists.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Data-Source"
+ },
+ "parameters": [
+ {
+ "name": "dataSourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the datasource to create or update."
+ },
+ {
+ "name": "dataSource",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "description": "The definition of the datasource to create or update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/PreferHeaderParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/DataSource"
+ }
+ },
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/DataSource"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataSources"
+ ],
+ "operationId": "DataSources_Delete",
+ "x-ms-examples": {
+ "SearchServiceDeleteDataSource": { "$ref": "./examples/SearchServiceDeleteDataSource.json" }
+ },
+ "description": "Deletes an Azure Search datasource.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Data-Source"
+ },
+ "parameters": [
+ {
+ "name": "dataSourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the datasource to delete."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "404": {
+ "description": ""
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DataSources"
+ ],
+ "operationId": "DataSources_Get",
+ "x-ms-examples": {
+ "SearchServiceGetDataSource": { "$ref": "./examples/SearchServiceGetDataSource.json" }
+ },
+ "description": "Retrieves a datasource definition from Azure Search.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Data-Source"
+ },
+ "parameters": [
+ {
+ "name": "dataSourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the datasource to retrieve."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/DataSource"
+ }
+ }
+ }
+ }
+ },
+ "/datasources": {
+ "get": {
+ "tags": [
+ "DataSources"
+ ],
+ "operationId": "DataSources_List",
+ "x-ms-examples": {
+ "SearchServiceListDataSources": { "$ref": "./examples/SearchServiceListDataSources.json" }
+ },
+ "description": "Lists all datasources available for an Azure Search service.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/List-Data-Sources"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/DataSourceListResult"
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "DataSources"
+ ],
+ "operationId": "DataSources_Create",
+ "x-ms-examples": {
+ "SearchServiceCreateDataSource": { "$ref": "./examples/SearchServiceCreateDataSource.json" }
+ },
+ "description": "Creates a new Azure Search datasource.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source"
+ },
+ "parameters": [
+ {
+ "name": "dataSource",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "description": "The definition of the datasource to create."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/DataSource"
+ }
+ }
+ }
+ }
+ },
+ "/indexers('{indexerName}')/search.reset": {
+ "post": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_Reset",
+ "x-ms-examples": {
+ "SearchServiceResetIndexer": { "$ref": "./examples/SearchServiceResetIndexer.json" }
+ },
+ "description": "Resets the change tracking state associated with an Azure Search indexer.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Reset-Indexer"
+ },
+ "parameters": [
+ {
+ "name": "indexerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the indexer to reset."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "204": {
+ "description": ""
+ }
+ }
+ }
+ },
+ "/indexers('{indexerName}')/search.run": {
+ "post": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_Run",
+ "x-ms-examples": {
+ "SearchServiceRunIndexer": { "$ref": "./examples/SearchServiceRunIndexer.json" }
+ },
+ "description": "Runs an Azure Search indexer on-demand.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Run-Indexer"
+ },
+ "parameters": [
+ {
+ "name": "indexerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the indexer to run."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "202": {
+ "description": ""
+ }
+ }
+ }
+ },
+ "/indexers('{indexerName}')": {
+ "put": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_CreateOrUpdate",
+ "x-ms-examples": {
+ "SearchServiceCreateOrUpdateIndexer": { "$ref": "./examples/SearchServiceCreateOrUpdateIndexer.json" }
+ },
+ "description": "Creates a new Azure Search indexer or updates an indexer if it already exists.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Indexer"
+ },
+ "parameters": [
+ {
+ "name": "indexerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the indexer to create or update."
+ },
+ {
+ "name": "indexer",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Indexer"
+ },
+ "description": "The definition of the indexer to create or update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/PreferHeaderParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Indexer"
+ }
+ },
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Indexer"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_Delete",
+ "x-ms-examples": {
+ "SearchServiceDeleteIndexer": { "$ref": "./examples/SearchServiceDeleteIndexer.json" }
+ },
+ "description": "Deletes an Azure Search indexer.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Indexer"
+ },
+ "parameters": [
+ {
+ "name": "indexerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the indexer to delete."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "404": {
+ "description": ""
+ },
+ "204": {
+ "description": ""
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_Get",
+ "x-ms-examples": {
+ "SearchServiceGetIndexer": { "$ref": "./examples/SearchServiceGetIndexer.json" }
+ },
+ "description": "Retrieves an indexer definition from Azure Search.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Indexer"
+ },
+ "parameters": [
+ {
+ "name": "indexerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the indexer to retrieve."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Indexer"
+ }
+ }
+ }
+ }
+ },
+ "/indexers": {
+ "get": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_List",
+ "x-ms-examples": {
+ "SearchServiceListIndexers": { "$ref": "./examples/SearchServiceListIndexers.json" }
+ },
+ "description": "Lists all indexers available for an Azure Search service.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/List-Indexers"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/IndexerListResult"
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_Create",
+ "x-ms-examples": {
+ "SearchServiceCreateIndexer": { "$ref": "./examples/SearchServiceCreateIndexer.json" }
+ },
+ "description": "Creates a new Azure Search indexer.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Indexer"
+ },
+ "parameters": [
+ {
+ "name": "indexer",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Indexer"
+ },
+ "description": "The definition of the indexer to create."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Indexer"
+ }
+ }
+ }
+ }
+ },
+ "/indexers('{indexerName}')/search.status": {
+ "get": {
+ "tags": [
+ "Indexers"
+ ],
+ "operationId": "Indexers_GetStatus",
+ "x-ms-examples": {
+ "SearchServiceGetIndexerStatus": { "$ref": "./examples/SearchServiceGetIndexerStatus.json" }
+ },
+ "description": "Returns the current status and execution history of an indexer.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Indexer-Status"
+ },
+ "parameters": [
+ {
+ "name": "indexerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the indexer for which to retrieve status."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/IndexerExecutionInfo"
+ }
+ }
+ }
+ }
+ },
+ "/synonymmaps('{synonymMapName}')": {
+ "put": {
+ "tags": [
+ "SynonymMaps"
+ ],
+ "operationId": "SynonymMaps_CreateOrUpdate",
+ "x-ms-examples": {
+ "SearchServiceCreateOrUpdateSynonymMap": { "$ref": "./examples/SearchServiceCreateOrUpdateSynonymMap.json" }
+ },
+ "description": "Creates a new Azure Search synonym map or updates a synonym map if it already exists.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Synonym-Map"
+ },
+ "parameters": [
+ {
+ "name": "synonymMapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the synonym map to create or update."
+ },
+ {
+ "name": "synonymMap",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SynonymMap"
+ },
+ "description": "The definition of the synonym map to create or update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/PreferHeaderParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/SynonymMap"
+ }
+ },
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/SynonymMap"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SynonymMaps"
+ ],
+ "operationId": "SynonymMaps_Delete",
+ "x-ms-examples": {
+ "SearchServiceDeleteSynonymMap": { "$ref": "./examples/SearchServiceDeleteSynonymMap.json" }
+ },
+ "description": "Deletes an Azure Search synonym map.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Synonym-Map"
+ },
+ "parameters": [
+ {
+ "name": "synonymMapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the synonym map to delete."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "404": {
+ "description": ""
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SynonymMaps"
+ ],
+ "operationId": "SynonymMaps_Get",
+ "x-ms-examples": {
+ "SearchServiceGetSynonymMap": { "$ref": "./examples/SearchServiceGetSynonymMap.json" }
+ },
+ "description": "Retrieves a synonym map definition from Azure Search.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Synonym-Map"
+ },
+ "parameters": [
+ {
+ "name": "synonymMapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the synonym map to retrieve."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/SynonymMap"
+ }
+ }
+ }
+ }
+ },
+ "/synonymmaps": {
+ "get": {
+ "tags": [
+ "SynonymMaps"
+ ],
+ "operationId": "SynonymMaps_List",
+ "x-ms-examples": {
+ "SearchServiceListSynonymMaps": { "$ref": "./examples/SearchServiceListSynonymMaps.json" }
+ },
+ "description": "Lists all synonym maps available for an Azure Search service.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/List-Synonym-Maps"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/SynonymMapListResult"
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "SynonymMaps"
+ ],
+ "operationId": "SynonymMaps_Create",
+ "x-ms-examples": {
+ "SearchServiceCreateSynonymMap": { "$ref": "./examples/SearchServiceCreateSynonymMap.json" }
+ },
+ "description": "Creates a new Azure Search synonym map.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map"
+ },
+ "parameters": [
+ {
+ "name": "synonymMap",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SynonymMap"
+ },
+ "description": "The definition of the synonym map to create."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/SynonymMap"
+ }
+ }
+ }
+ }
+ },
+ "/indexes": {
+ "post": {
+ "tags": [
+ "Indexes"
+ ],
+ "operationId": "Indexes_Create",
+ "x-ms-examples": {
+ "SearchServiceCreateIndex": { "$ref": "./examples/SearchServiceCreateIndex.json" }
+ },
+ "description": "Creates a new Azure Search index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index"
+ },
+ "parameters": [
+ {
+ "name": "index",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Index"
+ },
+ "description": "The definition of the index to create."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Index"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Indexes"
+ ],
+ "operationId": "Indexes_List",
+ "x-ms-examples": {
+ "SearchServiceListIndexes": { "$ref": "./examples/SearchServiceListIndexes.json" }
+ },
+ "description": "Lists all indexes available for an Azure Search service.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/List-Indexes"
+ },
+ "parameters": [
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Selects which properties of the index definitions to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/IndexListResult"
+ }
+ }
+ }
+ }
+ },
+ "/indexes('{indexName}')": {
+ "put": {
+ "tags": [
+ "Indexes"
+ ],
+ "operationId": "Indexes_CreateOrUpdate",
+ "x-ms-examples": {
+ "SearchServiceCreateOrUpdateIndex": { "$ref": "./examples/SearchServiceCreateOrUpdateIndex.json" }
+ },
+ "description": "Creates a new Azure Search index or updates an index if it already exists.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Index"
+ },
+ "parameters": [
+ {
+ "name": "indexName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The definition of the index to create or update."
+ },
+ {
+ "name": "index",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Index"
+ },
+ "description": "The definition of the index to create or update."
+ },
+ {
+ "name": "allowIndexDowntime",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Allows new analyzers, tokenizers, token filters, or char filters to be added to an index by taking the index offline for at least a few seconds. This temporarily causes indexing and query requests to fail. Performance and write availability of the index can be impaired for several minutes after the index is updated, or longer for very large indexes."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/PreferHeaderParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Index"
+ }
+ },
+ "201": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Index"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Indexes"
+ ],
+ "operationId": "Indexes_Delete",
+ "x-ms-examples": {
+ "SearchServiceDeleteIndex": { "$ref": "./examples/SearchServiceDeleteIndex.json" }
+ },
+ "description": "Deletes an Azure Search index and all the documents it contains.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Index"
+ },
+ "parameters": [
+ {
+ "name": "indexName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the index to delete."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/IfMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/IfNoneMatchParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "204": {
+ "description": ""
+ },
+ "404": {
+ "description": ""
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Indexes"
+ ],
+ "operationId": "Indexes_Get",
+ "x-ms-examples": {
+ "SearchServiceGetIndex": { "$ref": "./examples/SearchServiceGetIndex.json" }
+ },
+ "description": "Retrieves an index definition from Azure Search.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Index"
+ },
+ "parameters": [
+ {
+ "name": "indexName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the index to retrieve."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/Index"
+ }
+ }
+ }
+ }
+ },
+ "/indexes('{indexName}')/search.stats": {
+ "get": {
+ "tags": [
+ "Indexes"
+ ],
+ "operationId": "Indexes_GetStatistics",
+ "x-ms-examples": {
+ "SearchServiceGetIndexStatistics": { "$ref": "./examples/SearchServiceGetIndexStatistics.json" }
+ },
+ "description": "Returns statistics for the given index, including a document count and storage usage.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Index-Statistics"
+ },
+ "parameters": [
+ {
+ "name": "indexName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the index for which to retrieve statistics."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/IndexGetStatisticsResult"
+ }
+ }
+ }
+ }
+ },
+ "/indexes('{indexName}')/search.analyze": {
+ "post": {
+ "tags": [
+ "Indexes"
+ ],
+ "operationId": "Indexes_Analyze",
+ "x-ms-examples": {
+ "SearchServiceIndexAnalyze": { "$ref": "./examples/SearchServiceIndexAnalyze.json" }
+ },
+ "description": "Shows how an analyzer breaks text into tokens.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/test-analyzer"
+ },
+ "parameters": [
+ {
+ "name": "indexName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the index for which to test an analyzer."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AnalyzeRequest"
+ },
+ "description": "The text and analyzer or analysis components to test."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeResult"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AnalyzeRequest": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The text to break into tokens."
+ },
+ "analyzer": {
+ "$ref": "#/definitions/AnalyzerName",
+ "description": "The name of the analyzer to use to break the given text. If this parameter is not specified, you must specify a tokenizer instead. The tokenizer and analyzer parameters are mutually exclusive."
+ },
+ "tokenizer": {
+ "$ref": "#/definitions/TokenizerName",
+ "description": "The name of the tokenizer to use to break the given text. If this parameter is not specified, you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually exclusive."
+ },
+ "tokenFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenFilterName"
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "description": "Specifies some text and analysis components used to break that text into tokens."
+ },
+ "AnalyzeResult": {
+ "properties": {
+ "tokens": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenInfo"
+ },
+ "description": "The list of tokens returned by the analyzer specified in the request."
+ }
+ },
+ "description": "The result of testing an analyzer on text."
+ },
+ "TokenInfo": {
+ "properties": {
+ "token": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The token returned by the analyzer."
+ },
+ "startOffset": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The index of the first character of the token in the input text."
+ },
+ "endOffset": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The index of the last character of the token in the input text."
+ },
+ "position": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The position of the token in the input text relative to other tokens. The first token in the input text has position 0, the next has position 1, and so on. Depending on the analyzer used, some tokens might have the same position, for example if they are synonyms of each other."
+ }
+ },
+ "description": "Information about a token returned by an analyzer."
+ },
+ "AnalyzerName": {
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "description": "Defines the data type of a field in an Azure Search index.",
+ "x-ms-external": true
+ },
+ "Analyzer": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "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"
+ ],
+ "description": "Abstract base class for analyzers."
+ },
+ "CustomAnalyzer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.CustomAnalyzer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Analyzer"
+ }
+ ],
+ "properties": {
+ "tokenizer": {
+ "$ref": "#/definitions/TokenizerName",
+ "description": "The name of the tokenizer to use to divide continuous text into a sequence of tokens, such as breaking a sentence into words."
+ },
+ "tokenFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenFilterName"
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "required": [
+ "tokenizer"
+ ],
+ "description": "Allows you to take control over the process of converting text into indexable/searchable tokens. It's a user-defined configuration consisting of a single predefined tokenizer and one or more filters. The tokenizer is responsible for breaking text into tokens, and the filters for modifying tokens emitted by the tokenizer."
+ },
+ "PatternAnalyzer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternAnalyzer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Analyzer"
+ }
+ ],
+ "properties": {
+ "lowercase": {
+ "x-ms-client-name": "LowerCaseTerms",
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether terms should be lower-cased. Default is true."
+ },
+ "pattern": {
+ "type": "string",
+ "default": "\\W+",
+ "description": "A regular expression pattern to match token separators. Default is an expression that matches one or more whitespace characters."
+ },
+ "flags": {
+ "$ref": "#/definitions/RegexFlags",
+ "description": "Regular expression flags."
+ },
+ "stopwords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of stopwords."
+ }
+ },
+ "description": "Flexibly separates text into terms via a regular expression pattern. This analyzer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.html"
+ }
+ },
+ "StandardAnalyzer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardAnalyzer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Analyzer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 255,
+ "maximum": 300,
+ "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters."
+ },
+ "stopwords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of stopwords."
+ }
+ },
+ "description": "Standard Apache Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop filter.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardAnalyzer.html"
+ }
+ },
+ "StopAnalyzer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.StopAnalyzer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Analyzer"
+ }
+ ],
+ "properties": {
+ "stopwords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of stopwords."
+ }
+ },
+ "description": "Divides text at non-letters; Applies the lowercase and stopword token filters. This analyzer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html"
+ }
+ },
+ "Tokenizer": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "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"
+ ],
+ "description": "Abstract base class for tokenizers.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
+ }
+ },
+ "ClassicTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.ClassicTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 255,
+ "maximum": 300,
+ "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters."
+ }
+ },
+ "description": "Grammar-based tokenizer that is suitable for processing most European-language documents. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html"
+ }
+ },
+ "TokenCharacterKind": {
+ "type": "string",
+ "enum": [
+ "letter",
+ "digit",
+ "whitespace",
+ "punctuation",
+ "symbol"
+ ],
+ "x-ms-enum": {
+ "name": "TokenCharacterKind",
+ "modelAsString": false
+ },
+ "description": "Represents classes of characters on which a token filter can operate."
+ },
+ "EdgeNGramTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "minGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "maximum": 300,
+ "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram."
+ },
+ "maxGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "maximum": 300,
+ "description": "The maximum n-gram length. Default is 2. Maximum is 300."
+ },
+ "tokenChars": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenCharacterKind",
+ "x-nullable": false
+ },
+ "description": "Character classes to keep in the tokens."
+ }
+ },
+ "description": "Tokenizes the input from an edge into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html"
+ }
+ },
+ "KeywordTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "bufferSize": {
+ "type": "integer",
+ "format": "int32",
+ "default": 256,
+ "description": "The read buffer size in bytes. Default is 256."
+ }
+ },
+ "description": "Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html"
+ },
+ "x-ms-external": true
+ },
+ "KeywordTokenizerV2": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordTokenizerV2",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 256,
+ "maximum": 300,
+ "description": "The maximum token length. Default is 256. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters."
+ }
+ },
+ "description": "Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html"
+ }
+ },
+ "MicrosoftTokenizerLanguage": {
+ "type": "string",
+ "enum": [
+ "bangla",
+ "bulgarian",
+ "catalan",
+ "chineseSimplified",
+ "chineseTraditional",
+ "croatian",
+ "czech",
+ "danish",
+ "dutch",
+ "english",
+ "french",
+ "german",
+ "greek",
+ "gujarati",
+ "hindi",
+ "icelandic",
+ "indonesian",
+ "italian",
+ "japanese",
+ "kannada",
+ "korean",
+ "malay",
+ "malayalam",
+ "marathi",
+ "norwegianBokmaal",
+ "polish",
+ "portuguese",
+ "portugueseBrazilian",
+ "punjabi",
+ "romanian",
+ "russian",
+ "serbianCyrillic",
+ "serbianLatin",
+ "slovenian",
+ "spanish",
+ "swedish",
+ "tamil",
+ "telugu",
+ "thai",
+ "ukrainian",
+ "urdu",
+ "vietnamese"
+ ],
+ "x-ms-enum": {
+ "name": "MicrosoftTokenizerLanguage",
+ "modelAsString": false
+ },
+ "description": "Lists the languages supported by the Microsoft language tokenizer."
+ },
+ "MicrosoftLanguageTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.MicrosoftLanguageTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 255,
+ "maximum": 300,
+ "description": "The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255."
+ },
+ "isSearchTokenizer": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false."
+ },
+ "language": {
+ "$ref": "#/definitions/MicrosoftTokenizerLanguage",
+ "description": "The language to use. The default is English."
+ }
+ },
+ "description": "Divides text using language-specific rules."
+ },
+ "MicrosoftStemmingTokenizerLanguage": {
+ "type": "string",
+ "enum": [
+ "arabic",
+ "bangla",
+ "bulgarian",
+ "catalan",
+ "croatian",
+ "czech",
+ "danish",
+ "dutch",
+ "english",
+ "estonian",
+ "finnish",
+ "french",
+ "german",
+ "greek",
+ "gujarati",
+ "hebrew",
+ "hindi",
+ "hungarian",
+ "icelandic",
+ "indonesian",
+ "italian",
+ "kannada",
+ "latvian",
+ "lithuanian",
+ "malay",
+ "malayalam",
+ "marathi",
+ "norwegianBokmaal",
+ "polish",
+ "portuguese",
+ "portugueseBrazilian",
+ "punjabi",
+ "romanian",
+ "russian",
+ "serbianCyrillic",
+ "serbianLatin",
+ "slovak",
+ "slovenian",
+ "spanish",
+ "swedish",
+ "tamil",
+ "telugu",
+ "turkish",
+ "ukrainian",
+ "urdu"
+ ],
+ "x-ms-enum": {
+ "name": "MicrosoftStemmingTokenizerLanguage",
+ "modelAsString": false
+ },
+ "description": "Lists the languages supported by the Microsoft language stemming tokenizer."
+ },
+ "MicrosoftLanguageStemmingTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 255,
+ "maximum": 300,
+ "description": "The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255."
+ },
+ "isSearchTokenizer": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false."
+ },
+ "language": {
+ "$ref": "#/definitions/MicrosoftStemmingTokenizerLanguage",
+ "description": "The language to use. The default is English."
+ }
+ },
+ "description": "Divides text using language-specific rules and reduces words to their base forms."
+ },
+ "NGramTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "minGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "maximum": 300,
+ "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram."
+ },
+ "maxGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "maximum": 300,
+ "description": "The maximum n-gram length. Default is 2. Maximum is 300."
+ },
+ "tokenChars": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenCharacterKind",
+ "x-nullable": false
+ },
+ "description": "Character classes to keep in the tokens."
+ }
+ },
+ "description": "Tokenizes the input into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html"
+ }
+ },
+ "PathHierarchyTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PathHierarchyTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "delimiter": {
+ "type": "string",
+ "format": "char",
+ "default": "/",
+ "description": "The delimiter character to use. Default is \"/\"."
+ },
+ "replacement": {
+ "type": "string",
+ "format": "char",
+ "default": "/",
+ "description": "A value that, if set, replaces the delimiter character. Default is \"/\"."
+ },
+ "bufferSize": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1024,
+ "description": "The buffer size. Default is 1024."
+ },
+ "reverse": {
+ "x-ms-client-name": "ReverseTokenOrder",
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to generate tokens in reverse order. Default is false."
+ },
+ "skip": {
+ "x-ms-client-name": "NumberOfTokensToSkip",
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "The number of initial tokens to skip. Default is 0."
+ }
+ },
+ "description": "Tokenizer for path-like hierarchies. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html"
+ },
+ "x-ms-external": true
+ },
+ "PathHierarchyTokenizerV2": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PathHierarchyTokenizerV2",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "delimiter": {
+ "type": "string",
+ "format": "char",
+ "default": "/",
+ "description": "The delimiter character to use. Default is \"/\"."
+ },
+ "replacement": {
+ "type": "string",
+ "format": "char",
+ "default": "/",
+ "description": "A value that, if set, replaces the delimiter character. Default is \"/\"."
+ },
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 300,
+ "maximum": 300,
+ "description": "The maximum token length. Default and maximum is 300."
+ },
+ "reverse": {
+ "x-ms-client-name": "ReverseTokenOrder",
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to generate tokens in reverse order. Default is false."
+ },
+ "skip": {
+ "x-ms-client-name": "NumberOfTokensToSkip",
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "The number of initial tokens to skip. Default is 0."
+ }
+ },
+ "description": "Tokenizer for path-like hierarchies. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html"
+ }
+ },
+ "PatternTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "pattern": {
+ "type": "string",
+ "default": "\\W+",
+ "description": "A regular expression pattern to match token separators. Default is an expression that matches one or more whitespace characters."
+ },
+ "flags": {
+ "$ref": "#/definitions/RegexFlags",
+ "description": "Regular expression flags."
+ },
+ "group": {
+ "type": "integer",
+ "format": "int32",
+ "default": -1,
+ "description": "The zero-based ordinal of the matching group in the regular expression pattern to extract into tokens. Use -1 if you want to use the entire pattern to split the input into tokens, irrespective of matching groups. Default is -1."
+ }
+ },
+ "description": "Tokenizer that uses regex pattern matching to construct distinct tokens. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html"
+ }
+ },
+ "StandardTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 255,
+ "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split."
+ }
+ },
+ "description": "Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html"
+ },
+ "x-ms-external": true
+ },
+ "StandardTokenizerV2": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardTokenizerV2",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 255,
+ "maximum": 300,
+ "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters."
+ }
+ },
+ "description": "Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html"
+ }
+ },
+ "UaxUrlEmailTokenizer": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.UaxUrlEmailTokenizer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Tokenizer"
+ }
+ ],
+ "properties": {
+ "maxTokenLength": {
+ "type": "integer",
+ "format": "int32",
+ "default": 255,
+ "maximum": 300,
+ "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters."
+ }
+ },
+ "description": "Tokenizes urls and emails as one token. This tokenizer is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html"
+ }
+ },
+ "TokenFilter": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "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"
+ ],
+ "description": "Abstract base class for token filters.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
+ }
+ },
+ "AsciiFoldingTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.AsciiFoldingTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "preserveOriginal": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether the original token will be kept. Default is false."
+ }
+ },
+ "description": "Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such equivalents exist. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html"
+ }
+ },
+ "CjkBigramTokenFilterScripts": {
+ "type": "string",
+ "enum": [
+ "han",
+ "hiragana",
+ "katakana",
+ "hangul"
+ ],
+ "x-ms-enum": {
+ "name": "CjkBigramTokenFilterScripts",
+ "modelAsString": false
+ },
+ "description": "Scripts that can be ignored by CjkBigramTokenFilter."
+ },
+ "CjkBigramTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.CjkBigramTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "ignoreScripts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CjkBigramTokenFilterScripts",
+ "x-nullable": false
+ },
+ "description": "The scripts to ignore."
+ },
+ "outputUnigrams": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to output both unigrams and bigrams (if true), or just bigrams (if false). Default is false."
+ }
+ },
+ "description": "Forms bigrams of CJK terms that are generated from StandardTokenizer. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html"
+ }
+ },
+ "CommonGramTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.CommonGramTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "commonWords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The set of common words."
+ },
+ "ignoreCase": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether common words matching will be case insensitive. Default is false."
+ },
+ "queryMode": {
+ "x-ms-client-name": "UseQueryMode",
+ "type": "boolean",
+ "default": false,
+ "description": "A value that indicates whether the token filter is in query mode. When in query mode, the token filter generates bigrams and then removes common words and single terms followed by a common word. Default is false."
+ }
+ },
+ "required": [
+ "commonWords"
+ ],
+ "description": "Construct bigrams for frequently occurring terms while indexing. Single terms are still indexed too, with bigrams overlaid. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html"
+ }
+ },
+ "DictionaryDecompounderTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "wordList": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of words to match against."
+ },
+ "minWordSize": {
+ "type": "integer",
+ "format": "int32",
+ "default": 5,
+ "maximum": 300,
+ "description": "The minimum word size. Only words longer than this get processed. Default is 5. Maximum is 300."
+ },
+ "minSubwordSize": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "maximum": 300,
+ "description": "The minimum subword size. Only subwords longer than this are outputted. Default is 2. Maximum is 300."
+ },
+ "maxSubwordSize": {
+ "type": "integer",
+ "format": "int32",
+ "default": 15,
+ "maximum": 300,
+ "description": "The maximum subword size. Only subwords shorter than this are outputted. Default is 15. Maximum is 300."
+ },
+ "onlyLongestMatch": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to add only the longest matching subword to the output. Default is false."
+ }
+ },
+ "required": [
+ "wordList"
+ ],
+ "description": "Decomposes compound words found in many Germanic languages. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.html"
+ }
+ },
+ "EdgeNGramTokenFilterSide": {
+ "type": "string",
+ "enum": [
+ "front",
+ "back"
+ ],
+ "x-ms-enum": {
+ "name": "EdgeNGramTokenFilterSide",
+ "modelAsString": false
+ },
+ "description": "Specifies which side of the input an n-gram should be generated from."
+ },
+ "EdgeNGramTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "minGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "description": "The minimum n-gram length. Default is 1. Must be less than the value of maxGram."
+ },
+ "maxGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "description": "The maximum n-gram length. Default is 2."
+ },
+ "side": {
+ "$ref": "#/definitions/EdgeNGramTokenFilterSide",
+ "default": "front",
+ "description": "Specifies which side of the input the n-gram should be generated from. Default is \"front\"."
+ }
+ },
+ "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html"
+ },
+ "x-ms-external": true
+ },
+ "EdgeNGramTokenFilterV2": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenFilterV2",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "minGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "maximum": 300,
+ "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram."
+ },
+ "maxGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "maximum": 300,
+ "description": "The maximum n-gram length. Default is 2. Maximum is 300."
+ },
+ "side": {
+ "$ref": "#/definitions/EdgeNGramTokenFilterSide",
+ "default": "front",
+ "description": "Specifies which side of the input the n-gram should be generated from. Default is \"front\"."
+ }
+ },
+ "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html"
+ }
+ },
+ "ElisionTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.ElisionTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "articles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The set of articles to remove."
+ }
+ },
+ "description": "Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html"
+ }
+ },
+ "KeepTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeepTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "keepWords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of words to keep."
+ },
+ "keepWordsCase" : {
+ "x-ms-client-name": "LowerCaseKeepWords",
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to lower case all words first. Default is false."
+ }
+ },
+ "required": [
+ "keepWords"
+ ],
+ "description": "A token filter that only keeps tokens with text contained in a specified list of words. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.html"
+ }
+ },
+ "KeywordMarkerTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordMarkerTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "keywords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of words to mark as keywords."
+ },
+ "ignoreCase": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false."
+ }
+ },
+ "required": [
+ "keywords"
+ ],
+ "description": "Marks terms as keywords. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.html"
+ }
+ },
+ "LengthTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.LengthTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "min": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "maximum": 300,
+ "description": "The minimum length in characters. Default is 0. Maximum is 300. Must be less than the value of max."
+ },
+ "max": {
+ "type": "integer",
+ "format": "int32",
+ "default": 300,
+ "maximum": 300,
+ "description": "The maximum length in characters. Default and maximum is 300."
+ }
+ },
+ "description": "Removes words that are too long or too short. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html"
+ }
+ },
+ "LimitTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.LimitTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "maxTokenCount": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "description": "The maximum number of tokens to produce. Default is 1."
+ },
+ "consumeAllTokens": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether all tokens from the input must be consumed even if maxTokenCount is reached. Default is false."
+ }
+ },
+ "description": "Limits the number of tokens while indexing. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html"
+ }
+ },
+ "NGramTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "minGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "description": "The minimum n-gram length. Default is 1. Must be less than the value of maxGram."
+ },
+ "maxGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "description": "The maximum n-gram length. Default is 2."
+ }
+ },
+ "description": "Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html"
+ },
+ "x-ms-external": true
+ },
+ "NGramTokenFilterV2": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenFilterV2",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "minGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 1,
+ "maximum": 300,
+ "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram."
+ },
+ "maxGram": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "maximum": 300,
+ "description": "The maximum n-gram length. Default is 2. Maximum is 300."
+ }
+ },
+ "description": "Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html"
+ }
+ },
+ "PatternCaptureTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternCaptureTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "patterns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of patterns to match against each token."
+ },
+ "preserveOriginal": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether to return the original token even if one of the patterns matches. Default is true."
+ }
+ },
+ "required": [
+ "patterns"
+ ],
+ "description": "Uses Java regexes to emit multiple tokens - one for each capture group in one or more patterns. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.html"
+ }
+ },
+ "PatternReplaceTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternReplaceTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "pattern": {
+ "type": "string",
+ "description": "A regular expression pattern."
+ },
+ "replacement": {
+ "type": "string",
+ "description": "The replacement text."
+ }
+ },
+ "required": [
+ "pattern",
+ "replacement"
+ ],
+ "description": "A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text \"aa bb aa bb\", pattern \"(aa)\\s+(bb)\", and replacement \"$1#$2\", the result would be \"aa#bb aa#bb\". This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceFilter.html"
+ }
+ },
+ "PhoneticEncoder": {
+ "type": "string",
+ "enum": [
+ "metaphone",
+ "doubleMetaphone",
+ "soundex",
+ "refinedSoundex",
+ "caverphone1",
+ "caverphone2",
+ "cologne",
+ "nysiis",
+ "koelnerPhonetik",
+ "haasePhonetik",
+ "beiderMorse"
+ ],
+ "x-ms-enum": {
+ "name": "PhoneticEncoder",
+ "modelAsString": false
+ },
+ "description": "Identifies the type of phonetic encoder to use with a PhoneticTokenFilter."
+ },
+ "PhoneticTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PhoneticTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "encoder": {
+ "$ref": "#/definitions/PhoneticEncoder",
+ "default": "metaphone",
+ "description": "The phonetic encoder to use. Default is \"metaphone\"."
+ },
+ "replace": {
+ "x-ms-client-name": "ReplaceOriginalTokens",
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether encoded tokens should replace original tokens. If false, encoded tokens are added as synonyms. Default is true."
+ }
+ },
+ "description": "Create tokens for phonetic matches. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html"
+ }
+ },
+ "ShingleTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.ShingleTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "maxShingleSize": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "minimum": 2,
+ "description": "The maximum shingle size. Default and minimum value is 2."
+ },
+ "minShingleSize": {
+ "type": "integer",
+ "format": "int32",
+ "default": 2,
+ "minimum": 2,
+ "description": "The minimum shingle size. Default and minimum value is 2. Must be less than the value of maxShingleSize."
+ },
+ "outputUnigrams": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether the output stream will contain the input tokens (unigrams) as well as shingles. Default is true."
+ },
+ "outputUnigramsIfNoShingles": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to output unigrams for those times when no shingles are available. This property takes precedence when outputUnigrams is set to false. Default is false."
+ },
+ "tokenSeparator": {
+ "type": "string",
+ "default": " ",
+ "description": "The string to use when joining adjacent tokens to form a shingle. Default is a single space (\" \")."
+ },
+ "filterToken": {
+ "type": "string",
+ "default": "_",
+ "description": "The string to insert for each position at which there is no token. Default is an underscore (\"_\")."
+ }
+ },
+ "description": "Creates combinations of tokens as a single token. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html"
+ }
+ },
+ "SnowballTokenFilterLanguage": {
+ "type": "string",
+ "enum": [
+ "armenian",
+ "basque",
+ "catalan",
+ "danish",
+ "dutch",
+ "english",
+ "finnish",
+ "french",
+ "german",
+ "german2",
+ "hungarian",
+ "italian",
+ "kp",
+ "lovins",
+ "norwegian",
+ "porter",
+ "portuguese",
+ "romanian",
+ "russian",
+ "spanish",
+ "swedish",
+ "turkish"
+ ],
+ "x-ms-enum": {
+ "name": "SnowballTokenFilterLanguage",
+ "modelAsString": false
+ },
+ "description": "The language to use for a Snowball token filter."
+ },
+ "SnowballTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.SnowballTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "language": {
+ "$ref": "#/definitions/SnowballTokenFilterLanguage",
+ "description": "The language to use."
+ }
+ },
+ "required": [
+ "language"
+ ],
+ "description": "A filter that stems words using a Snowball-generated stemmer. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html"
+ }
+ },
+ "StemmerTokenFilterLanguage": {
+ "type": "string",
+ "enum": [
+ "arabic",
+ "armenian",
+ "basque",
+ "brazilian",
+ "bulgarian",
+ "catalan",
+ "czech",
+ "danish",
+ "dutch",
+ "dutchKp",
+ "english",
+ "lightEnglish",
+ "minimalEnglish",
+ "possessiveEnglish",
+ "porter2",
+ "lovins",
+ "finnish",
+ "lightFinnish",
+ "french",
+ "lightFrench",
+ "minimalFrench",
+ "galician",
+ "minimalGalician",
+ "german",
+ "german2",
+ "lightGerman",
+ "minimalGerman",
+ "greek",
+ "hindi",
+ "hungarian",
+ "lightHungarian",
+ "indonesian",
+ "irish",
+ "italian",
+ "lightItalian",
+ "sorani",
+ "latvian",
+ "norwegian",
+ "lightNorwegian",
+ "minimalNorwegian",
+ "lightNynorsk",
+ "minimalNynorsk",
+ "portuguese",
+ "lightPortuguese",
+ "minimalPortuguese",
+ "portugueseRslp",
+ "romanian",
+ "russian",
+ "lightRussian",
+ "spanish",
+ "lightSpanish",
+ "swedish",
+ "lightSwedish",
+ "turkish"
+ ],
+ "x-ms-enum": {
+ "name": "StemmerTokenFilterLanguage",
+ "modelAsString": false
+ },
+ "description": "The language to use for a stemmer token filter."
+ },
+ "StemmerTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.StemmerTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "language": {
+ "$ref": "#/definitions/StemmerTokenFilterLanguage",
+ "description": "The language to use."
+ }
+ },
+ "required": [
+ "language"
+ ],
+ "description": "Language specific stemming filter. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters"
+ }
+ },
+ "StemmerOverrideTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.StemmerOverrideTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of stemming rules in the following format: \"word => stem\", for example: \"ran => run\"."
+ }
+ },
+ "required": [
+ "rules"
+ ],
+ "description": "Provides the ability to override other stemming filters with custom dictionary-based stemming. Any dictionary-stemmed terms will be marked as keywords so that they will not be stemmed with stemmers down the chain. Must be placed before any stemming filters. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.html"
+ }
+ },
+ "StopwordsList": {
+ "type": "string",
+ "enum": [
+ "arabic",
+ "armenian",
+ "basque",
+ "brazilian",
+ "bulgarian",
+ "catalan",
+ "czech",
+ "danish",
+ "dutch",
+ "english",
+ "finnish",
+ "french",
+ "galician",
+ "german",
+ "greek",
+ "hindi",
+ "hungarian",
+ "indonesian",
+ "irish",
+ "italian",
+ "latvian",
+ "norwegian",
+ "persian",
+ "portuguese",
+ "romanian",
+ "russian",
+ "sorani",
+ "spanish",
+ "swedish",
+ "thai",
+ "turkish"
+ ],
+ "x-ms-enum": {
+ "name": "StopwordsList",
+ "modelAsString": false
+ },
+ "description": "Identifies a predefined list of language-specific stopwords."
+ },
+ "StopwordsTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.StopwordsTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "stopwords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of stopwords. This property and the stopwords list property cannot both be set."
+ },
+ "stopwordsList": {
+ "$ref": "#/definitions/StopwordsList",
+ "default": "english",
+ "description": "A predefined list of stopwords to use. This property and the stopwords property cannot both be set. Default is English."
+ },
+ "ignoreCase": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false."
+ },
+ "removeTrailing": {
+ "x-ms-client-name": "RemoveTrailingStopWords",
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether to ignore the last search term if it's a stop word. Default is true."
+ }
+ },
+ "description": "Removes stop words from a token stream. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html"
+ }
+ },
+ "SynonymTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.SynonymTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "synonyms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of synonyms in following one of two formats: 1. incredible, unbelievable, fabulous => amazing - all terms on the left side of => symbol will be replaced with all terms on its right side; 2. incredible, unbelievable, fabulous, amazing - comma separated list of equivalent words. Set the expand option to change how this list is interpreted."
+ },
+ "ignoreCase": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to case-fold input for matching. Default is false."
+ },
+ "expand": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether all words in the list of synonyms (if => notation is not used) will map to one another. If true, all words in the list of synonyms (if => notation is not used) will map to one another. The following list: incredible, unbelievable, fabulous, amazing is equivalent to: incredible, unbelievable, fabulous, amazing => incredible, unbelievable, fabulous, amazing. If false, the following list: incredible, unbelievable, fabulous, amazing will be equivalent to: incredible, unbelievable, fabulous, amazing => incredible. Default is true."
+ }
+ },
+ "required": [
+ "synonyms"
+ ],
+ "description": "Matches single or multi-word synonyms in a token stream. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/synonym/SynonymFilter.html"
+ }
+ },
+ "TruncateTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.TruncateTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "default": 300,
+ "maximum": 300,
+ "description": "The length at which terms will be truncated. Default and maximum is 300."
+ }
+ },
+ "description": "Truncates the terms to a specific length. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html"
+ }
+ },
+ "UniqueTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.UniqueTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "onlyOnSamePosition": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether to remove duplicates only at the same position. Default is false."
+ }
+ },
+ "description": "Filters out tokens with same text as the previous token. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html"
+ }
+ },
+ "WordDelimiterTokenFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.WordDelimiterTokenFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TokenFilter"
+ }
+ ],
+ "properties": {
+ "generateWordParts": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether to generate part words. If set, causes parts of words to be generated; for example \"AzureSearch\" becomes \"Azure\" \"Search\". Default is true."
+ },
+ "generateNumberParts": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether to generate number subwords. Default is true."
+ },
+ "catenateWords": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether maximum runs of word parts will be catenated. For example, if this is set to true, \"Azure-Search\" becomes \"AzureSearch\". Default is false."
+ },
+ "catenateNumbers": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether maximum runs of number parts will be catenated. For example, if this is set to true, \"1-2\" becomes \"12\". Default is false."
+ },
+ "catenateAll": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether all subword parts will be catenated. For example, if this is set to true, \"Azure-Search-1\" becomes \"AzureSearch1\". Default is false."
+ },
+ "splitOnCaseChange": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether to split words on caseChange. For example, if this is set to true, \"AzureSearch\" becomes \"Azure\" \"Search\". Default is true."
+ },
+ "preserveOriginal": {
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether original words will be preserved and added to the subword list. Default is false."
+ },
+ "splitOnNumerics": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether to split on numbers. For example, if this is set to true, \"Azure1Search\" becomes \"Azure\" \"1\" \"Search\". Default is true."
+ },
+ "stemEnglishPossessive": {
+ "type": "boolean",
+ "default": true,
+ "description": "A value indicating whether to remove trailing \"'s\" for each subword. Default is true."
+ },
+ "protectedWords": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of tokens to protect from being delimited."
+ }
+ },
+ "description": "Splits words into subwords and performs optional transformations on subword groups. This token filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.html"
+ }
+ },
+ "CharFilter": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "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"
+ ],
+ "description": "Abstract base class for character filters.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
+ }
+ },
+ "MappingCharFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.MappingCharFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CharFilter"
+ }
+ ],
+ "properties": {
+ "mappings": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of mappings of the following format: \"a=>b\" (all occurrences of the character \"a\" will be replaced with character \"b\")."
+ }
+ },
+ "required": [
+ "mappings"
+ ],
+ "description": "A character filter that applies mappings defined with the mappings option. Matching is greedy (longest pattern matching at a given point wins). Replacement is allowed to be the empty string. This character filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/MappingCharFilter.html"
+ }
+ },
+ "PatternReplaceCharFilter": {
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternReplaceCharFilter",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CharFilter"
+ }
+ ],
+ "properties": {
+ "pattern": {
+ "type": "string",
+ "description": "A regular expression pattern."
+ },
+ "replacement": {
+ "type": "string",
+ "description": "The replacement text."
+ }
+ },
+ "required": [
+ "pattern",
+ "replacement"
+ ],
+ "description": "A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text \"aa bb aa bb\", pattern \"(aa)\\s+(bb)\", and replacement \"$1#$2\", the result would be \"aa#bb aa#bb\". This character filter is implemented using Apache Lucene.",
+ "externalDocs": {
+ "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.html"
+ }
+ },
+ "DataSourceCredentials": {
+ "properties": {
+ "connectionString": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source"
+ },
+ "type": "string",
+ "description": "The connection string for the datasource."
+ }
+ },
+ "required": [
+ "connectionString"
+ ],
+ "description": "Represents credentials that can be used to connect to a datasource."
+ },
+ "DataContainer": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the table or view (for Azure SQL data source) or collection (for DocumentDB data source) that will be indexed."
+ },
+ "query": {
+ "type": "string",
+ "description": "A query that is applied to this data container. The syntax and meaning of this parameter is datasource-specific. Not supported by Azure SQL datasources."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Represents information about the entity (such as Azure SQL table or DocumentDb collection) that will be indexed."
+ },
+ "DataChangeDetectionPolicy": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Abstract base class for data change detection policies."
+ },
+ "HighWaterMarkChangeDetectionPolicy": {
+ "description": "Defines a data change detection policy that captures changes based on the value of a high water mark column.",
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataChangeDetectionPolicy"
+ }
+ ],
+ "properties": {
+ "highWaterMarkColumnName": {
+ "type": "string",
+ "description": "The name of the high water mark column."
+ }
+ },
+ "required": [
+ "highWaterMarkColumnName"
+ ]
+ },
+ "SqlIntegratedChangeTrackingPolicy": {
+ "description": "Defines a data change detection policy that captures changes using the Integrated Change Tracking feature of Azure SQL Database.",
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataChangeDetectionPolicy"
+ }
+ ]
+ },
+ "DataDeletionDetectionPolicy": {
+ "discriminator": "@odata.type",
+ "properties": {
+ "@odata.type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "@odata.type"
+ ],
+ "description": "Abstract base class for data deletion detection policies."
+ },
+ "SoftDeleteColumnDeletionDetectionPolicy": {
+ "description": "Defines a data deletion detection policy that implements a soft-deletion strategy. It determines whether an item should be deleted based on the value of a designated 'soft delete' column.",
+ "x-ms-discriminator-value": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataDeletionDetectionPolicy"
+ }
+ ],
+ "properties": {
+ "softDeleteColumnName": {
+ "type": "string",
+ "description": "The name of the column to use for soft-deletion detection."
+ },
+ "softDeleteMarkerValue": {
+ "type": "string",
+ "description": "The marker value that indentifies an item as deleted."
+ }
+ }
+ },
+ "DataSourceType": {
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "description": "Defines the type of an Azure Search datasource.",
+ "x-ms-external": true
+ },
+ "DataSource": {
+ "properties": {
+ "name": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules"
+ },
+ "type": "string",
+ "description": "The name of the datasource."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the datasource."
+ },
+ "type": {
+ "$ref": "#/definitions/DataSourceType",
+ "description": "The type of the datasource."
+ },
+ "credentials": {
+ "$ref": "#/definitions/DataSourceCredentials",
+ "description": "Credentials for the datasource."
+ },
+ "container": {
+ "$ref": "#/definitions/DataContainer",
+ "description": "The data container for the datasource."
+ },
+ "dataChangeDetectionPolicy": {
+ "$ref": "#/definitions/DataChangeDetectionPolicy",
+ "description": "The data change detection policy for the datasource."
+ },
+ "dataDeletionDetectionPolicy": {
+ "$ref": "#/definitions/DataDeletionDetectionPolicy",
+ "description": "The data deletion detection policy for the datasource."
+ },
+ "@odata.etag": {
+ "x-ms-client-name": "ETag",
+ "type": "string",
+ "description": "The ETag of the DataSource."
+ }
+ },
+ "required": [
+ "name", "type", "credentials", "container"
+ ],
+ "description": "Represents a datasource definition in Azure Search, which can be used to configure an indexer."
+ },
+ "DataSourceListResult": {
+ "properties": {
+ "value": {
+ "x-ms-client-name": "DataSources",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/DataSource"
+ },
+ "description": "The datasources in the Search service."
+ }
+ },
+ "description": "Response from a List Datasources request. If successful, it includes the full definitions of all datasources."
+ },
+ "IndexingSchedule": {
+ "properties": {
+ "interval": {
+ "type": "string",
+ "format": "duration",
+ "description": "The interval of time between indexer executions."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when an indexer should start running."
+ }
+ },
+ "required": [
+ "interval"
+ ],
+ "description": "Represents a schedule for indexer execution."
+ },
+ "IndexingParameters": {
+ "properties": {
+ "batchSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of items that are read from the data source and indexed as a single batch in order to improve performance. The default depends on the data source type."
+ },
+ "maxFailedItems": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "The maximum number of items that can fail indexing for indexer execution to still be considered successful. -1 means no limit. Default is 0."
+ },
+ "maxFailedItemsPerBatch": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "description": "The maximum number of items in a single batch that can fail indexing for the batch to still be considered successful. -1 means no limit. Default is 0."
+ },
+ "base64EncodeKeys": {
+ "type": "boolean",
+ "default": false,
+ "description": "Whether indexer will base64-encode all values that are inserted into key field of the target index. This is needed if keys can contain characters that are invalid in keys (such as dot '.'). Default is false."
+ },
+ "configuration": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "description": "A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type."
+ }
+ },
+ "description": "Represents parameters for indexer execution.",
+ "x-ms-external": true
+ },
+ "FieldMappingFunction": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the field mapping function."
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "description": "A dictionary of parameter name/value pairs to pass to the function. Each value must be of a primitive type."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Represents a function that transforms a value from a data source before indexing.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings"
+ }
+ },
+ "FieldMapping": {
+ "properties": {
+ "sourceFieldName": {
+ "type": "string",
+ "description": "The name of the field in the data source."
+ },
+ "targetFieldName": {
+ "type": "string",
+ "description": "The name of the target field in the index. Same as the source field name by default."
+ },
+ "mappingFunction": {
+ "$ref": "#/definitions/FieldMappingFunction",
+ "description": "A function to apply to each source field value before indexing."
+ }
+ },
+ "required": [
+ "sourceFieldName"
+ ],
+ "description": "Defines a mapping between a field in a data source and a target field in an index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings"
+ }
+ },
+ "Indexer": {
+ "properties": {
+ "name": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules"
+ },
+ "type": "string",
+ "description": "The name of the indexer."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the indexer."
+ },
+ "dataSourceName": {
+ "type": "string",
+ "description": "The name of the datasource from which this indexer reads data."
+ },
+ "targetIndexName": {
+ "type": "string",
+ "description": "The name of the index to which this indexer writes data."
+ },
+ "schedule": {
+ "$ref": "#/definitions/IndexingSchedule",
+ "description": "The schedule for this indexer."
+ },
+ "parameters": {
+ "$ref": "#/definitions/IndexingParameters",
+ "description": "Parameters for indexer execution."
+ },
+ "fieldMappings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FieldMapping"
+ },
+ "description": "Defines mappings between fields in the data source and corresponding target fields in the index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings"
+ }
+ },
+ "disabled": {
+ "x-ms-client-name": "IsDisabled",
+ "type": "boolean",
+ "default": false,
+ "description": "A value indicating whether the indexer is disabled. Default is false."
+ },
+ "@odata.etag": {
+ "x-ms-client-name": "ETag",
+ "type": "string",
+ "description": "The ETag of the Indexer."
+ }
+ },
+ "required": [
+ "name", "dataSourceName", "targetIndexName"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Indexer-operations"
+ },
+ "description": "Represents an Azure Search indexer."
+ },
+ "IndexerListResult": {
+ "properties": {
+ "value": {
+ "x-ms-client-name": "Indexers",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Indexer"
+ },
+ "description": "The indexers in the Search service."
+ }
+ },
+ "description": "Response from a List Indexers request. If successful, it includes the full definitions of all indexers."
+ },
+ "ItemError": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The key of the item for which indexing failed."
+ },
+ "errorMessage": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The message describing the error that occurred while attempting to index the item."
+ }
+ },
+ "description": "Represents an item- or document-level indexing error."
+ },
+ "IndexerExecutionResult": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/IndexerExecutionStatus",
+ "readOnly": true,
+ "description": "The outcome of this indexer execution."
+ },
+ "errorMessage": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error message indicating the top-level error, if any."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The start time of this indexer execution."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The end time of this indexer execution, if the execution has already completed."
+ },
+ "errors": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ItemError"
+ },
+ "description": "The item-level indexing errors."
+ },
+ "itemsProcessed": {
+ "x-ms-client-name": "ItemCount",
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false,
+ "readOnly": true,
+ "description": "The number of items that were processed during this indexer execution. This includes both successfully processed items and items where indexing was attempted but failed."
+ },
+ "itemsFailed": {
+ "x-ms-client-name": "FailedItemCount",
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false,
+ "readOnly": true,
+ "description": "The number of items that failed to be indexed during this indexer execution."
+ },
+ "initialTrackingState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Change tracking state with which an indexer execution started."
+ },
+ "finalTrackingState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Change tracking state with which an indexer execution finished."
+ }
+ },
+ "description": "Represents the result of an individual indexer execution."
+ },
+ "IndexerExecutionStatus": {
+ "type": "string",
+ "enum": [
+ "transientFailure",
+ "success",
+ "inProgress",
+ "reset"
+ ],
+ "x-ms-enum": { "name": "IndexerExecutionStatus" },
+ "x-nullable": false,
+ "description": "Represents the status of an individual indexer execution."
+ },
+ "IndexerExecutionInfo": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/IndexerStatus",
+ "readOnly": true,
+ "description": "Overall indexer status."
+ },
+ "lastResult": {
+ "$ref": "#/definitions/IndexerExecutionResult",
+ "readOnly": true,
+ "description": "The result of the most recent or an in-progress indexer execution."
+ },
+ "executionHistory": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/IndexerExecutionResult"
+ },
+ "description": "History of the recent indexer executions, sorted in reverse chronological order."
+ }
+ },
+ "description": "Represents the current status and execution history of an indexer."
+ },
+ "IndexerStatus": {
+ "type": "string",
+ "enum": [
+ "unknown",
+ "error",
+ "running"
+ ],
+ "x-ms-enum": { "name": "IndexerStatus" },
+ "x-nullable": false,
+ "description": "Represents the overall indexer status."
+ },
+ "Field": {
+ "properties": {
+ "name": {
+ "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."
+ },
+ "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."
+ },
+ "searchAnalyzer": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support"
+ },
+ "$ref": "#/definitions/AnalyzerName",
+ "description": "The name of the analyzer used at search time for the field. This option can be used only with searchable fields. It must be set together with indexAnalyzer and it cannot be set together with the analyzer option. This analyzer can be updated on an existing field."
+ },
+ "indexAnalyzer": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support"
+ },
+ "$ref": "#/definitions/AnalyzerName",
+ "description": "The name of the analyzer used at indexing time for the field. This option can be used only with searchable fields. It must be set together with searchAnalyzer and it cannot be set together with the analyzer option. Once the analyzer is chosen, it cannot be changed for the field."
+ },
+ "synonymMaps": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Synonym-Map-operations"
+ },
+ "type": "array",
+ "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 forstring 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."
+ }
+ },
+ "required": [
+ "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
+ },
+ "TextWeights": {
+ "properties": {
+ "weights": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double",
+ "x-nullable": false
+ },
+ "description": "The dictionary of per-field weights to boost document scoring. The keys are field names and the values are the weights for each field."
+ }
+ },
+ "required": [
+ "weights"
+ ],
+ "description": "Defines weights on index fields for which matches should boost scoring in search queries."
+ },
+ "ScoringFunction": {
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "fieldName": {
+ "type": "string",
+ "description": "The name of the field used as input to the scoring function."
+ },
+ "boost": {
+ "type": "number",
+ "format": "double",
+ "description": "A multiplier for the raw score. Must be a positive number not equal to 1.0."
+ },
+ "interpolation": {
+ "$ref": "#/definitions/ScoringFunctionInterpolation",
+ "description": "A value indicating how boosting will be interpolated across document scores; defaults to \"Linear\"."
+ }
+ },
+ "required": [
+ "type", "fieldName", "boost"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index"
+ },
+ "description": "Abstract base class for functions that can modify document scores during ranking."
+ },
+ "DistanceScoringFunction": {
+ "x-ms-discriminator-value": "distance",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScoringFunction"
+ }
+ ],
+ "properties": {
+ "distance": {
+ "x-ms-client-name": "Parameters",
+ "$ref": "#/definitions/DistanceScoringParameters",
+ "description": "Parameter values for the distance scoring function."
+ }
+ },
+ "required": [
+ "distance"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index"
+ },
+ "description": "Defines a function that boosts scores based on distance from a geographic location."
+ },
+ "DistanceScoringParameters": {
+ "properties": {
+ "referencePointParameter": {
+ "type": "string",
+ "description": "The name of the parameter passed in search queries to specify the reference location."
+ },
+ "boostingDistance": {
+ "type": "number",
+ "format": "double",
+ "description": "The distance in kilometers from the reference location where the boosting range ends."
+ }
+ },
+ "required": [
+ "referencePointParameter", "boostingDistance"
+ ],
+ "description": "Provides parameter values to a distance scoring function."
+ },
+ "FreshnessScoringFunction": {
+ "x-ms-discriminator-value": "freshness",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScoringFunction"
+ }
+ ],
+ "properties": {
+ "freshness": {
+ "x-ms-client-name": "Parameters",
+ "$ref": "#/definitions/FreshnessScoringParameters",
+ "description": "Parameter values for the freshness scoring function."
+ }
+ },
+ "required": [
+ "freshness"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index"
+ },
+ "description": "Defines a function that boosts scores based on the value of a date-time field."
+ },
+ "FreshnessScoringParameters": {
+ "properties": {
+ "boostingDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The expiration period after which boosting will stop for a particular document."
+ }
+ },
+ "required": [
+ "boostingDuration"
+ ],
+ "description": "Provides parameter values to a freshness scoring function."
+ },
+ "MagnitudeScoringFunction": {
+ "x-ms-discriminator-value": "magnitude",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScoringFunction"
+ }
+ ],
+ "properties": {
+ "magnitude": {
+ "x-ms-client-name": "Parameters",
+ "$ref": "#/definitions/MagnitudeScoringParameters",
+ "description": "Parameter values for the magnitude scoring function."
+ }
+ },
+ "required": [
+ "magnitude"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index"
+ },
+ "description": "Defines a function that boosts scores based on the magnitude of a numeric field."
+ },
+ "MagnitudeScoringParameters": {
+ "properties": {
+ "boostingRangeStart": {
+ "type": "number",
+ "format": "double",
+ "description": "The field value at which boosting starts."
+ },
+ "boostingRangeEnd": {
+ "type": "number",
+ "format": "double",
+ "description": "The field value at which boosting ends."
+ },
+ "constantBoostBeyondRange": {
+ "x-ms-client-name": "ShouldBoostBeyondRangeByConstant",
+ "type": "boolean",
+ "description": "A value indicating whether to apply a constant boost for field values beyond the range end value; default is false."
+ }
+ },
+ "required": [
+ "boostingRangeStart", "boostingRangeEnd"
+ ],
+ "description": "Provides parameter values to a magnitude scoring function."
+ },
+ "TagScoringFunction": {
+ "x-ms-discriminator-value": "tag",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScoringFunction"
+ }
+ ],
+ "properties": {
+ "tag": {
+ "x-ms-client-name": "Parameters",
+ "$ref": "#/definitions/TagScoringParameters",
+ "description": "Parameter values for the tag scoring function."
+ }
+ },
+ "required": [
+ "tag"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index"
+ },
+ "description": "Defines a function that boosts scores of documents with string values matching a given list of tags."
+ },
+ "TagScoringParameters": {
+ "properties": {
+ "tagsParameter": {
+ "type": "string",
+ "description": "The name of the parameter passed in search queries to specify the list of tags to compare against the target field."
+ }
+ },
+ "required": [
+ "tagsParameter"
+ ],
+ "description": "Provides parameter values to a tag scoring function."
+ },
+ "ScoringFunctionInterpolation": {
+ "type": "string",
+ "enum": [
+ "linear",
+ "constant",
+ "quadratic",
+ "logarithmic"
+ ],
+ "x-ms-enum": { "name": "ScoringFunctionInterpolation" },
+ "description": "Defines the function used to interpolate score boosting across a range of documents."
+ },
+ "ScoringProfile": {
+ "properties": {
+ "name": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules"
+ },
+ "type": "string",
+ "description": "The name of the scoring profile."
+ },
+ "text": {
+ "x-ms-client-name": "TextWeights",
+ "$ref": "#/definitions/TextWeights",
+ "description": "Parameters that boost scoring based on text matches in certain index fields."
+ },
+ "functions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScoringFunction"
+ },
+ "description": "The collection of functions that influence the scoring of documents."
+ },
+ "functionAggregation": {
+ "$ref": "#/definitions/ScoringFunctionAggregation",
+ "description": "A value indicating how the results of individual scoring functions should be combined. Defaults to \"Sum\". Ignored if there are no scoring functions."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index"
+ },
+ "description": "Defines parameters for an Azure Search index that influence scoring in search queries."
+ },
+ "ScoringFunctionAggregation": {
+ "type": "string",
+ "enum": [
+ "sum",
+ "average",
+ "minimum",
+ "maximum",
+ "firstMatching"
+ ],
+ "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": {
+ "properties": {
+ "allowedOrigins": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of origins from which JavaScript code will be granted access to your index. Can contain a list of hosts of the form {protocol}://{fully-qualified-domain-name}[:{port#}], or a single '*' to allow all origins (not recommended)."
+ },
+ "maxAgeInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The duration for which browsers should cache CORS preflight responses. Defaults to 5 mintues."
+ }
+ },
+ "required": [
+ "allowedOrigins"
+ ],
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index"
+ },
+ "description": "Defines options to control Cross-Origin Resource Sharing (CORS) for an index."
+ },
+ "Suggester": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the suggester."
+ },
+ "searchMode": {
+ "type": "string",
+ "enum": [
+ "analyzingInfixMatching"
+ ],
+ "description": "A value indicating the capabilities of the suggester."
+ },
+ "sourceFields": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of field names to which the suggester applies. Each field must be searchable."
+ }
+ },
+ "required": [
+ "name", "searchMode", "sourceFields"
+ ],
+ "description": "Defines how the Suggest API should apply to a group of fields in the index."
+ },
+ "Index": {
+ "properties": {
+ "name": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules"
+ },
+ "type": "string",
+ "description": "The name of the index."
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Field"
+ },
+ "description": "The fields of the index."
+ },
+ "scoringProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScoringProfile"
+ },
+ "description": "The scoring profiles for the index."
+ },
+ "defaultScoringProfile": {
+ "type": "string",
+ "description": "The name of the scoring profile to use if none is specified in the query. If this property is not set and no scoring profile is specified in the query, then default scoring (tf-idf) will be used."
+ },
+ "corsOptions": {
+ "$ref": "#/definitions/CorsOptions",
+ "description": "Options to control Cross-Origin Resource Sharing (CORS) for the index."
+ },
+ "suggesters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Suggester"
+ },
+ "description": "The suggesters for the index."
+ },
+ "analyzers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Analyzer"
+ },
+ "description": "The analyzers for the index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
+ }
+ },
+ "tokenizers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tokenizer"
+ },
+ "description": "The tokenizers for the index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
+ }
+ },
+ "tokenFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenFilter"
+ },
+ "description": "The token filters for the index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
+ }
+ },
+ "charFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CharFilter"
+ },
+ "description": "The character filters for the index.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
+ }
+ },
+ "@odata.etag": {
+ "x-ms-client-name": "ETag",
+ "type": "string",
+ "description": "The ETag of the index."
+ }
+ },
+ "required": [
+ "name", "fields"
+ ],
+ "description": "Represents an index definition in Azure Search, which describes the fields and search behavior of an index."
+ },
+ "IndexGetStatisticsResult": {
+ "properties": {
+ "documentCount": {
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": false,
+ "readOnly": true,
+ "description": "The number of documents in the index."
+ },
+ "storageSize": {
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": false,
+ "readOnly": true,
+ "description": "The amount of storage in bytes consumed by the index."
+ }
+ },
+ "description": "Statistics for a given index. Statistics are collected periodically and are not guaranteed to always be up-to-date."
+ },
+ "IndexListResult": {
+ "properties": {
+ "value": {
+ "x-ms-client-name": "Indexes",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Index"
+ },
+ "description": "The indexes in the Search service."
+ }
+ },
+ "description": "Response from a List Indexes request. If successful, it includes the full definitions of all indexes."
+ },
+ "SynonymMapFormat": {
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "description": "The format of the synonym map. Only the 'solr' format is currently supported.",
+ "x-ms-external": true
+ },
+ "SynonymMap": {
+ "properties": {
+ "name": {
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules"
+ },
+ "type": "string",
+ "description": "The name of the synonym map."
+ },
+ "format": {
+ "$ref": "#/definitions/SynonymMapFormat",
+ "description": "The format of the synonym map. Only the 'solr' format is currently supported."
+ },
+ "synonyms": {
+ "type": "string",
+ "description": "A series of synonym rules in the specified synonym map format. The rules must be separated by newlines.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map#SynonymMapFormat"
+ }
+ },
+ "@odata.etag": {
+ "x-ms-client-name": "ETag",
+ "type": "string",
+ "description": "The ETag of the synonym map."
+ }
+ },
+ "required": [
+ "name", "format", "synonyms"
+ ],
+ "description": "Represents a synonym map definition in Azure Search."
+ },
+ "SynonymMapListResult": {
+ "properties": {
+ "value": {
+ "x-ms-client-name": "SynonymMaps",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SynonymMap"
+ },
+ "description": "The synonym maps in the Search service."
+ }
+ },
+ "description": "Response from a List SynonymMaps request. If successful, it includes the full definitions of all synonym maps."
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ClientRequestIdParameter": {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "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-location": "method"
+ },
+ "IfMatchParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "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-location": "method"
+ },
+ "IfNoneMatchParameter": {
+ "name": "If-None-Match",
+ "in": "header",
+ "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-location": "method"
+ },
+ "PreferHeaderParameter": {
+ "name": "Prefer",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "return=representation"
+ ],
+ "description": "For HTTP PUT requests, instructs the service to return the created/updated resource on success.",
+ "x-ms-parameter-location": "method"
+ },
+ "SearchServiceNameParameter": {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "description": "The name of the Azure Search service."
+ },
+ "SearchDnsSuffixParameter": {
+ "name": "searchDnsSuffix",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "default": "search.windows.net",
+ "x-ms-skip-url-encoding": true,
+ "description": "The DNS suffix of the Azure Search service. The default is search.windows.net."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Search/preview/2016-09-01/searchservice.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01/searchservice.json
similarity index 100%
rename from specification/search/data-plane/Microsoft.Search/preview/2016-09-01/searchservice.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Service/preview/2016-09-01/searchservice.json
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md b/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md
new file mode 100644
index 000000000000..18292cc841ae
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md
@@ -0,0 +1,86 @@
+# SearchServiceClient
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for SearchServiceClient.
+
+
+---
+## Getting Started
+
+To build the SDK for SearchServiceClient, 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 SearchServiceClient.
+
+``` yaml
+openapi-type: data-plane
+tag: package-2016-09-preview
+```
+
+### Tag: package-2016-09-preview
+
+These settings apply only when `--tag=package-2016-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-09-preview'
+input-file:
+- preview/2016-09-01-preview/searchservice.json
+```
+
+### Tag: package-2016-09
+
+These settings apply only when `--tag=package-2016-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-09'
+input-file:
+- preview/2016-09-01/searchservice.json
+```
+
+### Tag: package-2015-02-preview
+
+These settings apply only when `--tag=package-2015-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-02-preview'
+input-file:
+- preview/2015-02-28-preview/searchservice.json
+```
+
+### Tag: package-2015-02
+
+These settings apply only when `--tag=package-2015-02` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-02'
+input-file:
+- preview/2015-02-28/searchservice.json
+```
+
+---
+# Code Generation
+
+!!! READ THIS !!!
+This swagger is not yet ready for languages other than C#.
+!!! READ THIS !!!
+
+
+## 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.Search
+ clear-output-folder: true
+ output-folder: $(csharp-sdks-folder)/Search/DataPlane/Microsoft.Azure.Search/GeneratedSearchService
+```
diff --git a/specification/search/data-plane/readme.md b/specification/search/data-plane/readme.md
deleted file mode 100644
index bb53961327dd..000000000000
--- a/specification/search/data-plane/readme.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# SearchClient
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for SearchClient.
-
-
-
----
-## Getting Started
-To build the SDK for SearchClient, 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 SearchClient API.
-
-C# packages this RP a little different from the others, so the following defaults don't apply to it.
-
-``` yaml !$(csharp)
-title: SearchClient
-description: Search Client
-openapi-type: data-plane
-tag: package-2016-09
-```
-
-
-### Tag: package-2016-09
-
-These settings apply only when `--tag=package-2016-09` is specified on the command line.
-
-``` yaml $(tag) == 'package-2016-09'
-input-file:
-- Microsoft.Search/preview/2016-09-01/searchindex.json
-- Microsoft.Search/preview/2016-09-01/searchservice.json
-```
-
-### Tag: package-2015-02-preview
-
-These settings apply only when `--tag=package-2015-02-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-02-preview'
-input-file:
-- Microsoft.Search/preview/2015-02-28-preview/searchindex.json
-- Microsoft.Search/preview/2015-02-28-preview/searchservice.json
-```
-
-### Tag: package-2015-02
-
-These settings apply only when `--tag=package-2015-02` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-02'
-input-file:
-- Microsoft.Search/preview/2015-02-28/searchindex.json
-- Microsoft.Search/preview/2015-02-28/searchservice.json
-```
-
-
----
-# Code Generation
-
-
-## 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.Search
- output-folder: $(csharp-sdks-folder)/Search/DataPlane/Microsoft.Azure.Search/Generated$(search-folder)
- clear-output-folder: true
-```
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCheckNameAvailability.json
new file mode 100644
index 000000000000..aafaa0f8a8e8
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid",
+ "checkNameAvailabilityInput": {
+ "name": "mysearchservice",
+ "type": "searchServices"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCreateOrUpdateService.json
new file mode 100644
index 000000000000..8a0a9fd5a44e
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCreateOrUpdateService.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "hostingMode": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties":{
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties":{
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCreateQueryKey.json
new file mode 100644
index 000000000000..b010a15e91cc
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchCreateQueryKey.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "name": "Query key for browser-based clients",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Query key for browser-based clients",
+ "key": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchDeleteQueryKey.json
new file mode 100644
index 000000000000..3416a0f45951
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchDeleteQueryKey.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "key": "",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "204": { },
+ "404": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchDeleteService.json
new file mode 100644
index 000000000000..585c69cdd512
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchDeleteService.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "204": { },
+ "404": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchGetAdminKeys.json
new file mode 100644
index 000000000000..e2f7104c4cee
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchGetAdminKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchGetService.json
new file mode 100644
index 000000000000..d47a0b32f0ed
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchGetService.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties":{
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchListQueryKeysBySearchService.json
new file mode 100644
index 000000000000..8b04d5f01bcb
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchListQueryKeysBySearchService.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Query key for browser-based clients",
+ "key": ""
+ },
+ {
+ "name": "Query key for mobile clients",
+ "key": ""
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchListServicesByResourceGroup.json
new file mode 100644
index 000000000000..0c494d8e6ab1
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchListServicesByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties":{
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2",
+ "name": "mysearchservice2",
+ "location": "eastus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "basic"
+ },
+ "properties":{
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchRegenerateAdminKey.json
new file mode 100644
index 000000000000..c7fccba9703e
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchRegenerateAdminKey.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "keyKind": "primary",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchUpdateService.json
new file mode 100644
index 000000000000..28492fba6b7f
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/examples/SearchUpdateService.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-08-19",
+ "subscriptionId": "subid",
+ "service": {
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "properties": {
+ "replicaCount": 2
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties":{
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json
index ca83be9ddfb3..517bbe689730 100644
--- a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json
@@ -10,12 +10,10 @@
"https"
],
"consumes": [
- "application/json",
- "text/json"
+ "application/json"
],
"produces": [
- "application/json",
- "text/json"
+ "application/json"
],
"security": [
{
@@ -36,12 +34,40 @@
}
},
"paths": {
+ "/providers/Microsoft.Search/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available REST API operations of the Microsoft.Search provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": {
"post": {
"tags": [
"AdminKeys"
],
"operationId": "AdminKeys_Get",
+ "x-ms-examples": {
+ "SearchGetAdminKeys": { "$ref": "./examples/SearchGetAdminKeys.json" }
+ },
"description": "Gets the primary and secondary admin API keys for the specified Azure Search service.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -68,12 +94,6 @@
"description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform any operations on your Search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.",
"schema": {
"$ref": "#/definitions/AdminKeyResult"
- },
- "examples": {
- "application/json": {
- "primaryKey": "",
- "secondaryKey": ""
- }
}
},
"default": {
@@ -91,6 +111,9 @@
"AdminKeys"
],
"operationId": "AdminKeys_Regenerate",
+ "x-ms-examples": {
+ "SearchRegenerateAdminKey": { "$ref": "./examples/SearchRegenerateAdminKey.json" }
+ },
"description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -132,12 +155,6 @@
"description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.",
"schema": {
"$ref": "#/definitions/AdminKeyResult"
- },
- "examples": {
- "application/json": {
- "primaryKey": "",
- "secondaryKey": ""
- }
}
},
"default": {
@@ -155,6 +172,9 @@
"QueryKeys"
],
"operationId": "QueryKeys_Create",
+ "x-ms-examples": {
+ "SearchCreateQueryKey": { "$ref": "./examples/SearchCreateQueryKey.json" }
+ },
"description": "Generates a new query key for the specified Search service. You can create up to 50 query keys per service.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -188,13 +208,7 @@
"description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
"schema": {
"$ref": "#/definitions/QueryKey"
- },
- "examples": {
- "application/json": {
- "name": "Query key for browser-based clients",
- "key": ""
- }
- }
+ }
},
"default": {
"description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
@@ -214,6 +228,9 @@
"nextLinkName": null
},
"operationId": "QueryKeys_ListBySearchService",
+ "x-ms-examples": {
+ "SearchListQueryKeysBySearchService": { "$ref": "./examples/SearchListQueryKeysBySearchService.json" }
+ },
"description": "Returns the list of query API keys for the given Azure Search service.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -240,21 +257,6 @@
"description": "All query keys for the given Search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
"schema": {
"$ref": "#/definitions/ListQueryKeysResult"
- },
- "examples": {
- "application/json": {
- "value": [
- {
- "name": "Query key for browser-based clients",
- "key": ""
- },
- {
- "name": "Query key for mobile clients",
- "key": ""
- }
- ],
- "nextLink": null
- }
}
},
"default": {
@@ -272,6 +274,9 @@
"QueryKeys"
],
"operationId": "QueryKeys_Delete",
+ "x-ms-examples": {
+ "SearchDeleteQueryKey": { "$ref": "./examples/SearchDeleteQueryKey.json" }
+ },
"description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -325,6 +330,9 @@
"Services"
],
"operationId": "Services_CreateOrUpdate",
+ "x-ms-examples": {
+ "SearchCreateOrUpdateService": { "$ref": "./examples/SearchCreateOrUpdateService.json" }
+ },
"description": "Creates or updates a Search service in the given resource group. If the Search service already exists, all properties will be updated with the given values.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -364,56 +372,12 @@
"description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
"schema": {
"$ref": "#/definitions/SearchService"
- },
- "examples": {
- "application/json": {
- "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-service-name-here",
- "name": "your-service-name-here",
- "location": "westus",
- "type": "Microsoft.Search/searchServices",
- "tags": {
- "app-name": "My e-commerce app"
- },
- "sku": {
- "name": "standard"
- },
- "properties":{
- "replicaCount": 3,
- "partitionCount": 1,
- "status": "provisioning",
- "statusDetails": "",
- "hostingMode": "default",
- "provisioningState": "provisioning"
- }
- }
}
},
"201": {
"description": "If you requested creation of a free Search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
"schema": {
"$ref": "#/definitions/SearchService"
- },
- "examples": {
- "application/json": {
- "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-service-name-here",
- "name": "your-service-name-here",
- "location": "westus",
- "type": "Microsoft.Search/searchServices",
- "tags": {
- "app-name": "My e-commerce app"
- },
- "sku": {
- "name": "standard"
- },
- "properties":{
- "replicaCount": 3,
- "partitionCount": 1,
- "status": "provisioning",
- "statusDetails": "",
- "hostingMode": "default",
- "provisioningState": "provisioning"
- }
- }
}
},
"default": {
@@ -425,11 +389,71 @@
},
"x-ms-long-running-operation": true
},
+ "patch": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Update",
+ "x-ms-examples": {
+ "SearchUpdateService": { "$ref": "./examples/SearchUpdateService.json" }
+ },
+ "description": "Updates an existing Search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Search service to update."
+ },
+ {
+ "name": "service",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ },
+ "description": "The definition of the Search service to update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
"get": {
"tags": [
"Services"
],
"operationId": "Services_Get",
+ "x-ms-examples": {
+ "SearchGetService": { "$ref": "./examples/SearchGetService.json" }
+ },
"description": "Gets the Search service with the given name in the given resource group.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -456,28 +480,6 @@
"description": "The Search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.",
"schema": {
"$ref": "#/definitions/SearchService"
- },
- "examples": {
- "application/json": {
- "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-service-name-here",
- "name": "your-service-name-here",
- "location": "westus",
- "type": "Microsoft.Search/searchServices",
- "tags": {
- "app-name": "My e-commerce app"
- },
- "sku": {
- "name": "standard"
- },
- "properties":{
- "replicaCount": 3,
- "partitionCount": 1,
- "status": "running",
- "statusDetails": "",
- "hostingMode": "default",
- "provisioningState": "succeeded"
- }
- }
}
},
"default": {
@@ -493,6 +495,9 @@
"Services"
],
"operationId": "Services_Delete",
+ "x-ms-examples": {
+ "SearchDeleteService": { "$ref": "./examples/SearchDeleteService.json" }
+ },
"description": "Deletes a Search service in the given resource group, along with its associated resources.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -542,6 +547,9 @@
"nextLinkName": null
},
"operationId": "Services_ListByResourceGroup",
+ "x-ms-examples": {
+ "SearchListServicesByResourceGroup": { "$ref": "./examples/SearchListServicesByResourceGroup.json" }
+ },
"description": "Gets a list of all Search services in the given resource group.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
@@ -565,52 +573,6 @@
"description": "The operation succeeded. The response contains the list of all Search service definitions for the given resource group.",
"schema": {
"$ref": "#/definitions/SearchServiceListResult"
- },
- "examples": {
- "application/json": {
- "value": [
- {
- "id": "/subscriptions/